Запуск программы...
В поле Edit2 задаётся время в секундах. Таймер отсчитывает время заданное в Edit2 и по истечению этого времени запускается функция запуска внешней программы путь к которой задан в поле Edit1 и программа сама себя закрывает.
Напишите плиз код отсчёта времени таймером :( Как запустить внешнюю программу я знаю. А вот как сделать чтобы таймер отсчитывал время заданное в Edit2, затем происходили какие-то действия по её истечению я не знаю :(
Timer1.Interval := IntToStr(Edit2.Text * 1000); // Интервал таймера в миллисекундах.
Timer1.Enabled := true; // Запуск таймера
В обработчике события Timer1.Timer напиши код запуска внешней программы, путь к которой указан в Edit2.[/highlight]
Поэтому, пункт 2 будет
Код:
Timer1.Enabled := false
и еще рекомендую использовать TryIntToStr().
[highlight=delphi]
Sleep(IntToStr(Edit2.Text) * 1000);
ShellExecute(<Вызов стороннего приложения>);
Form1.Exit;
[/highlight]
потому как таймер годится для периодического выполнения опр. действия.
начало работы:
Код:
end_time:=now+IntToStr(Edit2.Text);
timer1.enable:=true;
timer1.enable:=true;
в таймере
Код:
if end_time<=now then
begin
timer1.enable:=false;
// execute(file)
end;
begin
timer1.enable:=false;
// execute(file)
end;
Цитата: Washington
а может сделать так:
[highlight=delphi]
Sleep(IntToStr(Edit2.Text) * 1000);
ShellExecute(<Вызов стороннего приложения>);
Form1.Exit;
[/highlight]
потому как таймер годится для периодического выполнения опр. действия.
[highlight=delphi]
Sleep(IntToStr(Edit2.Text) * 1000);
ShellExecute(<Вызов стороннего приложения>);
Form1.Exit;
[/highlight]
потому как таймер годится для периодического выполнения опр. действия.
Sleep по-моему не лучший вариант, так как притормозит основной поток. Да и по OnChange тоже по-моему не очень, т.к. придется обрабытвать и случай с очисткой поля и т.д. Легче поставить кнопку.
Можно с помощью прогресс бара.