AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Wininet und FTP (Verzeichnis rekursiv löschen)
Thema durchsuchen
Ansicht
Themen-Optionen

Wininet und FTP (Verzeichnis rekursiv löschen)

Ein Thema von md787 · begonnen am 21. Aug 2003 · letzter Beitrag vom 3. Dez 2003
Antwort Antwort
Seite 2 von 2     12   
md787

Registriert seit: 21. Aug 2003
8 Beiträge
 
#11

Re: Wininet und FTP (Verzeichnis rekursiv löschen)

  Alt 21. Aug 2003, 13:44
Hi,
eigentlich wie ich zu erst gedacht hatte (die ersten sind meistens die besten ideen ).
Es ist die nicht elegante Version (zwichenspeichern). Das hab ich zum Anfang auch versucht, nur vergessen die Verzeichnisse noch zu löschen
War wahrscheinlich schon zu spät am Abend
Naja da finde ich die INDY Komponenten schon besser, nur die haben probleme gemacht.

Ach wenn ich schon am tippen bin

Der Inet Monitor war leider nicht was ich gesucht hab oder falsch gelesen
Zumindest such ich noch ein wenig was über InternetStatusCallback, vielleicht hat da jemand noch ein kleines Source Code Stück.
Würde mich freuen.

MfG

PS: Ist jemand schonmal aufgefallen das das letzte Verzeichnis wenn es leer ist nicht als Verzeichnis sondern als File erkannt wird?
  Mit Zitat antworten Zitat
md787

Registriert seit: 21. Aug 2003
8 Beiträge
 
#12

Re: Wininet und FTP (Verzeichnis rekursiv löschen)

  Alt 21. Aug 2003, 14:00
vielleicth sollte ich einfach mal den source hier reinpacken, ich hab nämlich gar nichts ähnliches im internet gefunden.

Vielleicht findet sich ja jemand der ihn noch verbessert oder jemand anderen nützt das als anfang.

Delphi-Quellcode:
procedure DeleteFolderRecursive(hFTP: HINTERNET; Path: String);
var
  hSearch: HINTERNET;
  findData: WIN32_FIND_DATA;
  TempList: TStringList;
  i: Integer;
begin
  TempList := TStringList.Create;
  try
    hSearch := FtpFindFirstFile(hFTP,PChar(GetFolderPath(Path)),findData,0,0);
    repeat
      if findData.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY then
        begin
          if not FtpRemoveDirectory(hFTP, PChar(GetFolderPath(Path))) then
            begin
              TempList.Add(Path + findData.cFileName + '\');
            end;
        end
      else
        begin
          if not FtpDeleteFile(hFTP, PChar(GetFolderPath(Path) + findData.cFileName)) then
            Main_Extras.ErrorPrint('Could not delete File ' + Path + findData.cFileName + '.', 'FTP File Delete Error');
        end;
    until not InternetFindNextFile(hSearch,@findData);
    InternetCloseHandle(hSearch);
    for i:=0 to TempList.Count-1 do
      begin
        DeleteFolderRecursive(hFTP, TempList[i]);
        if not FtpRemoveDirectory(hFTP, PChar(GetFolderPath(TempList[i]))) then
          Main_Extras.ErrorPrint('Could not delete Folder ' + TempList[i] + '.', 'FTP Folder Delete Error');
      end;
  finally
    TempList.Free;
  end;
end;
wobei ihr die funktion GetFolderPath auch wegdenken könnt. Die schneidet nur das Laufwerk raus.

MfG
  Mit Zitat antworten Zitat
M_O_C

Registriert seit: 3. Dez 2003
1 Beiträge
 
#13

Re: Wininet und FTP (Verzeichnis rekursiv löschen)

  Alt 3. Dez 2003, 22:36
Ich habe das gleiche Problem,

aber ich habe erst gerade mit dem Delphi-Proggen anfangen und benutze aus diesem Grund die Indy-Variante(IdFTP).
Ich habe versucht den CodeSchnipsel in mein Prog einzubinden nur leider hat es nicht funktioniert!
Welche Units muss ich zusätzlich einbinden um das nutzen zu können?
Oder kennt jemand ne Lösung für die Indy-Variante?
Muß ich vielleicht nur einige Variablen umbennen?

Tut mir Leid dass ich so dumme fragen stelle bin aber wirklich real anfänger!(zumindest beim Delphi-Proggen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz