![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
а можно ли так: [D3, Win95/98]
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]нельзя. А смысл всего этого каков ?