Первый опыт в программировании, 2005 год

Энциклопедия школьника 5-11 класс по физике, химии, информатике и чему-то ещё рассказывала про Borland C++ Builder 4 и основы ООП, немного было про интернет.

Borland C++ Builder - это RAD (rapid application development) - средство, позволяющее "рисовать" интерфейс программ, затем - писать код. Основные идеи были понятны из энциклопедии, одна беда - где же взять эту среду разработки?

Надо найти! Надо научиться программировать!

Надо сказать, что в нашем маленьком городке (г. Куса) просто не оказалось ничего для программирования! Пришлось обследовать соседний Златоуст в одну из поездок по магазинам с родителями. Попался мне диск - визуальное программирование с Delphi 5!

Ещё там были некоторые простые утилитки, уже не помню, какие. Я тогда вроде бы всё пробовал, но разобрался не во всём - всё было на английском, а я учил в школе немецкий.

Что хорошо запомнилось - так это программка Morfit World Builder. Она позволяла создавать трёхмерные модели мира, и управлять какими-то объектами в этом мире. Жаль, тогда у меня было очень мало опыта, а так глядишь, игрушку бы какую-нибудь написал))

Картинку пришлось найти в интернете. Своих файлов уже не найти - с тех пор комп пережил не одну переустановку ОС - Win XP убивалась раз за разом, ставились линуксы, снова XP, и так далее...

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

Рисовал интерфейс программы, пробовал рисовать по канве (Canvas), это меня невероятно забавляло) Можно ведь в цикле каждой точке присвоить свой цвет, например, в зависимости от координат. Получались разнообразные загогулины. А если повесить процедуру перерисовки формы на таймер и внести какой-то счётчик, который будет менять рисуемую картинку при каждом выполнении таймера - можно и скринсейвер запилить! Ужасный, но рабочий. Для этого надо лишь переименовать exe в scr, поддержать параметры запуска - чтоб хранитель экрана умел заходить в свои настройки, ну и положить к остальным, настоящим собратьям.

Что я понял ещё из энциклопедии и что помогло мне изучать Delphi - то что в таких средах разработки есть инспектор объектов, в котором можно менять практически все параметры, и через который можно привязываться к событиям, поддерживаемым объектами. Объект - это само окно, кнопка, поле ввода, меню, контекстное меню, таймер... Методом тыка я узнал слова Height и Width, разобрался с цветами, видимостью (Visible), научился создавать процедуры - обработчики событий через инспектор объектов.

В Delphi (как и в его предке - Паскале) оператор присваивания это := , а сравнение переменных делается через =, например

... где-то в коде..

Edit1.text := 'Введите текст';

А например по таймеру мы проверяем, что ввёл пользователь и выводим восторженное сообщение, если он ввёл ABC:

if Edit1.text = 'ABC' then showMessage('ABC !');

Совершенно дурацкий пример, но показывает капельку языка Delphi/Pascal, для начала сойдёт)

Переменные объявляются после ключевого слова var перед блоком begin .. end;

Пример процедуры:

procedure CheckText(b, c: integer); // за двойной косой чертой - комментарий. Тут мы получаем извне 2 целочисленных переменных

var

a: integer; // переменная целого типа

begin

a := b + c;

Form1.Edit1.text := IntToStr(a); //Обращаемся к полю ввода на форме программы и записываем туда переменную а, преобразованную в текст.

end;

Типы данных в делфи есть такие:

  • Integer — целые числа.
  • Real — целые и дробные числа.
  • Boolean — логический тип.
  • Char — символьный тип данных (один символ, часть строки)
  • String — строковой тип данных (радость-то какая, нормальные строки, не то что в Си)

P.S.

Я практически всё забыл из Delphi, мне приходится ходить в гугл и подглядывать на чужие статьи и исходники. Но и до своих кусков кода я доберусь, как только найду, где они есть)