Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

а можно ли так: [D3, Win95/98]


Страницы:   1 2

zetta ©   (2002-07-25 14:51:00) 

а можно ли так:
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
while not eoff do bgproc;
application.terminate;
if b1 0 then begin c:=b1;
BlockwRite(f2,wrbuf1,b1,b1);end;
Closefile(f2);
Closefile(f1);
end.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageDlg("Terminate program?", mtwarning, [mbyes,mbno], 0)=mryes then eoff:=true;
end;

bgproc читает с помощью буфера строку из файла, конвертит и забрасывает в другой файл.

более подробный листинг здесь: http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1027522983&n=0
как сделать, чтобы форма была видна?


readstr и wrstr1 вызывают application.ProcessMessages


zetta   (2002-07-25 17:18:00) [21]

спасибо!!!!!
уррря! заработало!!!


Skier   (2002-07-25 17:02:00) [22]

>zetta
Это форма (вместо твоей TForm1)
Сделай у неё флаг FileHandling и всё...

Короче говоря (чтобы было понятней) :


var
Form1 : TForm1;
begin
Application.Initialize;
Form1 := TForm1.Create(nil);
try
Form1.Show;
while Form1.FileHandling do; //do nothing...
finally
Form1.Free;
end; //try
Application.Terminate;
end.


Насколько я понял твоё приложение это просто индикатор
процесса обработки файлов.
Значит как только ты их обработал - делаешь приложению
Application.Terminate и...порядок.


zetta   (2002-07-25 16:54:00) [23]

TFormFileHandling как выглядит описание этого типа?


Skier   (2002-07-25 16:29:00) [24]

>zetta
Твоя единственная форма в приложении.


zetta   (2002-07-25 16:28:00) [25]

а что за TFormFileHandling9


Skier   (2002-07-25 15:56:00) [26]

>zetta


var
FormFileHandling : TFormFileHandling;
begin
Application.Initialize;
FormFileHandling := TFormFileHandling.Create(nil);
try
FormFileHandling.Show;
while FormFileHandling.FileHandling do; //do nothing...
finally
FormFileHandling.Free;
end; //try
Application.Terminate;
end.


zetta   (2002-07-25 15:50:00) [27]

кроме формы с индикатором мне никакой другой не надо.
мне просто нужно показать форму и все. файлы уже конвертятся.


Skier   (2002-07-25 15:36:00) [28]

>zetta
Что именно ?


zetta   (2002-07-25 15:35:00) [29]

Skier: не то


Внук   (2002-07-25 15:32:00) [30]

novice_al © (25.07.02 15:30)
Мимо :))))


novice_al   (2002-07-25 15:30:00) [31]

ЛЮДИ!!! ВСЁ ОК!!! THANK YOU VERY MUCH!!!


Skier   (2002-07-25 15:21:00) [32]

>zetta

dpr-файл :


var
FormFileHandling : TFormFileHandling;
begin
Application.Initialize;
FormFileHandling := TFormFileHandling.Create(nil);
try
FormFileHandling.Show;
while FormFileHandling.FileHandling do; //do nothing...
finally
FormFileHandling.Free;
end; //try
Application.CreateForm(TForm1, Form1);
Application.Run;
end.


Флаг FormFileHandling.FileHandling сбрасывается (:=False) как только форма FormFileHandling "обработала" файлы


zetta   (2002-07-25 15:09:00) [33]

так какую процедуру вызывать для показывания формы?


Skier   (2002-07-25 15:08:00) [34]

>zetta
А чтобы тебе не сделать отдельную форму, в который ты
и будешь всем этим заниматься ?
Создавать,показывать и убивать её будешь сразу
после строчки Application.Initialize;


zetta   (2002-07-25 15:06:00) [35]

skier: ага, после каждой обработанной строки спрашивать юзера: "Terminate program?"


zetta   (2002-07-25 15:04:00) [36]

обработка файла построчно. строку беру из 1го файла, конверчу и кидаю в другой файл. работает - файлы конвертятся, сохраняются, а формы не видать. хотелось бы показывать на ней индикатор.


Skier   (2002-07-25 14:59:00) [37]

>zetta

Не знаю какой смысл во всём этом, но цикл лучше
написать так


while True do
bgproc;
if MessageDlg("Terminate program?", mtwarning,[mbyes,mbno],
0)=mryes then Break;
if b1 <> 0 then begin
c:=b1;
BlockwRite(f2,wrbuf1,b1,b1);
end; //if
end; //while



Digitman   (2002-07-25 14:53:00) [38]

нельзя. А смысл всего этого каков ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо