[ shaDy @ 12.06.2003. 12:27 ] @
Püozdrav,

Konkretno mi treba da program napisan u delfiju izvrsi neku dos komandu i ceka da s onda izvrsi i nastavi s radom.

rec je o dir *.* > list.txt dos komandi

Nasao sam nesto na netu ali nije mi mnogo pomoglo.

ajde ako neko zna bio bi mu zahvalan.
Koristim win98

[ kingrale @ 12.06.2003. 14:03 ] @
Evo mog prijedloga:

uses ShellApi;

...

ShellExecute(Application.Handle, 'open', PChar('command.com'),
Pchar('/K dir *.*'), Pchar('C:\'), SW_ShowNormal);

Ako hoces da se prozor zatvori poslije operacije koristi parametar /C, inace ostavi /K
[ silverglider @ 12.06.2003. 15:54 ] @
Sad cu ja da zazvucim glupo - sto bi ti program zavisio od okidanja dir komande; zasto ne iskoristis findfirst+findnext funkcije i formiras sam svoju listu fajlova, pa sa njom mozes da radis sta hoces -> najmanji je problem dampovati formatirani ispis u fajl.
[ shaDy @ 12.06.2003. 20:50 ] @
Pretpostavio sam da ce neko da predlozi findfirst,next....
Radio sam vec s ovim i program mi se iz nekog razloga na nekim masinama zaglupi i nece da odradi posao zbog cega sam za pocetak resio problem preko dir comande.

nisam jos probao ovu shellexecute, sacu vidim dal radi posao.

pozdrav
[ Crazy Mix @ 29.06.2003. 13:46 ] @
Ja to radim na silu:
(stavi na form 1 button, 1 listbox i 1 timer - na timer stavi interval = 1 i enabled na FALSE)
primer, na button1.click:
Code:

listbox1.items.add('dir c:\*.* /s/b > c:\listafajlova.txt'); //dodaje za prikupljanje kod u BAT fajl
listbox1.items.add('del c:\cm1.bat'); //dodaje kod za brisanje samog sebe
listbox1.items.savetofile('c:\cm1.bat'); //snima fajl
winexec('c:\cm1.bat',sw_hide); //pokrece skriveno
timer1.enabled:=true; //startuje timer

a na ontimer:
Code:

if not fileexists('c:\cm1.bat') then begin //ako nema BAT fajla (sam se obrisao)
listbox1.clear; //brise listbox (mozes koristiti i 2 listboxa, onda na 1 visible stavi na false)
listbox1.items.loadfromfile('c:\listafajlova.txt'); //ucitava
deletefile('c:\listafajlova.txt'); //brise temp fajl
end;


naravno povise timer1.enabled:=true mozes dodati kod da ti npr. label sa captionom
'Molim sacekajte...' treperi (ili na tajmeru)... radi sta 'oces, ja sam ti pokazao sta resava tvoj problem...

JAH
[ shaDy @ 29.06.2003. 23:16 ] @
Svaka cast. Odlicna fora. Nikad se ne bih setio BAT fajlova.
super fora!

Pozdrav.
[ Crazy Mix @ 30.06.2003. 18:27 ] @
Ma nema na cemu, aj' pozdrav