Discussione chiusa
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Funzione Copia Files

  1. #1
    motoboy non è in linea Scribacchino
    Post
    703
    Like Inviati  
    0
    Like Ricevuti  
    0
    ciao a tutti, in Delphi per copiare dei files, navigando ho trovato questa funzione.. ma non funge

    function CopiaFile( vVanFile, vNaarFile : string ; vOverschrijven : boolean ) : boolean;
    
    var sr: TSearchRec;
        FileAttrs: Integer;
        NaarDir, VanDir : string;
    
    begin
      FileAttrs := FileAttrs + faAnyFile;
      NaarDir   := ExtractFilePath(vNaarFile);
      VanDir    := ExtractFilePath(vVanFile);
    
      if FindFirst( vVanfile, FileAttrs, sr) = 0 then
        begin
          repeat
             CopiaFile(Vandir+sr.Name , NaarDir+sr.Name, vOverschrijven);
          until FindNext(sr) <> 0;
          SysUtils.FindClose(sr);
        end;
    end;
    
    qualcuno ne conosce una migliore???

    grazieeee
    ℹ️ Leggi di più su motoboy ...

  2. #2
    Post
    1,000
    Blogs
    2
    Like Inviati  
    0
    Like Ricevuti  
    0
    Avevo trovato un bellissimo esempio che usava tre funzioni diverse di Windows. Devo cercarlo, dammi il tempo.

  3. #3
    motoboy non è in linea Scribacchino
    Post
    703
    Like Inviati  
    0
    Like Ricevuti  
    0
    ok....

    grazie per la tua disponibilitààà come sempre

    davvero GENTILE
    ℹ️ Leggi di più su motoboy ...

  4. #4
    Post
    1,000
    Blogs
    2
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quello che hai riportato sembra un esempio che arriva dall'olanda, ma non fa alcuna copia di file, semplicemente cicla richiamando se stessa. D'altronde FindFirst di certo non copia nulla... A che serve?
    Penso che comunque ti possa bastare la funzione CopyFile della libreria Windows:

    Windows.CopyFile(pChar(InFileName),
                              pChar(OutFileName),
                              FALSE //Continue if Exists
                              );
    
    Abbinata a FindFirst e FindNext puoi usarla per copiare files in directory e sottodirectory.

    Altrimenti puoi usare TFileStream:

    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;
    End;
    
    Altrimenti ancora usi BlockRead e BlockWrite, ma è un po' più complesso.
    Ultima modifica di M.A.W. 1968; 29-05-2009 00:09 
    ℹ️ Leggi di più su cyberlaundry ...

  5. #5
    motoboy non è in linea Scribacchino
    Post
    703
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ma con questa funzione... mi copia tutti i file e le sottodirectory contenute nella directory che desidero copiare????

    GRAZIE
    ℹ️ Leggi di più su motoboy ...

  6. #6
    Post
    1,000
    Blogs
    2
    Like Inviati  
    0
    Like Ricevuti  
    0
    No, ti copia un file.
    Usa FindFirst e FindNext per navigare nelle directory e leggerne il contenuto.
    Il tuo esempio olandese è un buon inizio.

  7. #7
    motoboy non è in linea Scribacchino
    Post
    703
    Like Inviati  
    0
    Like Ricevuti  
    0
    ho trovato questa funzione... ma che devo ancora testare....
    Chissà se mi farà la copia della cartella con le sottocartelle...

    procedure princi(dirda, dira : string);
    var
      FOS :TSHFileOpStruct;
    begin
      with FOS do begin
        //Wnd := Self.Handle;
        wFunc := FO_COPY;
        pFrom := pchar(dirda + '\' + '*.*');
        pTo := pchar(dira);
        fFlags := FOF_NoConfirmMkDir;
      end;
      SHFileOperation(FOS);
    end;
    
    che ne pensi?
    ℹ️ Leggi di più su motoboy ...

  8. #8
    Post
    1,000
    Blogs
    2
    Like Inviati  
    0
    Like Ricevuti  
    0
    Interessante. Mai usata per copiare cartelle.
    Uso SHFileOperation solo per mandare i files nel cestino.
    Fammi sapere se copia anche le sottodirectory.
    E cosa accade se esistono già files e directory?

  9. #9
    motoboy non è in linea Scribacchino
    Post
    703
    Like Inviati  
    0
    Like Ricevuti  
    0
    La funzione, FUNGE alla grande

    copia tutto, cartelle vuote e piene, naturalmente... con sottocartelle!!!

    L'avevo trovata in un sito circa 3 anni fa, l'avevo nelle mie librerie, ma non sapevo che fungesse così alla grande, con qualche ricerchetta l'ho trovata


    TI salutooooo
    ℹ️ Leggi di più su motoboy ...

  10. #10
    motoboy non è in linea Scribacchino
    Post
    703
    Like Inviati  
    0
    Like Ricevuti  
    0
    ciao, stavo sperimentando la copia della procedura che mi hai inserito

    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;
    End;
    
    dove ho messo...

    CopyFileStream('c:\software\*.*', 'e:\');
    
    ma non mi funge ;-)

    del resto ho provato anche così

    CopyFileStream('c:\software\', 'e:\')
    
    ma niente...

    il mio intento era quello di copiare unicamente i files dalla cartella software, escludendo le sottodirectory
    ℹ️ Leggi di più su motoboy ...

Discussione chiusa
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Copia e rinomina sequenziale di files
    Da Jocman nel forum Microsoft Access
    Risposte: 8
    Ultimo Post: 28-04-2016, 16:41
  2. Risposte: 14
    Ultimo Post: 06-06-2014, 18:00
  3. ricerca files, copia, incolla, ecc...
    Da Headphone nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 23-04-2009, 20:17
  4. copia files
    Da nunzio nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 19-04-2007, 23:52
  5. Copia e trasferimento files
    Da puòdarsi nel forum Microsoft Word
    Risposte: 1
    Ultimo Post: 26-07-2005, 09:59