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

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Открыл глаза
Аватара пользователя
Сообщения: 76
Зарегистрирован: Ср апр 25, 2007 08:56:09
Откуда: Москва

Сообщение \\Sergey// »

Картинка у тебя, я так полагаю, на Image? :)
Используй вместо Image - PictureBox -- мерцания должны пропасть. ;-)
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 166
Зарегистрирован: Вс фев 04, 2007 20:15:56

Сообщение P-cad »

Мерцания исчезли, но появилась другая проблема. После того, как я заменил картинку на рiсbох (имя и другие атрибуты поставил, как было), прога вдруг перестала реагировать на нажатие клавиш ("private sub keydown"). Никаках условий там нет (кроме "if kеуСоdе = ..."). В чем может быть проблема?
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 76
Зарегистрирован: Ср апр 25, 2007 08:56:09
Откуда: Москва

Сообщение \\Sergey// »

Твой код должен располагаться внутри процедуры Picture1_KeyDown, где Picture1 - имя контрола, который будет "принимать" нажатия клавиш.

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

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

Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)
    MsgBox KeyCode ' Выводим код нажатой клавиши
End Sub
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 166
Зарегистрирован: Вс фев 04, 2007 20:15:56

Сообщение P-cad »

Как я мог забыть такую простоту...
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср июн 06, 2007 07:02:13
Откуда: Ульяновск

Сообщение sevastianov »

В VB есть функция Chr для возвращения символа, связанного с определенным числовым кодом.
А есть ли какая-нибудь API-функция позволяющая сделать то же самое, т.е. получить символ?
:roll:
Клянусь Вискасом!
Контактная информация:
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 76
Зарегистрирован: Ср апр 25, 2007 08:56:09
Откуда: Москва

Сообщение \\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. Но смысла в этом я, лично, не вижу. ;-)
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
Реклама
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср июн 06, 2007 07:02:13
Откуда: Ульяновск

Сообщение sevastianov »

Спасибо!
Это примерно то что надо.
Во всяком случае направление поиска указано.
:)
Клянусь Вискасом!
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 166
Зарегистрирован: Вс фев 04, 2007 20:15:56

Сообщение P-cad »

И теперь еще вопрос на тему изображений.
Как сохранить картинку из РiсturеВох в файл?
Открыл глаза
Аватара пользователя
Сообщения: 76
Зарегистрирован: Ср апр 25, 2007 08:56:09
Откуда: Москва

Сообщение \\Sergey// »

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

SavePicture Picture1.Picture, "C:\1.bmp"
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 166
Зарегистрирован: Вс фев 04, 2007 20:15:56

Сообщение P-cad »

Вот читаю сейчас исходники с одного сайта. Для увеличения, так сказать, объема знаний... И не могу понять одну вещь. Что значит "Option explicit" в начале некоторых кодов?
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
gan
Открыл глаза
Аватара пользователя
Сообщения: 43
Зарегистрирован: Пн мар 24, 2008 15:36:17
Откуда: Сургут

Сообщение 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 будет создана новая переменная, которую потом будет сложно отследить, а так компилятор тебе скажет "Пардон, такой переменной не существует"
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 76
Зарегистрирован: Ср апр 25, 2007 08:56:09
Откуда: Москва

Сообщение \\Sergey// »

И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
В Windows NT/2000/XP эта функция отсутствует.[/quote]
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Сообщение Foks »

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

Сообщение Marvel »

Всем доброго времени суток!!! Понимаю что мой вопрос прозвучит глупо, и мне скажут, что тема избита и пользуйся поиском....
Но проблема вот в чем у меня мк через Com к компу подключен отлично передает и принимает информацию от терминала. Пользуюсь Visual Basic 2005 в нем при помощи встроенного компонента SerialPort передаю на мк данные, а вот принимать их не получается.
У меня на мк на одном из входов появляется лог 1 от радиопульта, вот мне нужно что бы мой комп без (относительных) задержек отреагировал на нажатие кнопки пульта. МК все без проблем передает нажимаешь кнопку пульта и в терминале выскакивает сообщение о нажатии. Помогите пожалуйста, желательно использовать встроенный компонент SerialPort так должно быть попроще.
Контактная информация:
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб ноя 08, 2008 06:15:17

Сообщение zverotechnik »

Глупейший вопрос: где можно скачать Visual Basic , полную версию и без всяких припонов?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки

Сообщение Секретный кот »

В P2P сетях, вестимо. Там есть всё. Какая нынче последняя версия VB?
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 76
Зарегистрирован: Ср апр 25, 2007 08:56:09
Откуда: Москва

Сообщение \\Sergey// »

Какая нынче последняя версия VB?
Visual Basic 2008 (Ну, или проще, VB9). ;-)
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки

Сообщение Секретный кот »

И такой есть.
ed2k://|file|Visual%20basic2008.rar|730824704|F1F45EAB7149D8EEA0FE4984AD7555AA|/
(пока не проверял)
Контактная информация:
Родился
Сообщения: 10
Зарегистрирован: Чт дек 18, 2008 19:18:59

Сообщение 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бод. Прога получает код и где-то его складывает. Спасибо зараннее
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

В библиотеке NET есть стандартный класс SerialPort - это и есть класс для работы с COM портом.
Контактная информация:
Ответить

Вернуться в «Интеграция с ПК»