Šta je novo?

Pokretanje drugih aplikacija iz pascala?

misabombas

Čuven
Učlanjen(a)
22.08.2003
Poruke
9
Poena
601
Da li iko zna , ako je moguce,kako pokrenuti neki programcic iz samog programa pisanog u pascalu?
Recimo (ovo sada lupam)

Begin
Igrica.exe
End.

Npr u pascalu napravim brojac koji ce pokrenuti neki program koji je instaliran na racunaru.
 
misabombas je napisao(la):
Da li iko zna , ako je moguce,kako pokrenuti neki programcic iz samog programa pisanog u pascalu?
Recimo (ovo sada lupam)

Begin
Igrica.exe
End.

Npr u pascalu napravim brojac koji ce pokrenuti neki program koji je instaliran na racunaru.
Baš lupaš :d
Da li je u pitanju Turbo (ili Borland) Pascal (DOS) ili Delphi?
Ako je dos u pitanju:
[code:1]
Uses Dos;
---------
SwapVectors;
Exec(ImePrograma, KomandnaLinija);
SwapVectors;
[/code:1]

a ako je Delphi
[code:1]
Uses ShellAPI;
---------
ShellExecute(Handle, nil, PChar(ImePrograma), PChar(KomandnaLinija), nil, SW_SHOW);
[/code:1]
ImePrograma je putanja do programa koji želiš da pokreneš uključujući i ime fajla (apsolutna (c:\blabla\igrica.exe) ili relativna (počevši od direktorijuma u kome se nalazi tvoj program)), a KomandnaLinija su parametri koje šalješ programu koji pokrećeš.
 
U pitanju je TPascal tj. Dos.

E,sad,sto se tice putanje(ImePrograma) ,odnosno puta tj. njegove apsolutne adrese ,shvatio sam (rad u DOS-u),ali nije mi bas najjasniji deo sa komandnom linijom.
Naime, ja zelim samo da pokrenem “Igra.exe”.Da li to znaci da ne treba da saljem nikakve parametre vec unesem samo :
Uses Dos;
---------
SwapVectors;(ova naredba vrsi razmenu cega ?)
Exec(c:\Igra.exe);bez komandne linije
SwapVectors;

(Pokusao sam i neprepoznaje “c”)
U stvari ,originalan kod:

Program asd;
Uses DOS;
Begin
SwapVectors;
Exec(d:\Igrice\Igra.exe);
SwapVectors;
End.

Ili…
 
misabombas je napisao(la):
U pitanju je TPascal tj. Dos.

E,sad,sto se tice putanje(ImePrograma) ,odnosno puta tj. njegove apsolutne adrese ,shvatio sam (rad u DOS-u),ali nije mi bas najjasniji deo sa komandnom linijom.
Naime, ja zelim samo da pokrenem “Igra.exe”.Da li to znaci da ne treba da saljem nikakve parametre vec unesem samo :
Uses Dos;
---------
SwapVectors;(ova naredba vrsi razmenu cega ?)
Exec(c:\Igra.exe);bez komandne linije
SwapVectors;

(Pokusao sam i neprepoznaje “c”)
U stvari ,originalan kod:

Program asd;
Uses DOS;
Begin
SwapVectors;
Exec(d:\Igrice\Igra.exe);
SwapVectors;
End.

Ili…
Pa moraš da putanju i parametre proslediš kao stringove... Čudi me da to ne znaš :confused:
U svakom slučaju treba da staviš
Exec('d:\Igrice\Igra.exe' ,'');
 
Naravno,stringovi. :oops:
Sve je to OK,compile-r ne prijavljuje gresku,ali program nista i ne izvrsi!
 
Exec('d:\Igrice\Igra.exe' ,' ');
pogledaj u help turbo pascala [moze na index pa otkucas exec] tu imas mali primer...meni je to radilo...
ma ako ti ne radi ne gubi vreme, napravi batch fajl u tri poteza i to je to.
a ti, jddipqd
ako neko nesto pita, najverovatnije nezna...nemoj ga vredjati!
[Čudi me da to ne znaš]
kako si mu ti sam i napisao ni ne vidi se da je to trebao biti string...cudi me da i ti ne znas da napises zaglavlje procedure kako valja???
 
Moj problem je resen.
Bili ste u pravu .

>>Exec(‘d:\igrice\igra.exe’,’’) je proradilo i meni.
A evo u cemu je stvar.
Imam Turbo Pascal i Borland Pascal.Sve do juce sam verovao da su identicni.
Ali sam se ocigledno presao.
U ocajanju, (koristeci sve moguce i nemoguce kombinacije naredbi iz helpa [ono sa exec(GetEnv(‘ ‘,’ ‘) , i …]) sam kod iz TP-a prekopirao u editor BP-a(ustvari,pokrenuo iz BP-a ) i ,GLE CUDA,pokrenuo mi je igricu.

>> a ti, jddipqd
ako neko nesto pita, najverovatnije nezna...nemoj ga vredjati!

Slazem se sa tobom Che_Guevara,ali nisam se uvredio. ,)
Hocu da znam jer znam da neznam.

Hvala obojici!
 
Vrh Dno