Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Самое доступное обучение Delphi (от са-а-амого начала)


Информационный Канал Subscribe.Ru

Здравствуйте вновь, уважаемые подписчики!

В этот раз, как и было обещано, мы всерьез возьмемся за изучение Delphi, а точнее за изучение непосредственно языка программирования Паскаль.

В прошлом выпуске мы затронули тему данных и продолжим ее с изучения таких элементов языка как переменные, типы данных, а также затронем тему команд.

Итак, переменные.

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

Перед использованием переменной о ней нужно предварительно сообщить компьютеру, то есть объявить ее:

Имя переменной : Тип переменной;

Пример:

Var

A : integer;

B : integer;

C : real;

New : string;

Istrue : boolean;

 

В левой части описания указывается идентификатор переменной - ее уникальное имя. На идентификаторы переменной, как и на все другие идентификаторы в Delphi наложены определенные ограничения:

В качестве идентификатора переменной может использоваться набор символов, состоящий из букв, цифр и знаков подчеркивания _ Значащими символами являются первые 255. ( мало конечно, но что поделаешь…) Имя должно: начинаться с буквы или знака подчеркивания, не содержать пробело и не являться ключевым словом. Строчные и прописные буквы в Delphi не различаются.

Имена для переменных желательно брать не очень большие, но точно отражающие их смысл, например, для переменной обозначающей количество денег подойдут названия типа money, для количества сделанных ходов или действий – count и тому подобные. Конечно, если программа небольшая, то подобная дотошность может быть излишней, но когда дело доходит до объемных кодов, легко запутаться в быстро создаваемых S, A, B, D1, FG, VB, W12, N и им подобных.

Теперь о левой части описания. Как уже было сказано, переменные могут служить для хранения как числовой так и текстовой информации, могут иметь даже несколько полей с текстовыми и с цифровыми значениями, поэтому необходимо явно указать, какой тип данных будет храниться в этой переменной.

Типы данных в Delphi делятся на простые и составные.

Мы остановимся на простых типах данных:

  • Числовые.
  • Символьные.
  • Строковые.
  • Логические.

Числовые типы данных в свою очередь делятся на целочисленные и дробные, а также делятся по протяженности и занимаемому размеру:

Целочисленные:

Integer (-2147483648…2147483647)

Cardinal (0…4294967295)

Shortint (-128…127)

Smallint (-32768…32767)

Longint (то же, что и Integer);

Int64 (-263…263-1)

Byte ( 0…255)

Word (0…65535)

Longword (0…4294967295)

Дробные (вещественные):

Real (5.0e (-324)…1.7e (308))

Double (то же)

Extended ( 3.6e (-4951)…1.1e (4932))

И некоторые другие.

Символьные типы данных служат для хранения соответственно символов и обозначаются словом char. Запихнуть в символьный тип больше одной буквы (цифры) не получится, зато и размер у char совсем небольшой. При внесении значения его необходимо указывать в одинарных кавычках ('Ф'), иначе компилятор примет его за цифру, а если учесть, что вносилась буква, то…

Типы:

Char

AnsiChar

WideChar

 

Строковые типы данных отличаются от символьных тем, что могут хранить не одно, а довольно большое количество символов, т.е. внести можно будет и буквы, и слова, и предложения и т.д.

 

ShortString (255 символов)

AnsiString ( 2^31)

WideString (2^30)

 

И, наконец, логические или булевы переменные. Эти могут принимать только два значения True (правда) и False (ложь).

 

Boolean (true, false)

ByteBool

WordBool

LongBool

 

Если переменная корректно объявлена, то она может принимать

любые значения не выходящие за рамки ее типа. Присваиваются значения переменной с помощью команды :=

 

Примеры:

A := 5;

B := 135;

DFG := 11;

A := B;

C := B-1;

S := ’wert’;

Ch := S;

 

Другие простейшие команды (операции):

 

+, -, /, *, div, mod.

С первыми четырьмя все понятно, а div и mod расшифровываются как деление нацело (отсекается дробная часть) и нахождение остатка при делении соответственно.

 

Примеры:

A : integer;

B,C : integer;

A := 5;

B := a mod 3,

C := A div 3;

 

В результате B будет равно 2 (как остаток от деления 5 на 3), а С = 1.

