Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    37

    [DELPHI]: Copiare intera directory

    ciao
    problema: devo copiare una directory con tutto il suo contenuto da client a server e viceversa,
    ho trovato questa funzione:
    codice:
    function TForm1.CopyDir(const fromDir, toDir: string): Boolean;
    var
      fos: TSHFileOpStruct;
    begin
      ZeroMemory(@fos, SizeOf(fos));
      with fos do
      begin
        wFunc  := FO_COPY;
        fFlags := FOF_FILESONLY;
        pFrom  := PChar(fromDir + #0);
        pTo    := PChar(toDir)
      end;
      Result := (0 = ShFileOperation(fos));
    end;
    perfetto... solo che se la directory esiste già non me la sovrascrive, ma va a creare un'latra directory all'interno della stessa...
    Esempio: se copio da c:\prova a \server\prova mi succede che copia il tutto in \server\prova\prova

    effettivamente potrei prima rimuovere la directory e poi copiarla, ma volevo sapere se era possibile evitare questo (per fare il figo ).

    qualcuno è in grado di aiutarmi? alka? oppure dove posso trovare info riguardanti sto tipo TSHFileOpStruct?

    grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Leggi la descrizione MSDN di TShFileOpStruct, potrebbe contenere informazioni su alcuni flag che possono esserti d'aiuto.

    In generale, proverei ad usare la stessa istruzione ma specificando, nel caso della directory di destinazione, solamente la cartella superiore che conterrà la directory di origine, e non il percorso finale.

    Non posso verificare quanto ho scritto, ma tentare non nuoce.

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

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    37
    In generale, proverei ad usare la stessa istruzione ma specificando, nel caso della directory di destinazione, solamente la cartella superiore che conterrà la directory di origine, e non il percorso finale.
    funziona!!!
    grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.