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

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

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

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

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

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

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

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

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

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

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

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

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

Функция CHR

Сообщение sevastianov »

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

Оно.

Сообщение sevastianov »

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

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

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

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

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

SavePicture Picture1.Picture, "C:\1.bmp"
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
Аватара пользователя
P-cad
Нашел транзистор. Понюхал.
Сообщения: 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 будет создана новая переменная, которую потом будет сложно отследить, а так компилятор тебе скажет "Пардон, такой переменной не существует"
Аватара пользователя
\\Sergey//
Открыл глаза
Сообщения: 76
Зарегистрирован: Ср апр 25, 2007 08:56:09
Откуда: Москва

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

И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?

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

Сообщение Foks »

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


С данной функцией не работал, но возможно нужно вызывать RegisterServiceProcessA? В WinAPI суффиксы A (Ansi) и W (Unicode) дописываются, если функции передается строковый параметр.
Marvel
Родился
Сообщения: 17
Зарегистрирован: Ср сен 17, 2008 07:56:59
Откуда: Казахстан
Контактная информация:

Сообщение Marvel »

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

Сообщение zverotechnik »

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

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

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

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

Какая нынче последняя версия VB?

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

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

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

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

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

Сообщение pirotehnick »

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

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