|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1382
|
Come eseguire il comando dir /s da delphi?
dovrei eseguire il seguente comando:
"dir 'directory' /s >ciao.txt" ma sia createprocess che shellexecute non funzionano. Cosa posso usare? Grazie. |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
prova system
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1382
|
Sapresti mica qual'è la pagina di msdn che ne spiega l'utilizzo?
Se cerco system nella barra di ricerca mi trovo di fronte un sacco di risultati che non c'entrano niente. Ciao |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' semplice da usare...
system(const char *cmd); |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1382
|
Ma cosa devo aggiungere negli uses per farlo funzionare?
Sul sito della microsoft c'è scritto che in c++ devo includere process.h, ma questo non sembrerebbe avere una corrispondenza in delphi. se scrivo : a:integer; ..... ..... .... a := system('dir'); mi dice che si aspettava il punto anzichè la parentesi. Ultima modifica di das : 17-05-2005 alle 12:50. |
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
già, dimenticavo che usi Delphi; be', puoi sempre importarla dal common runtime di visual c++ (non ricordo esattamente il nome della dll, mi semnbrava qualcosa tipo "msvcrt.dll"); altrimenti apri il Visual Studio, fai un nuovo programmetto console di prova, nel main scrivi "system(<qualcosa>);", e facendo il debug vedi com'è implementata system
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sono sicuro che ci sia qualcosa di simile a system già implementato in Delphi...faccio mente locale...
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Prova questo componente: http://maxxdelphisite.free.fr/doscmd.htm
|
|
|
|
|
|
#9 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
strano... non c'è nulla nella RTL?
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non ne ho idea...ma questo mi sembra un bel componente...visto che permette anche di prendere l'output del comando...
|
|
|
|
|
|
#11 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
das, se ti interessa ho fatto il debug della system: semplificando molto, quello che fa è una cosa del genere:
Codice:
WinExec("CMD /C <comando>", 0);
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Però se siamo in Win9x non può usare CMD ma deve usare command...
|
|
|
|
|
|
#13 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
e questo però temo che sarà un problema perché WinExec è implementata come wrapper della CreateProcess e non so se funzionerebbe anche coi processi "strani" a 16 bit... boh cmq su 2000 nt e xp quella cosa funzionerà benissimo.
|
|
|
|
|
|
|
#14 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() vabbè, su win9x bisogna fare per forza in altra maniera (ma sei sicuro che non esista nulla di analogo a cmd.exe su win9x?) |
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1382
|
Grazie mille, avete risolto il mio problema:
WinExec("CMD /C <comando>", 0); funziona egregiamente. (tanto lavoro su win2000) Ciao |
|
|
|
|
|
#16 |
|
Member
Iscritto dal: Oct 2004
Messaggi: 110
|
Già che parliamo di delphi, volevo chiedervi se anche a voi dà questo strano comportamento. Sto usando un computer vecchio e con poca memoria per cui non ho installato l'ambiente ma solo il compilatore free FPC (non so nemmeno che versione). E' normale che i riferimenti ai file dipendano da dove eseguo il programma? Mi spiego meglio. In C/C++/C# o Java, se nell'indirizzo del file non metto niente si dà per scontato che il file in questione si trovi nella stessa cartella dell'eseguibile. IN delphi dipende invece da dove esegui il programma. Quindi, se eseguo un'applicazione console dal desktop i file da leggere lì va a cercare sul desktop, anche se l'eseguibile si trova sotto c:\dep. E' normale? E' sensata come cosa?
__________________
ChenDream Case: Cooler Master Stacker, S/Madre: Asus A8N-SLI Deluxe, AMD Athlon 64 3500+, GeForce 6800GT, 1 GB RAM PC3200 CAS3. WD Raptor 74GB |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:51.











cmq su 2000 nt e xp quella cosa funzionerà benissimo.









