Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Открыть программы


Автор: Михалыч 15.3.2009, 23:47
Подскажите как открыть другие программы из своей,задача такая,открываться будет сразу несколько программ.
Нужно что бы они не все одновременно открывались ,а по очереди,одна открылась,другая начала открываться, и.т.д.

Автор: Данкинг 15.3.2009, 23:56
shellexecute?

Автор: former 15.3.2009, 23:56
Цитата(Михалыч @  15.3.2009,  23:47 Найти цитируемый пост)
Подскажите как открыть другие программы из своей,задача такая,открываться будет сразу несколько программ.

А известно, где их exe-шники лежат, или нужно самому определять?
Или может быть файл, связанный с этой программой открывать надо?

Добавлено через 5 минут и 39 секунд
Цитата(Данкинг @  15.3.2009,  23:56 Найти цитируемый пост)
shellexecute

это если нужно конкретный файл запустить.

А может ему нужно по названию программы. Тогда в реестр!

Автор: Михалыч 16.3.2009, 00:04
Будет примерно так:
Через OpenDialog в ListBox наберутся программы,а после этого все программы из списка откроются.
Через ShellExecute они начнут все сразу открываться,а нужно что бы поочереди

Добавлено через 1 минуту и 53 секунды
Можно поставить таймер,но может есть другой путь?

Автор: former 16.3.2009, 00:19
Вот http://delphiworld.narod.ru/base/run_wait8.html посмотри

Автор: Poseidon 16.3.2009, 01:34
Цитата(Михалыч @  16.3.2009,  00:04 Найти цитируемый пост)
Можно поставить таймер,но может есть другой путь?
Ага, sleep

Автор: Михалыч 16.3.2009, 09:20
[Спасибо former, тема закрыта

Автор: valerchi 21.5.2009, 19:06
Здравствуйте. У меня есть задумка, но не знаю как её осуществить. Скажу вкратце. Нужно,чтобы в программе считался замкнутый цикл, с переменной, скажем, "x". И в этой же программе имелась кнопка, по нажатию которой на экран memo выводился результат "x". Но программа после этого продолжала работать и цикл продолжался.....
Результат мне нужен был быстро, поэтому я сделал всё кое-как и как попало....
Я сделал одну программу, на которой считался цикл, и результат записывался в файл.
Потом я запускал ещё одну программу, в которой по нажатию кнопки происходило считывание с файла результата, записанного первой программой. Вот, что я сделал... программа номер один: 
Код

x:=0;
repeat

x:=x+1;
if x= 34 then x:=1; 
l: begin
assignfile(f,'d:\числа1.txt');
{$i-}
rewrite(f);
{$I+}
if IOResult <> 0 then
goto l;
writeln(f,inttostr(x));
closefile(f);
end;

until x=592;
end;


А вот программа номер два:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
x:string; y:integer;
var
f: TextFile; // файл
fName: String; // имя файла
buf: String; // буфер для чтения файла
label l;

begin
l: fName:='d:\числа1.txt';
AssignFile(f, fName);
{$i-}
Reset(f); // открыть для чтения
{$I+}
if IOResult <> 0  then
goto l;
// чтение из файла
begin
readln(f, buf); // прочитать строку из файла

CloseFile(f); // закрыть файл
y:=strtoint(buf);
if y=1 then x:='а';
if y=2 then x:='б';
if y=3 then x:='в';
if y=4 then x:='г';
if y=5 then x:='д';
if y=6 then x:='е';
if y=7 then x:='ё';
if y=8 then x:='ж';
if y=9 then x:='з';
if y=10 then x:='и';
if y=11 then x:='й';
if y=12 then x:='к';
if y=13 then x:='л';
if y=14 then x:='м';
if y=15 then x:='н';
if y=16 then x:='о';
if y=17 then x:='п';
if y=18 then x:='р';
if y=19 then x:='с';
if y=20 then x:='т';
if y=21 then x:='у';
if y=22 then x:='ф';
if y=23 then x:='х';
if y=24 then x:='ц';
if y=25 then x:='ч';
if y=26 then x:='ш';
if y=27 then x:='щ';
if y=28 then x:='ъ';
if y=29 then x:='ы';
if y=30 then x:='ь';
if y=31 then x:='э';
if y=32 then x:='ю';
if y=33 then x:='я';
end;

memo1.SelText:= memo1.SelText+x;

end;

end.

Автор: THandle 21.5.2009, 20:13

 ! 
THandle
Модератор: Пожалуйста, один топик - один вопрос.

valerchi, создайте отдельную тему.


PS: закрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)