AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Verzeichniskopieren

Ein Thema von MarcusB · begonnen am 10. Mai 2006 · letzter Beitrag vom 16. Mai 2006
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.577 Beiträge
 
Delphi 12 Athens
 
#3

Re: Problem beim Verzeichniskopieren

  Alt 10. Mai 2006, 18:40
Wenn du den Code ganz genauso wie oben hast, dann liegt es schonmal nicht an diesem, da ja die ersten Verzeichnisse richtig kopiert werden.

Also entweder machst du es in deinem Programm anders, oder die Datei (mit den Verzeichnissen) ist futsch.

Lösung:
1: Datei überprüfen
2: oder uns den "richtigen" Code geben, falls da der Fehler drin ist
3: ...

Kannst ja auch erstmal versuchen noch ein 5. Verzeichniss an die Liste anzuhängen ... mal sehn was dann passiert ^^

[add]
Die Terminierung sieht eigenlich OK aus

[add2]
in der CodeLib gibt's (glaub ich) ein CopyDir (oder wie es da heißt) für mehrere Verzeichnisse, oder halt selbergemacht,
dann wird alles in einem Zug kopiert und wenn du dir dann eventuell noch den Fortschritsdialog anzeigen läßt, dann ist dieser ja auch für alles zusammen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  BackupPfad: String;
  bl: TStringList;
  i: Integer;
  s: String;
  fos: TSHFileOpStruct;
begin
  bl := TStringList.Create;

  //Das folgende wird normalerweise aus einer Datei ausgelesen
  bl.Add('C:\Daten\Verzeichnis_1');
  bl.Add('C:\Daten\Verzeichnis_2');
  bl.Add('C:\Daten\Verzeichnis_3');
  bl.Add('C:\Daten\Verzeichnis_4');

  BackupPfad := 'T:\Backup\';


  if bl.Count > 0 then
  begin
    s := '';
    for i := 0 to bl.Count - 1 do
      s := s + bl[i] + #0;
    ZeroMemory(@fos, SizeOf(fos));
    with fos do
    begin
      wFunc := FO_COPY;
      fFlags := FOF_FILESONLY;
      pFrom := PChar(s + #0);
      pTo := PChar(BackupPfad + #0)
    end;
    ShFileOperation(fos);
  end;

  bl.Free;
end;
PS: die StringList gibst du doch hoffentlich auch wieder frei? (in deinem richtigen Code)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz