Discussione chiusa
Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 19 su 19

Discussione: Funzione Copia Files

  1. #11
    Luogo
    Provincia di Piacenza
    Post
    1,001
    Blogs
    2
    Infatti si chiama "CopiaFile", non "CopiaDirectory".
    La tua richiesta iniziale, infatti, era "come copiare dei file".
    owner - Kona s.r.l.

  2. #12
    Luogo
    Provincia di Piacenza
    Post
    1,001
    Blogs
    2
    Tra l'altro la tua funzione originale non faceva nessuna delle due cose, e "in teoria" doveva copiare un file. Infatti

    CopiaFile( vVanFile, vNaarFile : string ; vOverschrijven : boolean )
    Si traduce
    CopiaFile(vDaFile, vAFile: string; vSovrascrivi: boolean)

    A questo mi sono attenuto.
    La prossima volta sii più chiaro.

    Ciao

  3. #13
    motoboy non è in linea Scribacchino
    Luogo
    Puglia
    Post
    703
    D'accordo.. se invece volessi copiare solo *.doc o *.xls escludendo cartelle...
    o naturalmente SOLO i files contenuti all'interno della Directory come dovrei comportarmi???

    grazieee
    Perfavore commentate l'intervento..

  4. #14
    Luogo
    Provincia di Piacenza
    Post
    1,001
    Blogs
    2
    Te l'ho già scritto
    Devi usare FindFirst con i caratteri jolly, quindi usi FindNext.
    Comprì?
    L'help di Delphi è ricco di esempi, basta seguirli!

    Impara bene l'uso delle due funzioni, abbinale ad una qualsiasi delle funzioni CopiaFile e così realizzi la tua procedura!
    owner - Kona s.r.l.

  5. #15
    caviccun non è in linea Scolaretto
    Luogo
    GENOVA
    Post
    104
    Cercavo una soluzione a questo argomento, ho provato la procedura ma non mi funziona, vorrrei sapere cosa sbaglio.
    La chiamata alla procedura la faccio con e senza asterischi e con le due stringhe fisse (per ora, solo per prova).
    In "C:\super8" è la cartella dove c'è copiare un file ed una sottocartella, ed inserisco il tutto in 'C.\provecopia\'.Il comando della chiamata è in un bottone Dov'è che sbaglio?

    codice:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    CopyFileStream ('C:\super8\*.*', 'C.\provecopia\*.*');
    end;
    ;

    codice:
    procedure CopyFileStream( Const InFileName, OutFileName: String );
    Var
      S,T: TFileStream;
    Begin
      S := TFileStream.Create(InFileName, fmOpenRead);
      try
        T := TFileStream.Create(OutFileName, fmOpenWrite or fmCreate);
        try
          T.CopyFrom(S, S.Size);
          FileSetDate(T.Handle, FileGetDate(S.Handle));
        finally
          T.Free;
        end;
      finally
        S.Free;
      end;
    Ultima modifica di AntonioG; 28-03-2019 10:26  Motivo: SI usa il tag CODE non QUOTE per il codice
    Ad una persona cattiva gli puoi versare sopra tutto il Rum che vuoi, non diventerà mai buona come un Babà

  6. #16
    L'avatar di _alka_
    _alka_ non è in linea Very Important Person
    Luogo
    Reggio Emilia
    Post
    1,151
    Quote Originariamente inviato da caviccun Visualizza il messaggio
    La chiamata alla procedura la faccio con e senza asterischi e con le due stringhe fisse (per ora, solo per prova).
    La classe TFileStream consente di aprire un file per la lettura e/o la scrittura di dati: il parametro di input deve essere il percorso fisico effettivo del file su cui lavorare, quindi non puoi assolutamente usare un nome del tipo "*.*": quella è tutt'al più una maschera di ricerca che deve essere invece utilizzata nelle funzioni che consentono di ricercare file e directory sul file system, ma quando apri fisicamente un file, il percorso deve essere ovviamente quello del file effettivo, e non può contenere wildcard!

    Se l'intenzione è quella di copiare un file, esistono comunque della API già pronte da utilizzare senza dover ricorrere a una lettura+scrittura manuale dei byte del file copiandoli dalla fonte di origine a quella di destinazione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Homepage | Blog | Delphi Podcast | Delphi Succinctly (e-book)

  7. #17
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,226
    Blogs
    5
    Direi che è meglio usare un nuovo thread e non riesumare discussioni di 10 anni fa.

    Al massimo si può fare qualche riferimento.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  8. #18
    caviccun non è in linea Scolaretto
    Luogo
    GENOVA
    Post
    104
    la mia intenzione non è quella di copiare i file di una cartella, questa routine ce l'ho,ma quella di copiare file e sottocartelle di una cartella, ed è per questo che come riferimento ho usato il codice di un datato post su una vecchia procedura, perchè mi pare di aver capito che la procedura menzionata faccia quello che mi interessa, quindi reitero la domanda se posso: Dov'è che sbaglio? Qualcuno mi aiuta?
    Ad una persona cattiva gli puoi versare sopra tutto il Rum che vuoi, non diventerà mai buona come un Babà

  9. #19
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,226
    Blogs
    5
    Speravo capissi cosa fare ma vedo che non hai accettato il suggerimento.

    Apri un altro thread. Questo si chiude perché è di 10 anni fa.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

Discussione chiusa
Pagina 2 di 2 primaprima 12

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi