Announcement

Collapse
No announcement yet.

Ganzes Verzeichnis löschen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ganzes Verzeichnis löschen

    Hallo,

    kann mir wohl jemand helfen? Ich muss diverse Verzeichnisse löschen, deren Einträge ich aus der Registry auslesen muss und in einem Label (lbDatabase.Caption) darstellen will. Alle Verzeichniseinträge enden allerdings mit einem \ so dass es beim Ausführen des Programms zu einer Fehlermeldung kommt ("Datei kann nicht gelöscht werden: Die Quelldatei oder vom Quelldatenträger kann nicht gelesen werden").

    <pre>
    uses ShellAPI;

    procedure TForm1.DelDBVerz(Sender: TObject);
    var
    aSHFOS : TSHFileOpStruct;
    szFrom : array[0..128] of Char;
    begin
    try {Vz. Database löschen}
    // Puffervariablen initialisieren (Doppel-Null!)
    FillChar(aSHFOS, Sizeof(aSHFOS), #0);
    FillChar(szFrom, Sizeof(szFrom), #0);
    // Zu löschendes Verzeichnis definieren
    StrPCopy(szFrom, ''+lbDatabase.Caption+'');
    with aSHFOS do
    begin
    Wnd := Handle;
    wFunc := FO_DELETE;
    pFrom := @szFrom;
    fFlags := FOF_NOCONFIRMATION or FOF_ALLOWUNDO;
    fAnyOperationsAborted := True;
    end;
    ShFileOperation(aSHFOS);
    ok1.Visible := True;
    except
    exit;
    end;
    end;
    </pre>

    Gruß

    Peter

  • #2
    Hab's inzwischen selbst herausgefunden. Aber für den Fall, dass es noch jemanden interessiert:

    Beim Zuweisen der Caption ist ExcludeTrailingBackslash zu verwenden (Siehe Delphi-Hilfe).

    Pete

    Comment

    Working...
    X