Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.22;
Скачать: CL | DM;

Вниз

Работа с файлами   Найти похожие ветки 

 
Tim29   (2013-01-07 22:25) [0]

Здравствуйте подскажите  не могу прописать процедуру procedure TForm1.FormActivate(Sender: TObject); во вкладке Event.
События FormActivate там просто нет что делать. Процедура FormActivate обрабатывает событие onActivate. Событие OnActivate возникает в момент активизации формы.


 
Dimka Maslov ©   (2013-01-07 22:28) [1]

В чём именно вопрос и причём тут файлы?
Событие TForm.OnActivate возникает при запуске приложения. При передаче фокуса от другого приложения срабатывает TApplication.OnActivate


 
Tim29   (2013-01-07 22:39) [2]

Я приведу программу полностью.

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

Дата вводится в поле 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.


 
Сергей М. ©   (2013-01-07 22:43) [3]


> Я приведу программу полностью


Это не "полностью", а огрызок раздела имплементации программного юнита формы.


 
Amoeba_   (2013-01-07 22:47) [4]


> Tim29   (07.01.13 22:25)

В чем, собственно, суть вопроса?

> Tim29   (07.01.13 22:39) [2]
>
> Я приведу программу полностью.

И что?


 
Jeer ©   (2013-01-07 22:51) [5]


> const
>
> DBNAME = "a:\pogoda. db";


Поленился?
Надо обязательно вставить 256 пробелов после символа "." -  и вот тогда..


 
Tim29   (2013-01-07 22:56) [6]

При запуске программы компилятор ставит курсор на FormActivate, и вы даёт ошибку [Error] Unit1.pas(39): Undeclared identifier: "FormActivate"


 
Сергей М. ©   (2013-01-07 22:59) [7]


> События FormActivate там просто нет что делать


даблкликни - будет.


 
Tim29   (2013-01-07 23:00) [8]

Скажите  в чём мая ошибка.


 
Сергей М. ©   (2013-01-07 23:01) [9]


> в чём мая ошибка


в том что ты сдул откуда-то код и пытаешься его приспособить к своей форме


 
Tim29   (2013-01-07 23:14) [10]

Это код из примера в учебнике по D7 я пытался воспроизвести этот пример
программы в своей D7 но не получается что посоветуете.


 
Сергей М. ©   (2013-01-07 23:18) [11]

см.[7]


 
Jeer ©   (2013-01-07 23:28) [12]


> в чём мая ошибка.


В мае нет ошибки, ошибка в маящихся.


 
Германн ©   (2013-01-07 23:50) [13]


> События FormActivate там просто нет что делать.

Волшебная кнопка F11 открывает волшебное окошко, в котором OnActivate есть.


 
Сергей М. ©   (2013-01-07 23:55) [14]


> Германн ©   (07.01.13 23:50) [13]


Он не OnActivate потерял - он не видит обработчика FormActivate в выпадающем списке совместимых обработчиков этого события, потому его попросту нет в интерфейсной секции в описании класса формы.


 
Anatoly Podgoretsky ©   (2013-01-08 13:39) [15]

Его трудно понять.


 
Tim29   (2013-01-08 19:04) [16]

Сергей  именно это я и хотел сказать


 
icWasya ©   (2013-01-08 21:28) [17]

- он не видит обработчика FormActivate в выпадающем списке
Чтобы он там появился, он должна присутствовать в интерфейсной части класса формы в разделе published


 
Tim29   (2013-01-08 22:35) [18]

Я понял в чём  дело, чтобы получить FormActivate надо счёлкнуть 2 раза
на событии OnActivate, а я его искал в выпадающем списке,так же и с
FormClose на событии OnСlose.
Всем спасибо за помощь.



Страницы: 1 вся ветка

Текущий архив: 2013.09.22;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.006 c
15-1365867368
О-Сознание
2013-04-13 19:36
2013.09.22
Как называется паттерн?


15-1365908951
TUser
2013-04-14 07:09
2013.09.22
bormor о чиновниках


2-1357505005
Mixasnt
2013-01-07 00:43
2013.09.22
не могу обработать одномерный массив введённый в едит.


15-1365495258
alexdn
2013-04-09 12:14
2013.09.22
Похоже полетел картридж


2-1357824398
LDV
2013-01-10 17:26
2013.09.22
использование Assert