Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
Внизокно зависает Найти похожие ветки
← →
funky (2006-10-19 21:09) [0]Привет мастера! Если не против, сначало код:
procedure TForm1.Button1Click(Sender: TObject);
label getnewtext;
var
ct:string;
begin
Button1.Enabled := False;
i := StrToInt(Edit1.Text);
instext := 0;
getnewtext:
assignfile(f,"config.ini");
ct := "count="+IntToStr(i);
assignfile(CFile,"config.ini");
rewrite(CFile);
writeln(CFile,ct);
closefile(CFile);
sleep(2000);
Form1.Caption := "Всего обработанно "+IntToStr(i)+" ôàéëîâ...";
inc(i);
proxyvalid := 1;
if instext = 0 then Gettextfile else Gettextfile_two;
if i = StrToInt(Edit2.Text) then else GoTo getnewtext;
end;
После нажатию на кнопку, программа начинает работать, работает отлично, но само окно программы "зависает", т.е. становится таким:
http://img98.imageshack.us/img98/1162/myprogvk4.jpg
Нельзя переместить, или нажать на X.
Подскажите пожалуйсто, как это исправить? Т.Е. Что бы во время работы программы, можно было нормально работать с формой? Спасибо.
← →
RASkov (2006-10-19 21:53) [1]Application.ProcessMessges; Будет притормаживать:)
← →
funky (2006-10-19 22:20) [2]RASkov (19.10.06 21:53) [1]
М, а куда его вставлять? Попробовал в Project1.dpr
[Error] Unit1.pas(177): Undeclared identifier: "ProcessMessges"
← →
funky (2006-10-19 22:23) [3]Application.ProcessMessages; %)
Несработало, всё равно форма виснет =/
← →
MikePetrichenko © (2006-10-19 22:23) [4]
> procedure TForm1.Button1Click(Sender: TObject);
> label getnewtext;
> var
> ct:string;
> begin
> Button1.Enabled := False;
> i := StrToInt(Edit1.Text);
> instext := 0;
> getnewtext:
> assignfile(f,"config.ini");
> ct := "count="+IntToStr(i);
>
> assignfile(CFile,"config.ini");
> rewrite(CFile);
> writeln(CFile,ct);
> closefile(CFile);
> sleep(2000);
> Form1.Caption := "Всего обработанно "+IntToStr(i)+" ôàéëîâ.
> ..";
> inc(i);
> proxyvalid := 1;
> if instext = 0 then Gettextfile else Gettextfile_two;
> if i = StrToInt(Edit2.Text) then else GoTo getnewtext;
> end;
Хотел было подсказать куда его вставить но ВОТ ЭТО убило. Рыдал
if i = StrToInt(Edit2.Text) then else GoTo getnewtext;
← →
Чародей © (2006-10-19 22:33) [5]
> sleep(2000);
ты сам замораживаешь поток программы, замени на [1]
← →
Gero © (2006-10-19 22:36) [6]> [0] funky (19.10.06 21:09)
Вставлять в циклически повторяющуюся область кода. Твоего.
← →
funky (2006-10-19 22:49) [7]MikePetrichenko © (19.10.06 22:23) [4]
Не нравется GoTo?
Чародей © (19.10.06 22:33) [5]
убрал нафиг %) есть ли какая либо альтернатива этой команде?
Gero © (19.10.06 22:36) [6]
Вставил, форма стала отображатся, но слишком сиьлно прога тормозит, можно как-то убрать тормоза?
← →
Gero © (2006-10-19 23:08) [8]> [7] funky (19.10.06 22:49)
> есть ли какая либо альтернатива этой команде?
А чем тебя Sleep не устраивает?
> Вставил, форма стала отображатся, но слишком сиьлно прога
> тормозит, можно как-то убрать тормоза?
Да, переписать код более эффективно.
← →
funky (2006-10-19 23:12) [9]Gero © (19.10.06 23:08) [8]
>Да, переписать код более эффективно.
Вместо GoTo, сделал repeat, намного лучше стало.
>А чем тебя Sleep не устраивает?
Ну так при ней виснет на 2 секунды.
← →
Gero © (2006-10-19 23:16) [10]> [9] funky (19.10.06 23:12)
Не виснет, а ждет пока пройдет две секунды.
А зачем тебе он тогда вобще нужен?
← →
funky (2006-10-19 23:18) [11]Gero © (19.10.06 23:16) [10]
А, ладно забей.
Спасибо что подсказал куда ф-цию впихивать %)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c