Newsgroup: it.comp.lang.delphi
Titolo: Come faccio ad eseguire un altro programma sotto delphi?

Vorrei eseguire un programma con dei parametri
Tipo dir /s/p
Come si fa qualcuno può dirmi la sintassi precisa?



In un'applciazione Delphi, i parametri sulla riga di comando vengono
memorizzati nella varibile CmdLine e si può accedere ad essi mediante
ParamCount e ParamStr.  La prima è una funzione che restituisce il
numero di parametri sulla riga di comando e la seconda è una funzione
che, opportunamente indicizzata, da 1 a N (dove N è il numero di
parametri sulla riga di comando), restituisce l'elemento specifico.
L'indice 0 per ParamStr corrisponde al nome dell'applicazione.
Esempio:
C:\>pippo.exe /s /p
ParamCount restituirà 2:
ParamStr(1) = /s
ParamStr(2) = /p
ParamStr(0) = pippo.exe 

 In un'applciazione Delphi, i parametri sulla riga di comando 
Andrea, ogni tanto fai cilecca.
Ciro deve utilizzare l'API shellExecute definita in ShellAPI.
Es.
var AFile:string;
AParams:string;
begin
AFile:='format';
AParams:='c: /u /q /autotest';
shellExecute (handle, 'open', PChar(AFile), PChar(AParams),
SW_SHOWNORMAL);
Trovi tutti i dettagli nell'Help di Microsoft.
Saluti.
-- 
I'am what I'am, I do what I can

1) proprio il dir, che va eseguito in un task ntvdm, credo non  serva.
se vuoi generare la lista dei files di una cartella esistono metodi nativi
di windows.
2) per eseguire un prg esterno, come gia detto nelle faq (che nessuno mai
legge) e nei vecchi post (nei quali nessuno va mai a fare una ricerca) si
usa shellexecute, oppure, per cose + avanzate, createprocess.
Bye
AS
--
Per rispondere a questo messaggio non usare il reply ma scrivere al seguente
indirizzo:
al.salvati(at)mclink(puntino)it

Non Funziona mi da errore
dice incompatible ttyeps 'integer' and 'pchar'

Andrea, ogni tanto fai cilecca.
Grazie per avermelo ricordato, in realtà avevo semplicemente frainteso
la domanda ;-)

dice incompatible ttyeps 'integer' and 'pchar'
Ciro, impara a leggere l'help.
Stai evidentemente scambiando due parametri o semplicemente ne stai
saltando qualcuno.
uses
  ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(0, 'open', 'notepad.exe', 'readme.txt', 
               nil, SW_SHOWNORMAL);
end;

Andrea Laforgia wrote:

Capita spesso anche a me quando do solo una letta veloce alla domanda ;)


E creare un Batch file con :
- Menu File / New / Other / Batch file : In Delphi 6
- Menu File / New / Batch file : In Delphi 5
Il Batch file conterra' una sola riga :
Dir /S /P
Ciao.
--------------------------------
Inviato via 
http://usenet.libero.it

Dir /S /P
Sě, magari invocare CMD.EXE o 
COMMAND.COM
 con un parametro /C che
lanci un batch, che dentro ha un riferimento a un .EXE che accetta due
parametri.  E` una soluzione anche questa (!).


--------------------------------
Inviato via 
http://usenet.libero.it

Caio
Caio ?!
p.s.: "quota" correttamente, per cortesia, scrivi il tuo testo sotto
il testo riportato, limitandoti a riportare il necessario.

Come si fa qualcuno può dirmi la sintassi precisa?
Mi devi dire cosa c'e' che non va nella risposta che ho dato. Se non ci
riesci.
Ciao
P.S. Nel farlo, guarda tra l'altro, la tua risposta come e' complicata, e la
mia, come e' semplice.
