Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






End Sub. Вот полный листинг того, что получилось






Вот полный листинг того, что получилось. Кто хочет, может скачать исходник примера вверху страницы.

Option Explicit

Private Sub Form_Load()
Form1.Caption = " Часики"
Label1.Caption = Second(Time)
Label2.Caption = Minute(Time)
Label3.Caption = Hour(Time)
Timer1.Enabled = True

Zero
End Sub

Private Sub Timer1_Timer()
Label1.Caption = Label1.Caption + 1
If Label1.Caption > 59 Then
Label1.Caption = " 0"
Label2.Caption = Label2.Caption + 1
End If
If
Label2.Caption > 59 Then
Label2.Caption = " 0"
Label3.Caption = Label3.Caption + 1
End If
If
Label3.Caption > 23 Then Label3.Caption = " 0"
Zero
End Sub

Private Sub Zero()
If Len(Label1.Caption) < 2 Then Label1.Caption = " 0" & Label1.Caption
If Len(Label2.Caption) < 2 Then Label2.Caption = " 0" & Label2.Caption
If Len(Label3.Caption) < 2 Then Label3.Caption = " 0" & Label3.Caption
End Sub

Теперь вот что. Тебе надо самостоятельно разобраться с другой программой – «Однорукий бандит». Если сможешь - будешь программировать, если нет, читай все сначала. Я даю исходник с подробнейшими-преподробнейшими комментариями. Скачай его здесь.
«Однорукий бандит» - имитация работы известного аппарата для азартных игр. В трех Лейблах отображаются меняющиеся цифры от 1 до 7. Для работы с ними используются три переменные Number. Их изменение управляется тремя таймерами. Первоначально интервалы у таймеров одинаковы – 10 мск. В трех переменных Zamedlenie генерируются случайные числа.

Zamedlenie1 = Int(Rnd * 20) + 10

Работает это так. Rnd генерирует псевдослучайное число от 0 до 1. На двадцать умножаем, чтобы получить целую часть числа (можно умножать на что угодно, но не меньше 10, а то не получится целая часть). Функция Int отбрасывает дробную часть. Прибавляем в конце 10, чтобы исключить значение 0, а то таймер не остановится. Т.е., если Rnd генерирует, например, число 0, 156, то

Zamedlenie1= Округляем (0, 156*20) + 10 = 3 + 10 = 13. Очень просто.

При каждом срабатывании таймераувеличивается его интервал на значение замедления, пока интервал не становится больше 300 (это задано программно: Timer1.Interval > 300

После этого таймер выключается. Чтобы узнать, все ли таймеры выключились, я использую переменную Flag, которая накапливает в себе количество выключившихся таймеров. Когда Flag=3, считаем, что все три таймера закончили работу (а так оно и есть) и начинаем обрабатывать результаты (подпрограмма Raschet()). Изначальный капитал игрока хранится в переменной Summa, которая при различных выигрышах изменяется на сумму трех переменных Bonus, а при проигрыше на переменную BonusMinus. Почему ее значение отрицательное? Просто мне так захотелось, хотя это, конечно, совершенно необязательно. В Лейблах 4 и 5 выводятся всякие прикольные надписи, в зависимости от результата игры. Ну и кроме того, чтобы во время работы таймеров кнопка не нажималась, она, по состоянию переменной FlagClick, либо позволяет запустить таймеры, либо меняет свою надпись.

После того, как капитал игрока исчерпан, мы переходим к процедуре прекращения игры EndOfGame(), и в ней кнопка блокируется. Дальнейшая игра при этом невозможна.

В этой программе мы впервые объявляем переменные. Ничего в этом сложного нет. Главное, чтоб тип переменной приблизительно соответствовал нашим надобностям. Просто посмотри, как это деляется.

Ну вот, практически и все. Остальное ты должен додумать сам. Удачи.

 

 

ASCII-коды.

В этой главе мы попробуем поработать с объектом формы ScrollBar'ом. А попутно будем знакомится с новыми операторами и прочей фигней. Все рассмотрим на примере программы Reader. Объясняю смысл. Мы в текстовое поле Text1 будем записывать различные символы (буковки, циферки и может даже значки), а наша программа будет брать их по одному и представлять в виде ASCII-кода. В этой программке мы заодно разберем и цикл For..Next.

Что такое ASCII-код? Как известно, компьтер буковок-то и не различает. А чтобы он отличал А от Б, каждому символу присваивается свой ASCII-код. Например строчная латинская буква a имеет код 97, а заглавная латинская А - 65. Всего кодов 255: с 0 по 31 - это управляющие коды, такие, как табуляция, возврат каретки и т.п.; с 32 по 127 -это символу буковок, циферек и знаков и всяких знаков препинания; с 128 по 255 - это символы псевдографики, иностранные алфавиты (расширенная таблица символов). И вот когда мы шлепаем по клавиатуре, она, т.е. клава, и генерирует ASCII-код того, что нарисовано на кнопках.

Чтобы узнать конкретный ASCII-код имеющегося у нас символа, используется функция

Asc (" символ")

А, чтобы наоборот, узнать, какой символ соответствует конкретному коду, есть обратная функция

Chr (номер кода)

Эту теоретическую байду должен знать каждый уважающий себя пацан.

Полоса прокрутки ScrollBar.

Если ты обратил внимание, почти любая программа под Windows имеет такие ползунки, позволяющие пользователю перемешаться по данным вверх-вниз или влево-вправо. Есть они и у нас. Называется этот объект полоса прокрутки ScrollBar. Сам объект получает имя по умолчанию VScroll1, если это вертикальный ползунок, или HScroll1, если - горизонтальный. Свойства и события у обоих одинаковые, поэтому, чтобы не раздувать код, используем один СкроллБар - вертикальный. Я использую в основном его.

Итак, основные рабочие свойства ScrollBar это:

.Value - это главное значение, оно меняется, когда мы двигаем ползунок ScrollBar' а.

.Max - задает максимальное значение, до какого будет менятся значение.Value. Главный недостаток этого объекта в том, что значение.Max, а стало быть и.Value не моджет превышать 32767. Это всегда надо учитывать при работе с этим объектом.

.Min - задает минимальное значение. Value. Здесь тоже ограничения до -32768.

.SmallChange - задает, насколько меняется .Value, если мы кликаем мышью по стрелочкам вверху или внизу объекта ScrollBar

.LargeChange - задает, насколько меняется. Value, если мы кликаем мышью по полю скроллбара, а не по стрелочке. т.е. соответствует, как-бы листанию страниц.

Чтобы реально посмотреть, как работает этот объект, создадим новый проект и положим на форму Text1 и VScroll1. Затем дважды щелкнем мышью по объекту VScroll1. У нас откроется окно кода и создастся процедура VScroll1_Change().

Впишем в нее такую строчку кода: Text1.Text = VScroll1.Value и запустим программу. Как только мы начинаем двигать ползунок, в текстовом поле отражается значение VScroll1.Value от 0 до 32767 (поскольку мы ничего не задали иначе.

Остановим программу и создадим процедуру Form_Load(), выбрав в верхнем левом окне кода значение Form и щелкнув по нему. Впишем в эту процедуру значения свойств, о которых мы только-что говорили. Должно получиться следующее:

Option Explicit

Private Sub Form_Load()
VScroll1.Value = 0
VScroll1.Max = 32767
VScroll1.Min = -32768
VScroll1.LargeChange = 100
VScroll1.SmallChange = 1
End Sub

Private Sub VScroll1_Change()
Text1.Text = VScroll1.Value






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.