![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с файлами [D7, 2000]
Tim29 © (2013-01-07 22:25:00)Здравствуйте подскажите не могу прописать процедуру procedure TForm1.FormActivate(Sender: TObject); во вкладке Event.
События FormActivate там просто нет что делать. Процедура FormActivate обрабатывает событие onActivate. Событие OnActivate возникает в момент активизации формы.
Tim29 (2013-01-08 22:35:00) [1]Я понял в чём дело, чтобы получить FormActivate надо счёлкнуть 2 раза
на событии OnActivate, а я его искал в выпадающем списке,так же и с
FormClose на событии OnСlose.
Всем спасибо за помощь.
icWasya (2013-01-08 21:28:00) [2]- он не видит обработчика FormActivate в выпадающем списке
Чтобы он там появился, он должна присутствовать в интерфейсной части класса формы в разделе published
Tim29 (2013-01-08 19:04:00) [3]Сергей именно это я и хотел сказать
Anatoly Podgoretsky (2013-01-08 13:39:00) [4]Его трудно понять.
Сергей М. (2013-01-07 23:55:00) [5]
> Германн © (07.01.13 23:50) [13]
Он не OnActivate потерял - он не видит обработчика FormActivate в выпадающем списке совместимых обработчиков этого события, потому его попросту нет в интерфейсной секции в описании класса формы.
Германн (2013-01-07 23:50:00) [6]
> События FormActivate там просто нет что делать.
Волшебная кнопка F11 открывает волшебное окошко, в котором OnActivate есть.
Jeer (2013-01-07 23:28:00) [7]
> в чём мая ошибка.
В мае нет ошибки, ошибка в маящихся.
Сергей М. (2013-01-07 23:18:00) [8]см.[7]
Tim29 (2013-01-07 23:14:00) [9]Это код из примера в учебнике по D7 я пытался воспроизвести этот пример
программы в своей D7 но не получается что посоветуете.
Сергей М. (2013-01-07 23:01:00) [10]
> в чём мая ошибка
в том что ты сдул откуда-то код и пытаешься его приспособить к своей форме
Tim29 (2013-01-07 23:00:00) [11]Скажите в чём мая ошибка.
Сергей М. (2013-01-07 22:59:00) [12]
> События FormActivate там просто нет что делать
даблкликни - будет.
Tim29 (2013-01-07 22:56:00) [13]При запуске программы компилятор ставит курсор на FormActivate, и вы даёт ошибку [Error] Unit1.pas(39): Undeclared identifier: 'FormActivate'
Jeer (2013-01-07 22:51:00) [14]
> const
>
> DBNAME = 'a:\pogoda. db';
Поленился?
Надо обязательно вставить 256 пробелов после символа '.' - и вот тогда..
Amoeba_ (2013-01-07 22:47:00) [15]
> Tim29 (07.01.13 22:25)
В чем, собственно, суть вопроса?
> Tim29 (07.01.13 22:39) [2]
>
> Я приведу программу полностью.
И что?
Сергей М. (2013-01-07 22:43:00) [16]
> Я приведу программу полностью
Это не "полностью", а огрызок раздела имплементации программного юнита формы.
Tim29 (2013-01-07 22:39:00) [17]Я приведу программу полностью.
Следующая программа ведет простую базу данных. При каждом ее запуске на экране появляется диалоговое окно в поля которого пользователь может ввести дату и температуру воздуха.
Дата вводится в поле Edit1, температура — в поле Edit2. Текст программы приведен в листинге .
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.
Dimka Maslov (2013-01-07 22:28:00) [18]В чём именно вопрос и причём тут файлы?
Событие TForm.OnActivate возникает при запуске приложения. При передаче фокуса от другого приложения срабатывает TApplication.OnActivate