Другие, более сложные типы данных и переменные от них рассмотрим в другой раз. Сейчас же попытаемся применить знания на практике. Для этого прежде придется ознакомиться поближе с Инспектором объектов.

Как уже было сказано, окно инспектора объектов разделено на две вкладки: свойства (Properties), и события (Events). Вкладка свойства (Properties) нужна для того, чтобы управлять свойствами объектов (компонентов). Вкладка Events – для управления реакцией объектов на внешние события. События связывают воздействия пользователя на компоненты с кодами реакции на эти воздействия. То есть события отражают любое изменение в программе (в системе целом).

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

procedure TForm1.Button1Click(Sender: TObject);

begin

end;

Курсор установится между begin и end, то есть там, где и пишут непосредственно ответные действия.

Теперь немного о том, как пользоваться свойствами.

Когда мы перетаскиваем на форму любой компонент, Delphi автоматически присваивает этому компоненту определенный идентификатор (имя компонента). К примеру, компонентам кнопки (Button) автоматически присваиваются имена: Button1, Button2 и т. д.

Вновь созданный компонент изначально обладает рядом стандартных делфовских свойств, таких как размеры этого компонента, цвет, размеры, позиция на форме, и т. д. Программист может получить доступ к этим свойствам указав идентификатор интересующего его компонента:

Имя компонента.Название свойства:=Новое значение;

К примеру,

Button1.caption:=’Кнопочка’;

В результате получаем надпись ‘Кнопочка’ на кнопке под именем Button1. Имя компонента – это тоже его свойство (Свойство Name), и нон тоже изменяемо.

Напишем теперь ряд простейших программ позволяющих закрепить полученные знания.

Программа1.

1) Создаем новый проект (File>New>Application)

2) Размещаем на форме компонент Button(Кнопка)

3) Ищем на вкладке Events Инспектора объектов событие OnMouseMove.

4) Двойной щелчок на ячейке справа. В открывшимся окне редактора кода между ключевыми словами begin и end пишем:

Button1.Caption:=’Нажми на меня!!!’;

5) Проверяем, что получилось (Ctrl+F9) и любуемся достигнутым результатом.

Разберем программу.

В начале мы разместили на нашей форме компонент кнопку. Delphi автоматически присвоила кнопке имя Button1. Следующим действием мы создали шаблон процедуры отвечающей на событие OnMouseMove (двойной щелчок напротив названия события).

Событие OnMouseMove означает изменение, происходящее в тот момент, когда курсор мыши находится над нашей кнопкой. И, наконец, последним действием мы в шаблоне этой процедуры прописываем ответные действия нашей кнопки. В данном случае это была команда:

Button1.Caption:=’Нажми на меня!!!’; что есть присваивание кнопке надписи ‘Нажми на меня!!!’

Программа2.

Теперь немного усложним программу. Научим нашу кнопку реагировать не на событие OnMouseMove, а на события OnMouseDown и OnMouseUp. Новые события означают зажатие левой кнопки мыши и ее отпускание соответственно. Сделаем теперь так, чтобы при зажатии кнопки появлялась надпись: ‘Отпустишь, и все взорвется!!!’ , а при отпускании форма пряталась. Для этого вновь лезем в Инспектор и находим там события OnMouseDown и OnMouseUp, и прописываем в первом

Button1.Caption:=’Отпустишь – все взорвется’; а во втором Form1.Visible:=false; (Свойству Видимость формы присваиваем значение false (так как тип у этого свойства логический, и принимает только два значения: Правда(True), и ложь(false).См. выше);

Запускаем, и пробуем зажать кнопку, а потом отпустить ее.

Заметим, что при этом программа не завершается, просто форма , становится невидимой. Для завершения нужно нажать Ctrl-f12.

На этом, наверное, на сегодня закончим, но вы со всем этим можете поэкспериментировать, если есть желание, например изменяя другие свойства( позицию компонента, размеры, имя, цвет и т.д.) или события( по щелчку, при создании формы, при ее изменении и т.п.) или меняя сам компонент(таблицы, картинки, фигуры…)

Наш сайт: http://www.image.h12.ru/

Ящик: Bakster@rin.ru

P.S. Неполадка с учебником сегодня будет исправлена.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delph007delph
Отписаться

В избранное