Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Aiuto copia file
Forum - Pascal - Aiuto copia file - Pagina 2

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
riccardo_2193 (Normal User)
Rookie


Messaggi: 29
Iscritto: 20/11/2009

Segnala al moderatore
Postato alle 6:28
Mercoledì, 16/12/2009
fammi sapere :) comunque lasciando il programma così com'è a me funziona. Ricordo solo l'uso del freepascal. Tu in poche parole dovresti andare a modificare la stringa

Codice sorgente - presumibilmente Plain Text

  1. AProcess.CommandLine := 'copy C:\immagine.jpg C:\Cartella\immagine.jpg';



inserendo un comando qualsiasi che avresti usato su dos. Quindi nel tuo caso devi appunto scrivere un comando da dos che permetta di copiare un file da un posto ad un altro (ah, s'intende sia dos di windows che terminali di mac e linux)
Qui ti riporto anche il link da dove ho tratto l'esempio (modificandolo al caso tuo). Ce ne sono altri, se ti  possono essere utili. http://wiki.freepascal.org/Executing_External_Programs/it

Tu fammi sapere come va

Ultima modifica effettuata da riccardo_2193 il 16/12/2009 alle 7:03
PM Quote
Avatar
riccardo_2193 (Normal User)
Rookie


Messaggi: 29
Iscritto: 20/11/2009

Segnala al moderatore
Postato alle 6:34
Mercoledì, 16/12/2009
ah, e fossi in te (consiglio mio), mi adatterei al freepascal (primo, nel caso tu usassi ancora tp, magari scaricando dev-pascal, a mio parere ottimo) e lascerei perdere la libreria dos (secondo)

PM Quote
Avatar
riccardo_2193 (Normal User)
Rookie


Messaggi: 29
Iscritto: 20/11/2009

Segnala al moderatore
Postato alle 7:03
Mercoledì, 16/12/2009
Codice sorgente - presumibilmente Pascal

  1. uses dos;
  2. ...
  3. swapvectors;
  4. Exec("c:\windows\....command.exe","COPY c:\immagine.jpg c:\cartella\immagine.jpg");
  5. swapvectors;
  6. ...



una cosa così con la libreria dos?? tu prova

comunque:
Exec(Path, CmdLine : String) ------> Esegue il programma segnalato in Path, passando come parametri quelli presenti in CmdLine.

(scusate i tre post di fila)

Ultima modifica effettuata da riccardo_2193 il 16/12/2009 alle 7:06
PM Quote
Avatar
gm.jimmy (Normal User)
Newbie


Messaggi: 9
Iscritto: 13/12/2009

Segnala al moderatore
Postato alle 16:16
Giovedì, 17/12/2009
io ho scaricato il compilatore dev-pascal, e mi sembra di averlo scaricato da questo sito...
va bene come compilatore?

PM Quote
Avatar
gm.jimmy (Normal User)
Newbie


Messaggi: 9
Iscritto: 13/12/2009

Segnala al moderatore
Postato alle 16:36
Giovedì, 17/12/2009
Testo quotato


Codice sorgente - presumibilmente Pascal

  1. uses dos;
  2. ...
  3. swapvectors;
  4. Exec("c:\windows\....command.exe","COPY c:\immagine.jpg c:\cartella\immagine.jpg");
  5. swapvectors;
  6. ...



comunque:
Exec(Path, CmdLine : String) ------> Esegue il programma segnalato in Path, passando come parametri quelli presenti in CmdLine.





ho provato, ma a me così facendo mi apre solo il cmd (cioè il programma segnalato in path) e non esegue il comando che segnalo in cmdline....:rotfl::rotfl::rotfl:
che sia colpa di Dev-Pascal?
tu che compilatore usi?

PM Quote
Avatar
riccardo_2193 (Normal User)
Rookie


Messaggi: 29
Iscritto: 20/11/2009

Segnala al moderatore
Postato alle 18:56
Giovedì, 17/12/2009
ma guarda io ti consiglierei, dato che il dev-pascal si basa su free pascal, di usare il codice che ti ho dato precedentemente.

Codice sorgente - presumibilmente Delphi

  1. program launchprogram;
  2.  
  3. uses
  4.    Classes, SysUtils, Process;
  5.  
  6. var
  7.    AProcess: TProcess;
  8.  
  9. begin  
  10.    AProcess := TProcess.Create(nil);
  11.    AProcess.CommandLine := 'copy C:\immagine.jpg C:\Cartella\immagine.jpg';
  12.    AProcess.Options := AProcess.Options + [poWaitOnExit];
  13.    AProcess.Execute;
  14.    AProcess.Free;  
  15. end.



alla fine basta che ricordi le tre librerie che devi dichiarare, dichiari la variabile di tipo TProcess, crei la variabile con AProcess := TProcess.Create(nil) (una specie di assign, che si usa per i file txt), digiti il comando da eseguire, la riga successiva serve a far attendere il tuo programma che gli effetti del comando siano portati a termine, esegui ed è finita li... credo ti convenga usare assolutamente questo metodo, anche perché il freepascal è multipiattaforma a differenza del turbo pascal (e della libreria dos, presente solo in windows).


qui trovi la pagina ufficiale dove spiegano tutto... è un ottimo sito!!
http://wiki.freepascal.org/Executing_External_Programs/it# ...

Ultima modifica effettuata da riccardo_2193 il 17/12/2009 alle 18:58
PM Quote
Avatar
gm.jimmy (Normal User)
Newbie


Messaggi: 9
Iscritto: 13/12/2009

Segnala al moderatore
Postato alle 22:02
Giovedì, 17/12/2009
ho copiato il codice uguale uguale e il compilatore mi trova ben 5 errori, non riconoscendo la maggior parte dei comandi...proverò a scaricare free-pascal e utilizzarlo al posto del dev..

PM Quote
Avatar
gm.jimmy (Normal User)
Newbie


Messaggi: 9
Iscritto: 13/12/2009

Segnala al moderatore
Postato alle 23:10
Giovedì, 17/12/2009
ho scaricato il free pascal ma il codice che mi hai postato non funziona lo stesso..si apre solo per qualche secondo la finestra del dos, ma non viene eseguito l'ordine di copiare l'immagine...

mah...

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo