Rambler's Top100


Виртуальный клуб начинающих программистов на Delphi


Заводь
Мелководье
Сокровищница
Рифы
Течения
Архивный грот
Дальние земли
Жемчужница
Ловцы жемчуга
Почтовый грот
Дельфинарий
Карта бухты

Rambler's Top100


Mastak.ru - качественный хостинг на двух континентах

The List of Russian Web Servers WebList.Ru

Первая программа за 5 минут. (Ну, или около того.)

Самая большая проблема начинающих - это незнание, куда приложить руки. Начинающий программист чаще всего не знает, какую бы программу ему написать. Вроде, как и нечего писать. Все уже написано. Но посмотрите на профессионалов. У них всегда есть куча проектов, которые следовало бы начать, еще одна куча, проектов не законченных. У них нет проблем, что писать. У них есть серьезная проблема, когда это все умудриться написать. И это не потому, что им заказывают программы. Не без этого. Просто настоящий программист видит, куда приложить свои усилия. Кому и какая программа нужна - это уже знания, которые не дадут программисту умереть с голоду. Один знакомый программист всегда говорит своим клиентам: "я всегда найду, как на свой кусок хлеба намазать ваш кусок масла". И он прав. Хороший программист всегда нужен. Вот и нам необходимо научиться видеть какую программу нужно писать в первую очередь. Да, хотя бы, видеть, что писать вообще.

Посмотрите по сторонам. Что нам не удобно делать. Вот именно туда и надо направить наши усилия.

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

Стартуем.

Открываем Delphi и начинаем новый проект. File => New => Application. Сразу сохраняем (пока не сохраняйте, а читайте) его под звучным именем DolphinsTimer. Обратите внимание, что Timer с большой буквы. Это правило хорошего тона. Мы не должны называть файл именами с пробелами - это естественно (для тех, кто уже когда-либо программировал), а мы хотим хорошее название, понятное. Ведь название программы это как название корабля. Помните из Врунгеля: "как корыто назовете, так оно и поплывет". Большой буквой мы отделили слова, из которых состоит наше название. Именно так мы и будем поступать впредь. Мы не раз увидим, как разные программисты используют одинаковые методы работы. Никто не может нам запретить делать по другому. Однако мало кто пытается изменить достаточно удобные правила поведения. Не будем и мы ломать правила хорошего тона программистов.

Итак, сохраняем. Лучше сразу нажать на клавишу Save All (или на панели инструментов, или в меню файл.). Она позволит нам сохранить как первый модуль, так и сам проект. Нажали? Смотрим дальше. Перед нами стандартное диалоговое окно сохранения. Лучше сразу разметить свой винчестер. Определить куда мы будем сохранять исходные файлы своих проектов. Будем считать, что вы заранее побеспокоились об этом.

(Кто этого не сделал - делайте скорее. А то от остальных отстанете.)

Открывайте проводник. Создайте папку Project и в ней еще одну DolphinsTimer. В первой будут сохраняться все папки проектов, ну а во второй естественно все файлы данного проекта.) Выбираем папку DolphinsTimer из папки Project. Даем название текущему модулю, например Main.pas (главный). Это будет наше главное окно. Следом появляется окно сохранения самого проекта (Если нет, значит, вы просто сохранили, а не сохранили все. Нажмите на "сохранить все".). Дадим ему имя DolphinsTimer и нажмем на кнопку сохранить. Начальные действия можно считать законченными.

Начинаем программировать, а вернее пока располагать визуальные компоненты по своим местам. Активируем (выбираем) форму (F12). (Будем считать, что вы уже понимаете, что такое форма, если нет, вернитесь в прошлую лекцию и посмотрите заново). Двойной щелчок на компоненте Panel страницы Standart и компонент уже находится на середине нашей формы. Переходим в объектный инспектор (F11) и убираем свойство Caption (заголовок). Оно нам будет только мешать.

Теперь помещаем панель на свое место. За это отвечает свойство Align. Необходимо изменить свойство Align, сделать его равным alClient. Затем, необходимо установить внешний и внутренний скосы. Для этого необходимо изменить свойства BevelInner и BevelOuter. (Помните правила хорошего тона? А ведь здесь тоже самое. Имя свойства состоит из двух разных слов и отделены заглавной буквой. Кто знаком с английским, тот уже прочитал, что это за слова Bevel - скос, Inner, Outer - внутренний, внешний соответственно). Также установим толщину бордюра (скоса). BorderWidth установим значение равное - 2.

Результат будет таким:

Снимем выделение с панели. Для того чтобы снять выделение с панели, мы нажимаем Esc, тем самым передаем так называемый фокус ввода родительскому компоненту, в данном случае самой форме. Раз уж мы находимся на форме, давайте и ей дадим удобоваримое имя. Например FormMain. (Опять тоже правило: ФормаГлавная). Теперь мы знаем, как называется наша форма, и в случае необходимости можем ее окликнуть. Тем более что этот случай скоро представиться.

Давайте возьмем за правило, после изменения какого-либо свойства, нажимать клавишу Enter. Лишним это не будет, а путаницы избежим. Вдруг Delphi не поймет, что мы уже закончили редактировать свойство. Она конечно умная, но зачем же ее напрягать по пустякам.

Теперь можно смело компилировать наш проект. Кто внимательно читал наш лекционный материал, а именно историю возникновения языков программирования, уже должен понимать, что такое компиляция. (Перевод с языка программирования в машинный код). Нажимаем кнопку Run (F9). Выглядит она в виде зеленого треугольника. Попробуйте найти самостоятельно ее на панели инструментов главной формы Delphi. (Не нашей главной формы, а главной формы Delphi.)

