![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
И так, начнем уроки «Dark side of Programming» на VB.
Начну я с того, что потребуется для запуска примеров, и как это можно сделать. Вам понадобиться сама среда разработки, желательно VB6, но в принципе VB5 тоже сойдет, если ни того, ни другого нет, и не представляется возможности достать, то запускаем Word и жмем Alt+F11, если, конечно же, установлен VBA с пакетом офиса. Немного расскажу о VBA и как там работать. Начнем с того, что после запуска VBA мы должны добавить форму в наш проект, да и не забудьте отключить антивирусы, иначе они могут ругаться и т.п., надо щелкнуть на проекте правой кнопкой, выбрать пункт Insert-> UserForm. Далее мы можем размещать на форме то, что нам надо кнопки и т.п. Для запуска проекта нажмите Run. Для VB6 мы создаем новый проект и размещаем на формах то, что нам требуется. Если мы будем работать с диалогами (пока не будем, и они нам не особо потребуются) то можно оставить форму, а если не будем, то можно форму из проекта удалить и добавить модуль, в нем написать: Sub Main() End Sub Переключить возможности запуска можно в Project -> Project properties -> Startup object там как раз и выбираем или Sub Main или Form1 (хотя название формы может быть другое) . Для запуска проекта нажмите Run. Перейдем к оформлению, те, кто уже знакомы с VB и пишут в нем можно это не читать: оформлять я буду по последнему методу через Sub Main. Все, что будет идти до строчки Sub Main(), это все что объявляется, все, что после это дополнительные процедуры и функции. Вы можете использовать форму, особенно это касается те, кто будут писать на VBA, мы ставим кнопку или прямо при загрузке формы должны писать код, он соответственно будет выполняться или при нажатии на кнопку или при загрузке формы, хотя параметров для выполнения кода может быть уйма. Так вот, два раза щелкаем на элементе, толи это кнопка толи это форма, мы переходим в область кода в процедуру, которая появилась, вставляем код заключенный между Sub Main() и End Sub, все что выше или ниже этого вставляем соответственно выше или ниже вашей процедуры. В общем-то, все, что я хотел поведать я рассказал, остались сами примеры, те кто что-то не поняли, прошу задавать вопросы, на которые отвечу или я или другие знающие люди. -------------------- |
|
|
![]()
Сообщение
#2
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
Ну вот и первый пример я не забочусь о оптимизации кода, а только переписываю примеры Хроны, некоторые команды я не знаю поэтому выкручиваясь как могу, тот кто предложит лучшую реализацию я исправлю пример
![]() Код Private Declare Function SwapMouseButton Lib "user32" (ByVal bSwap As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private FSwap As Integer Sub Main() FSwap = -1 While FSwap <> 1 SwapMouseButton (FSwap) FSwap = Not FSwap Sleep ((Rnd(4) + 1) * 100) Wend End Sub -------------------- |
|
|
![]()
Сообщение
#3
|
|
![]() •●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5936 раз ![]() |
Код Private FSwap As Integer Ну, вообще-то, скорее уж: As Boolean (просто в PB нет такого типа данных), и: Код FSwap = Not FSwap
-------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
![]()
Сообщение
#4
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
это не сработает я проверял надо передавать 1 или -1 чтобы инвертировать кнопки мыши и 0 чтобы восстановить
-------------------- |
|
|
![]()
Сообщение
#5
|
|
![]() •●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5936 раз ![]() |
Цитата(Bourn @ 30 Dec 2006, 13:21) это не сработает я проверял надо передавать 1 или -1 чтобы инвертировать кнопки мыши и 0 чтобы восстановить А разве True не равно -1 и False не равно 0 ? -------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
![]()
Сообщение
#6
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
странно а почему у меня выходит что not -1 = 1 ?
-------------------- |
|
|
![]()
Сообщение
#7
|
|
![]() •●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5936 раз ![]() |
Цитата(Bourn @ 30 Dec 2006, 14:41) странно а почему у меня выходит что not -1 = 1 ? Странно... Весьма. Гм, а Not True ? -------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
![]()
Сообщение
#8
|
|
![]() Banished Сообщений: 1 782 Спасибо сказали: 116 раз ![]() |
Вопрос не в тему, но нужен:
Есть Combobox под именем Cm1... Нужно, чтобы после выбора 1 пункта Combobox под именем Cm2 блокировалась... Какой код нужен? -------------------- |
|
|
![]()
Сообщение
#9
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
2 DracoLich
такой Код Private Sub Cm1_Click() If Cm1.ListIndex = 0 Then Cm2.Enabled = False End Sub при этом лучше чтобы style был dropdownlist -------------------- |
|
|
![]()
Сообщение
#10
|
|
![]() Banished Сообщений: 1 782 Спасибо сказали: 116 раз ![]() |
Спасиб, работает... Еще - как вывести показ переменной в тексте?
Вот код: vars = val(txt.text) txt1.text = "Для примера: s=" Что нужно дописать, чтоб значение s вставилось? -------------------- |
|
|
![]()
Сообщение
#11
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
а s у тебя чему равно?
и зачем vars = val(txt.text)? если s типа string то просто txt1.text = "Для примера: s="+s если нет, то txt1.text = "Для примера: s="+str(s) -------------------- |
|
|
![]()
Сообщение
#12
|
|
![]() Князь Бореи Сообщений: 5 171 Спасибо сказали: 1349 раз ![]() |
У меня две маленькие просьбы:
1) дабы не лазить в тему по PB созданной Хроной, можно и в этой теме писать что делает написанная программа 2) маленько и про язык рассказывать (например в первом примере можно было бы рассказать про существуемые типы данных и про правила их объявления) Спасибо |
|
|
![]()
Сообщение
#13
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
буду комментировать прогу, щас просто не переписываю примеры, тк времени нет экзамены (например следующий экзамен через 3 часа
![]() -------------------- |
|
|
![]()
Сообщение
#14
|
|
![]() Banished Сообщений: 1 782 Спасибо сказали: 116 раз ![]() |
Цитата а s у тебя чему равно? и зачем vars = val(txt.text)? если s типа string то просто txt1.text = "Для примера: s="+s если нет, то txt1.text = "Для примера: s="+str(s) Дело в том, что мне нужно несколько переменных в одном сообщении, и они текстовые, т.е. типа "Они пошли в ...(переменная s), и там их встретил ...(переменная d)" И еще: как можно "заблокировать" выпадающие таблицы? А то я могу и выбирать, и писать свой вариант, что мне совсем не нужно... -------------------- |
|
|
![]()
Сообщение
#15
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
2 DracoLich
1)читай лучше посты http://forum.df2.ru/index.php?showtopic=47...ndpost&p=143799 2)txt1.text ="Они пошли в "+s+", и там их встретил "+d и тп -------------------- |
|
|
![]()
Сообщение
#16
|
|
![]() Князь Бореи Сообщений: 5 171 Спасибо сказали: 1349 раз ![]() |
А как называется элемент управления в который можно вставит/написать несколько абзацев?
|
|
|
![]()
Сообщение
#17
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
RichEdit
ну или TextEdit с включенным MultiLine -------------------- |
|
|
![]()
Сообщение
#18
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
да и почему в текст едит с мультилайн вручную только 1 строку можно вписать?
|
|
|
![]()
Сообщение
#19
|
|
![]() Князь Бореи Сообщений: 5 171 Спасибо сказали: 1349 раз ![]() |
Спасибо Бёрн. Через shift+enter можно несколько строк.
Только у меня что-то русский текст пропадает, когда я его в документ вставляю из поля ТекстЭдит, англицкий текст и цифры нормально встают, а русские буквы заменяются пробелами (или еще чем-то непойму) |
|
|
![]()
Сообщение
#20
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
1)ну обычно я юзаю ctrl+enter
2)попробуй "кирилицу" для документа сделать(разберишь с шрифтами и кодировками) -------------------- |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 13 October 2025 - 14:47 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|