[ misabombas @ 05.10.2003. 15:29 ] @
Zelim da pokrenem neki program iz pascala.Taj program moze biti igrica ,dokument,…

U helpu TP-a sam nekako dosao do moguceg resenja.
Kod:

Uses DOS;
Begin
SwapVectors;
Exec(‘ImePrograma(apsolutna adresa)’,’KomandnaLinija’);
SwapVectors;
End.

Problem je sledeci I tice se komandne linije.Da li mogu da ne navedem parametre u okviru komandne linije(ostavim prazno ‘ ‘) jer zelim samo da pascal pokrene program
Ili moram nesto uneti.
Sta?

Original kod:

Uses DOS;
Begin
SwapVectors;
Exec('d:\r.txt',' ');
SwapVectors;
End.

Napominjem da ovako nista ne pokrece!

PROGRAM POSTOJI NA particiji D.
Isto se desava ako navedem bilo koju drugu aps.adresu. npr:’c:\igra.exe.
[ ddz @ 05.10.2003. 17:32 ] @
Ne možeš izvršavati fajlove koji nisu izvršni (sad tek vidim koliko ovo glupo zvuči:)

Pomoću exec komande možeš da izvršavaš jedino exe, com i bat fajlove. Ako si u Windows okruženju, za otvaranje dokumenata možeš da koristiš:

Code:
exec('c:\windows\start.exe','d:\dokumenti\nesto.txt')
[ misabombas @ 05.10.2003. 21:29 ] @
Ovom problematikom (Turbo Pascal(DOS)) se bavim relativno kratko.I ako nesto lupim ne zamerite.

Mozda nisam dobro definisao pitanje.

Bicu strogo precizan:

Program Poziv;
Uses DOS;

Begin
SwapVectors;
Exec(‘?????????’,’???????’);
SwapVectors;
End.
Dakle,sta treba da ubacim medju zagrade(medju stringove) da bi mi Turbo Pascal POKRENUO igricu cija je apsolutna adresa d:\Igre\hl.exe (inace “popularni” Half-Life) ??????

Ddz,ti si mi dao kod : exec('c:\windows\start.exe','d:\dokumenti\nesto.txt')
i pitao si me da li sam u windows okruzenju.Da li si mislio da radim u Delphiu ili nesto drugo?
I sta ovaj prvi deo izvrsava 'c:\windows\start.exe' ?
[ ddz @ 05.10.2003. 22:33 ] @
Pričao si o startovanju programa i dokumenata. Dokumenti ne mogu da se "startuju". Kada dva puta klikneš na ikonu dokumenta, Windows startuje program kojim se taj dokument otvara, i onda u njemu otvori dokument.

Start komanda (ona koju sam naveo u exec-u) pokreće asocirani program za fajl koji mu navedeš u komandnoj liniji.

Komanda exec ('d:\igre\hl.exe','') bi trebalo da startuje half-life. Nisam siguran koliko će se snaći, jer se radi o windows programu, ali trebalo bi da radi.

Pitao sam te da li si u windows okruženju, zato što samo tamo radi komanda start.
[ reiser @ 06.10.2003. 16:34 ] @
Kao sto ddz kaze, naredba glasi
Code:
Exec(putanjaprograma, komandnalinija);


- putanjaprograma je path gde se nalazi program, u ovom slucaju 'D:\Igre\hl.exe'.

- komandnalinija mislim da znas sta je, ja stvarno ne znam kako da ti ovo objasnim... Moze da bude prazna. Ako zelis da pokrenes CS a ne HL, komandnalinija treba da ima vrednost '-console -game cstrike', mada mislim da je to sad nebitno.

Poz, Marko.
[ misabombas @ 06.10.2003. 17:57 ] @
Sada mi je jasnije.Hvala ti.

Ipak i dalje program nista ne uradi.
Da li je moguce da TurboPascal 6 ,koji ja imam ,ne moze da izvrsi zatrazeno.Jednom prilikom sam imao problem sa Unitima.Desavalo se da ,kada pozovem CRT i recimo proceduru ClrScr,compiler prijavi gresku (tek nakon Alt+Run) error 200 ili tako nesto.

Pozdrav.

[ ddz @ 06.10.2003. 19:14 ] @
Runtime error 200 je division by zero (deljenje nulom). Tu grešku ćeš sretati kod gomile starih programa, kad pokušaš da ih startuješ na jačem kompjuteru. Problem se pojavljuje i kod svih TP programa koji koriste Crt. Ukratko, program odredi index brzine kompjutera koji je kod bržih procesora jako blizu nuli, kasnije time podeli nešto i dobije Error 200.

Negde na Netu je bio da se nađe patchovani crt unit, al' da me ubiješ - ne mogu da se setim gde.
[ misabombas @ 07.10.2003. 15:38 ] @
Da,to sam otklonio.
Sada me zanima da li postoji mogucnost da se nesto slicno desava ,pa da zbog toga ne mogu da pokrenem (tj.Pascal [prethodni kod]) igricu.I,da li bi vam bio problem da licno isprobate pokretanje sa vaseg TP-a.
poz.
[ misabombas @ 08.10.2003. 00:38 ] @
Bio sam u pravu.

>>Exec(‘d:\igrice\igra.exe’,’’) je proradilo.
A evo u cemu je stvar.
Imam Turbo Pascal i Borland Pascal.Sve do juce sam verovao da su identicni.
Ista firma Borland (ako se nevaram).
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.

Zao mi je ako sam vas ugnjavio.