Newsgroup: it.comp.lang.delphi
Titolo: dos

Vorrei inserire il percorso file di Tedit al posto di c:\esempio\*.jpg 
come faccio?
procedure TForm1.botton1Click(Sender: TObject);
begin
WinExec('Command.com /c copy *c:\esempio\*.jpg*' c:\, 0);
end;
---
avast! Antivirus: In partenza messaggio pulito.
Virus Database (VPS): 090401-0, 01/04/2009
Controllato il: 02/04/2009 14.43.49
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com


---
avast! Antivirus: In partenza messaggio pulito.
Virus Database (VPS): 090402-0, 02/04/2009
Controllato il: 02/04/2009 16.53.12


 end;
Non so bene che comando devi comporre ma le stringhe si concatenano cosě: 
WinExec('Command.com /c copy/b '+JPG2.Text+Full2.Text+' fusion.jpg', 0);

   
---
avast! Antivirus: In partenza messaggio pulito.
Virus Database (VPS): 090402-0, 02/04/2009
Controllato il: 02/04/2009 20.08.48


 end;
Se il tuo scopo e' solo di copiare dei file, ti conviene usare la
apposita funzione CopyFile()
ciao
Giacomo

 and 'PAnsiChar'
Se guardi l'help vedrai che WinExec non accetta un parametro di tipo
string ma di tipo PAnsiChar: ecco perche' ti da l'errore. :)
Per convertire da stringa a PChar e' sufficiente usare un cast:
WinExec( PAnsiChar( <latuastringa> ) );
ciao
Giacomo


---
avast! Antivirus: In partenza messaggio pulito.
Virus Database (VPS): 090402-1, 02/04/2009
Controllato il: 03/04/2009 16.21.32



---
avast! Antivirus: In partenza messaggio pulito.
Virus Database (VPS): 090403-0, 03/04/2009
Controllato il: 03/04/2009 19.53.37


 Controllato il: 03/04/2009 19.54.06


 'String' found
Qual e' la riga 59 nel pezzetto che hai postato?
ciao
Giacomo

 'String' found
Modifica in
WinExec('Command.com /c copy/b '+c+' fusion.jpg', 0);
In sostanza basta inserire i due "+" prima e dopo la variabile c.....

 Sarebbe questa:


aa ha scritto:

facendo come dici tu mi da questo errore alla riga WinExec('Command.com 
/c copy/b '+c+' fusion.jpg', 0);
[Error] Fuse.pas(59): Incompatible types: 'String' and 'PAnsiChar'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Fuse.pas'

 [Fatal Error] Project1.dpr(5): Could not compile used unit 'Fuse.pas'
Come ho già avuto occasione di dire in un altro luogo in cui stai 
riportando pari pari, in multipla copia (anche qui peraltro), gli stessi 
messaggi, non puoi programmare in queste condizioni di assoluto "buio", 
senza documentarti sulle basi del linguaggio (es. la concatenazione 
delle stringhe), su come si "castano" le variabili (che ti è stato già 
anche spiegato) e così via.
Almeno sii onesto: esponi direttamente ciò che ti serve e chiedi agli 
altri di scrivere il codice al posto tuo... sarebbe un'operazione molto 
più sbrigativa che seguire lo stesso processo ma a passi graduali, e 
richiederebbe meno sforzo da parte di chi ti legge (ad esempio, il 
codice che hai utilizzato è un esempio del sottoscritto volto solo a 
farti capire come funziona la concatenazione delle stringhe in modo da 
poter applicare lo stesso concetto anche in altri contesti... tu l'hai 
preso esattamente così com'è, l'hai copiato prima del tuo codice senza 
nemmeno ragionarci, hai compilato e hai sperato - non so come - che 
tutto quanto funzionasse magicamente).
Scusami, ma trovo onestamente che sia un tipo di approccio frustrante 
(se non lo è per te, lo è per chi ti deve aiutare), quindi penso che non 
seguirò il caso oltre (né qui né sul forum in cui ti ho dato più o meno 
le stesse risposte).
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

Marco Breveglieri ha scritto:

ma se sono gli altri a farmi i codici non imparerò niente è seguendo 
discorsi come i tuoi che vengo aiutato a usare delphi.

 ma se sono gli altri a farmi i codici non imparerï¿œ niente 
Forse non hai focalizzato bene il consiglio di Marco.. lui intende dire 
che le tue domande fanno trasparire che tu non ti sforzi di comprendere 
le logiche del codice che ti viene suggerito. Lo prendi cosï¿œ come ti 
viene dato e, senza ragionarci sopra, lo applichi.
Poi, il fatto che il codice di venga suggerito senza che te lo devi 
scrivere da solo, non e' fondamentale. Anzi, e' proprio partendo dal 
codice altrui che si imparano le tecniche e si ha la costante verifica 
del proprio livello di conoscenza.
-- 
Morde