| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Пример программы
Пример
программы Следующая программа
ведет простую базу данных. При каждом ее запуске на экране появляется диалоговое
окно (рис. 7.5), в поля которого пользователь может ввести дату и температуру
воздуха.
Рис. 7.5.
Диалоговое окно программы База данных "Погода" Дата вводится в поле
Edit1, температура — в поле Edit2. Текст программы приведен в листинге 7.3. Листинг 7.3,
Простая база данных (запись в файл) unit
pogoda_; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls; type TForm1
= class(TForm) Edit1:
TEdit; // дата Edit2:
TEdit; // температура Button1:
TButton; // кнопка Добавить Label1:
TLabe1; Label2:
TLabe1; procedure
FormActivate(Sender: TObject); procedure
ButtonlClick(Sender: TObject); procedure FormClose(Sender: TObject; var
Action: TCloseAction); private
{ Private declarations } public
{ Public declarations } end; var Form1:
TForm1; implementation {$R
*.dfm} const DBNAME
= 'a:pogoda. db'; var db:
TextFile; // файл — база данных procedure TForm1.FormActivate(Sender: TObject); begin AssignFile(db,
DBNAME);. {$I-} Append(db);
if IOResult = 0 then begin Edit1.Text := DateToStr(Date); // получить текущую дату Edit2.SetFocus;
// курсор в поле Edit2 end else
begin Rewrite(db);
if IOResult <> 0 then begin // сделать недоступными поля ввода // и командную кнопку Edit1.Enabled := False; Edit2.Enabled := False; Buttonl.Enabled := False; ShowMessage('Ошибка создания '+DBNAME); end; end;
end; //
щелчок на кнопке Добавить procedure
TForml.Button1Click(Sender: TObject); begin if (Length(edit1.text)=0) or (Length(edit2.text)=0) then
ShowMessage('Ошибка ввода данных.' +#13+'Bce поля должны быть заполнены.') else writeln(db, editl.text,' ',edit2.text); end; //
Событие OnClose возникает при закрытии формы procedure
TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin CloseFile(db); // закрыть файл БД end; end. Файл базы данных открывает
процедура FormActivate, которая обрабатывает событие onActivate. Событие OnActivate
возникает в момент активизации формы, поэтому процедура запускается автоматически,
при активизации формы приложения. Если операция открытия файла завершается успешно,
то в поле Edit1 записывается текущая дата. Информация о текущей дате возвращает
функция Date. Для преобразования возвращаемого функцией Date значения (числа
типа Double) в удобную для восприятия форму используется функция Dateiostr.
После записи даты в поле Editi процедура обработки события onActivate с применением
метода setFocus устанавливает курсор в поле ввода температуры. Если в процессе
открытия или создания нового файла возникает ошибка, то процедура делает недоступной
кнопку Добавить и выводит информационное сообщение. Процедура TForm1.Button1Click
(процедура обработки события onclick) запускается нажатием кнопки Добавить
(Button1). В результате введенная информация записывается в базу данных
— файл pogoda.db. Перед выполнением записи программа проверяет, все ли поля
формы заполнены, и, если не все, то выводит информационное сообщение. В результате работы
процедуры в конец файла pogoda.db будет добавлена строка, содержащая дату (число,
месяц, год) и температуру. В данной программе
используется инструкция writein, а не write, для того чтобы данные за каждый
день располагались в базе данных на отдельной строке. Обратите внимание,
что список вывода инструкции writein состоит из трех элементов. После вывода
в файл даты (Edit1.text) в файл записывается пробел, а затем— температура (edit2.txt).
Если температуру записать в файл сразу после даты, то числа, соответствующие
году и температуре, сольются в одну последовательность цифр. Закрывает базу данных
процедура TFormi.Formciose, которая обрабатывает событие enclose, возникающее
при закрытии формы приложения. После нескольких запусков
программы файл pogoda.db может быть, например, таким: 9.05.2001 10 10.05.2001 12 11.05.2001 10 12.05.2001 7 Рубрика: Глава 7. Файлы
Подгрузка через AJAX HTML-кода, содержащег....
При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Обзор нового релиза самой мощной Ajax библ....
Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Firebug 1.3 и 1.4 alpha — что нового и инт....
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 19.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|