Страница 4 из 7

Добавлено: Вс май 11, 2008 10:21:17
\\Sergey//
Картинка у тебя, я так полагаю, на Image? :)
Используй вместо Image - PictureBox -- мерцания должны пропасть. ;-)

Добавлено: Вт май 13, 2008 16:44:49
P-cad
Мерцания исчезли, но появилась другая проблема. После того, как я заменил картинку на рiсbох (имя и другие атрибуты поставил, как было), прога вдруг перестала реагировать на нажатие клавиш ("private sub keydown"). Никаках условий там нет (кроме "if kеуСоdе = ..."). В чем может быть проблема?

Добавлено: Вт май 13, 2008 17:09:07
\\Sergey//
Твой код должен располагаться внутри процедуры Picture1_KeyDown, где Picture1 - имя контрола, который будет "принимать" нажатия клавиш.

В качестве примера:

Код: Выделить всё

Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)
    MsgBox KeyCode ' Выводим код нажатой клавиши
End Sub

Добавлено: Ср май 14, 2008 07:03:09
P-cad
Как я мог забыть такую простоту...

Функция CHR

Добавлено: Сб май 17, 2008 18:30:17
sevastianov
В VB есть функция Chr для возвращения символа, связанного с определенным числовым кодом.
А есть ли какая-нибудь API-функция позволяющая сделать то же самое, т.е. получить символ?
:roll:

Добавлено: Вс май 18, 2008 00:19:50
\\Sergey//
А смысл? :)
Можно отправить окну, который должен получить символ по его ASCII-коду сообщение WM_CHAR с помощью API-функции SendMessage.

Пример:

Код: Выделить всё

Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CHAR = &H102

Private Sub Command1_Click()
    Call SendMessage(Text1.hwnd, WM_CHAR, 65, ByVal 0&)
End Sub
На форме должны быть:
Command1 - кнопка
Text1 - текстовое поле

P.S. Но смысла в этом я, лично, не вижу. ;-)

Оно.

Добавлено: Вс май 18, 2008 09:11:33
sevastianov
Спасибо!
Это примерно то что надо.
Во всяком случае направление поиска указано.
:)

Добавлено: Пн май 19, 2008 21:25:11
P-cad
И теперь еще вопрос на тему изображений.
Как сохранить картинку из РiсturеВох в файл?

Добавлено: Пн май 19, 2008 22:26:31
\\Sergey//

Код: Выделить всё

SavePicture Picture1.Picture, "C:\1.bmp"

Добавлено: Вс июн 01, 2008 22:47:50
P-cad
Вот читаю сейчас исходники с одного сайта. Для увеличения, так сказать, объема знаний... И не могу понять одну вещь. Что значит "Option explicit" в начале некоторых кодов?
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?

Добавлено: Пн июн 16, 2008 05:45:04
gan
Cмотри MSDN:
When Option Explicit appears in a module, you must explicitly declare all variables using the Dim, Private, Public, ReDim, or Static statements. If you attempt to use an undeclared variable name, an error occurs atcompile time.
-когда в модуле есть Option Explicit, вы должны явно объявить все переменные, используя Dim, Private, Public, ReDim, or Static. Если попытаешься использовать необъявленное имя переменной, при компиляции выдаст ошибку.

If you don't use the Option Explicit statement, all undeclared variables are of Variant type unless the default type is otherwise specified with a Deftype statement.
-если Option Explicit не используешь, все необъявленные переменные будут типа Variant...
Удобная штука, если хочешь избежать путаницы с переменными. Например, если ошибёшься в одной букве, без Option Explicit будет создана новая переменная, которую потом будет сложно отследить, а так компилятор тебе скажет "Пардон, такой переменной не существует"

Добавлено: Пт авг 29, 2008 14:34:10
\\Sergey//
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
В Windows NT/2000/XP эта функция отсутствует.[/quote]

Добавлено: Пт авг 29, 2008 23:33:57
Foks
P-cad писал(а):Вот читаю сейчас исходники с одного сайта. Для увеличения, так сказать, объема знаний... И не могу понять одну вещь. Что значит "Option explicit" в начале некоторых кодов?
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
С данной функцией не работал, но возможно нужно вызывать RegisterServiceProcessA? В WinAPI суффиксы A (Ansi) и W (Unicode) дописываются, если функции передается строковый параметр.

Добавлено: Вт сен 30, 2008 23:29:21
Marvel
Всем доброго времени суток!!! Понимаю что мой вопрос прозвучит глупо, и мне скажут, что тема избита и пользуйся поиском....
Но проблема вот в чем у меня мк через Com к компу подключен отлично передает и принимает информацию от терминала. Пользуюсь Visual Basic 2005 в нем при помощи встроенного компонента SerialPort передаю на мк данные, а вот принимать их не получается.
У меня на мк на одном из входов появляется лог 1 от радиопульта, вот мне нужно что бы мой комп без (относительных) задержек отреагировал на нажатие кнопки пульта. МК все без проблем передает нажимаешь кнопку пульта и в терминале выскакивает сообщение о нажатии. Помогите пожалуйста, желательно использовать встроенный компонент SerialPort так должно быть попроще.

Добавлено: Чт ноя 13, 2008 00:48:14
zverotechnik
Глупейший вопрос: где можно скачать Visual Basic , полную версию и без всяких припонов?

Добавлено: Чт ноя 13, 2008 03:58:41
Секретный кот
В P2P сетях, вестимо. Там есть всё. Какая нынче последняя версия VB?

Добавлено: Ср ноя 19, 2008 14:40:13
\\Sergey//
Какая нынче последняя версия VB?
Visual Basic 2008 (Ну, или проще, VB9). ;-)

Добавлено: Ср ноя 19, 2008 19:26:26
Секретный кот
И такой есть.
ed2k://|file|Visual%20basic2008.rar|730824704|F1F45EAB7149D8EEA0FE4984AD7555AA|/
(пока не проверял)

Re: Visual Basic в вопросах и ответах

Добавлено: Чт дек 18, 2008 23:12:15
Satsuk
P-cad писал(а):Я занимабсь программированием на Visual Basic 6.0.
Подскажите, пожалуйста:
1. Почему он не хочет удалять файлы с атрибутом "для чтения" и файлы с названием, начинающимися с пробела?
вот код:
____________
Private Sub OPN click()
Dim FN as string
CD.ShowOpen
FN = CD.FileName
Kill (FN)
End Sub
____________
где OPN - кнопка, при нажатии которой появляется объект типа CommonDialog(имя - CD), а после открытия файл (FN - имя файла) удаляется.
2.Есть объект типа OLE с именем OLE1 типа "файл презентации". Есть кнопка (OPN), при нажатии которой программа выдаёт объект CommonDialog (CD) с фильтром файлов формата PPT(файлы презентаций). после открытия презентация должна показываться в OLE1. Но она не хочет. Где ошибка:
____________
Private Sub OPN click()
CD.ShowOpen
OLE1.SourceDoc = CD.FileName
End Sub
Извините, если вы занимаетесь такими вещами, может у вас есть код приема информации по последовательному порту (СОМ)в формате 8 бит данных,1стартовый и стоповый бит, 9600бод. Прога получает код и где-то его складывает. Спасибо зараннее

Добавлено: Пт дек 19, 2008 01:52:14
pirotehnick
В библиотеке NET есть стандартный класс SerialPort - это и есть класс для работы с COM портом.