GetRight своими руками

Спецвыпуск Хакер, номер #004, стр. 004-080-2

Готовимся кодить

Увы, программирование состоит не только из кликанья мышой и редактирования свойств. Приходится и кодить, и сейчас мы вплотную приблизились к этому. Но начнем с простого. Кликни два раза по кнопке "Закрыть". Опа! На экране появилось следующее:

procedure TForm1.Button2Click(Sender: TObject) ;

begin

end ;

и твой курсор мигает между begin и end. Это - обработчик события OnClick для кнопки "Закрыть", и все, что ты напишешь между begin и end, будет выполняться при клике по этой кнопке. А нам нужно, чтобы прога закрывалась, посему пишем

procedure TForm1.Button2Click(Sender: TObject) ;

begin

NMFTP1.Disconnect ; // разрываем связь по фтп, если она установлена

NMHTTP1.Disconnect ; // разрываем связь по хттп, если она установлена

Close ; // Закрываем прогу

end ;

Если не разорвать связь, прога просто откажется выходить. Поэтому и разрываем.

Кстати, после // в Delphi до конца строки идет комментарий, его она не учитывает при компиляции. Комментарии для тебя, чтобы понятнее было, не нужно их переписывать. Обрати внимание, там написано Button2Click, а не "Закрыть" Click. Button2 - это рабочее имя кнопки для взаимодействия с программой (как в вышеописанном примере), а Caption - это всего лишь надпись на кнопке. Все имена компонентов находятся в их свойстве Name, можешь посмотреть в Object Inspector'е. Теперь кликни два раза по первому Edit'у, появляется нечто похожее на обработчик для кнопки:

procedure TForm1.Edit1Change(Sender: TObject) ;

begin

end ;

Тут вместо OnClick мы видим OnChange - все, что находится между begin и end, будет выполняться, когда в Edit'е что-то напишут. Мы изменим Tag (свойство Edit'а, некоторое число, по умолчанию 0), это нам понадобится потом, для проверки заполнения всех полей.

procedure TForm1.Edit1Change(Sender: TObject) ;

begin

Edit1.Tag := 1 ; // присвоить тагу первого эдита значение 1

end ;

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

Edit2.Tag := 1 ;

Не забывай об именах! Вот и все с подготовкой, а теперь начинается...

Реальный кодинг

Да, именно он. Читай внимательнее и вникай. Перейдем к нашей главной кнопке - "Закачать". Кликай по ней два раза и создавай обработчик, далее вписывай код, чтобы получилось вот что:

procedure TForm1.Button1Click(Sender: TObject) ;

begin

Label3.Caption := '' ; // очищаем метку для сообщений

if ( Edit1.Tag = 1 ) and ( Edit2.Tag = 1 ) and ( Edit1.Text <> '' )

and ( Edit2.Text <> '' ) then // проверка данных

begin

// данные введены, выполнять действия

end

else Label3.Caption := 'Введи все данные, чувак!' // не все данные

end ;

Что есть что: сначала очищаем метку, просто присваиваем ее Caption'у пустое место (сначала она, правда, и так пустая, но потом будет полная, поэтому очищаем), затем идет стандартный оператор if then else, используем этот оператор для проверки, все ли поля заполнены - помнишь, мы тагам единицы присваивали? Так вот, теперь и проверяем - если чувак поля не заполнил, то таги - "0", и проверка не пройдет. Но юзверь мог ввести дату, а потом все стереть - вот для этого и нужна проверка значений эдитов на '' - если там пустое место (''), то проверка не пройдет. Дальше просто: если проверка прошла - гоним далее, нет - пишем в метке "Введи все данные, чувак!". Ну как, врубаешься? Если нет, просто пиши код, но все-таки старайся понять.

Назад на стр. 004-080-1  Содержание  Вперед на стр. 004-080-3

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001