После компиляции мы увидим нашу первую программу запущенной. Вот она Delphi программа во всей красе. Не написав ни строчки кода, мы получаем полноценное окно со всеми свойствами обычного окна. Оно может, сворачиваться и восстанавливаться из иконки, имеет системное меню, вот только мы забыли изменить заголовок, и он по прежнему имеет имя FormMain. (У кого окно называется Form1 - значит вы забыли сменить имя (Name) у формы.). Закрываем свою программу, и меняем свойство формы "Caption" на что-нибудь более разумное. Например: "Моя первая программа". Обратите внимание, как меняется заголовок формы. Компилируем (F9). Вот это уже другой разговор. Закрываем программу и сохраняем свою работу (ctrl+s). Кстати, надеюсь, что когда говорится закрыть программу, вы закрываете свою программу, а не Delphi :о).

Меняем размер окна. Часы должны быть немного поменьше. Я так думаю. Вы можете думать, и по другому. Импровизируйте.
Активируем панель (Panel1). Двойной клик на компоненте Label в палитре компонентов. Теперь компонент на форме. Меняем свойство Caption на 00:00:00 и делаем размер шрифта побольше. Нажимаем на плюсик (+), рядом со свойством Font и выбираем свойство size. Установим его значение на собственный вкус. Выбираем свой любимый размерчик. Компонент куда то сместился. Поместим его на середину. Свойство Align устанавливаем в alClient, а свойство AlignMent в taCenter. В итоге label1 на середине формы. (Label1 это имя компонента, его можно подсмотреть в свойстве Name в инспекторе объектов). Мне, например, не нравиться шрифт который стоит по умолчанию. Меняю. Свойство Name устанавливаю в Times New Roman. Вы можете установить какой захотите, но помните, если вы подарите свою программу кому-нибудь. То у "кого-нибудь" может не оказаться вашего шрифта, и будет очень даже не то. Шрифт подберет сама винда. (Кто не знает, что такое винда, смотри слэнг на нашем сайте.) Не давайте ей никаких шансов самовольничать. Выбирайте стандартные шрифты. Сохраняем проект. Мышкой на панели инструментов или (ctrl + s). Лучше сразу save all. (Сохранить все. У меня это четвертая кнопка на панели инструментов.) Запоминайте! Скоро я не буду вас так опекать. Компилируем. Delphi откомпилирует и, как всегда, автоматически запустит проект на выполнение.

Странно, часы показывают 00:00:00. Это потому что мы таймер не поставили. Ставим таймер. Закрываем свою программу и устанавливаем компонент. Он находится на вкладке system. Двойной клик на компоненте и он уже на форме. Далее пишем свой первый кодинг. Это уже интересно. В инспекторе объектов выбираем вкладку Events (события). Двойной клик на событии OnTimer. Кстати обратили внимание, там только одно событие и есть. Компонент timer не балует нас событиями. Но компонент совсем не скучный, хоть и событий мало. Он достаточно часто используется. Итак смотрим, что получилось.
Delphi оказывается уже успела как следует поработать за нас. Перед вами так называемый листинг программы. Давайте не будем сейчас портить себе настроение изучая все что тут написано.

Нас интересует пока следующее.

Двойным щелчком в инспекторе объектов, мы вставили новую процедуру. (Вернее Delphi, хотя, смотря как воспринимать Delphi. Если воспринимать ее как продолжение себя. А ведь именно так должен поступить настоящий программист. Что называется слиться в экстазе со своей программной оболочкой.) Вот, что мы вставили в наш листинг.

procedure TFormMain.Timer1Timer(Sender: TObject);
begin

end;

Эта заготовка, которую любезно предоставила нам наша Delphi. Давайте разберем ее. Итак, первая строка говорит нам, что это процедура с именем Timer1Timer и процедура принадлежит компоненту FormMain (перед названием формы стоит буква T, это класс нашего компонента. Подробнее чуть позже). Обратите внимание на название процедуры - Timer1Timer. Первая часть - имя компонента, вторая часть - название события, только без On (Помните OnTimer). Но, это еще не все. В скобках указано (Sender: Tobject). Это означает, что процедура будет оперировать только одним объектом - Sender и принадлежит он классу TObject. Далее стоят begin and (и, значит :о)) end.
Вот именно между ними и будем писать наш кодинг. Пишем: Label1.Caption := FormatDateTime('hh:mm:ss',now). Но писать нужно тоже правильно. Напишите именно так, как на примере.

procedure TFormMain.Timer1Timer(Sender: TObject);
  begin
    Label1.Caption := FormatDateTime('hh:mm:ss',now)
  end;

Соблюдая все отступы. И еще. Совет. Не пользуйтесь буфером обмена. Весь код пишите сами. Быстрее запомните. Когда станете профессионалами, тогда и будете пользоваться буфером. А, сейчас, вы еще молоды :-). Компилируем (F9). Программа работает. Это круто. У вас теперь есть скомпилированный "exe" файл, который можно кому-нибудь подарить. На этом, наша лекция заканчивается. Теперь вы уже чайник с небольшим опытом. Поэкспериментируйте со своей программой, и напишите мне, чего вы там натворили, и где что не получилось. Присылайте исходники. (Все файлы, которые находятся в папке проекта. Только в архиве пожалуйста. Я пользуюсь WinRar. Кому нужно могу сбросить.) Это будет наше первое домашнее задание. Присылать обязательно. Как же я узнаю о ваших успехах.

Вот, что получилось у меня.

Идеи и пожелания с удовольствием почитаем.

Хостинг от uCoz