AGB  ·  Datenschutz  ·  Impressum  







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

Ordner löschen

Ein Thema von Seppel · begonnen am 16. Nov 2007 · letzter Beitrag vom 17. Nov 2007
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#11

Re: Ordner löschen

  Alt 16. Nov 2007, 17:43
Zitat von DeddyH:
Evtl. so (vorsichtig beim Ausprobieren!!):
Delphi-Quellcode:
function DeleteDirRecursive(sPath: string; DoNotDelete: TStrings): Boolean;
var Rec: TSearchRec;
begin
  if not DirectoryExists(sPath) then
    begin
      Result := false;
      exit;
    end;
  sPath := IncludeTrailingPathDelimiter(sPath);
  if FindFirst(sPath + '*.*',faAnyFile,Rec) = 0 then
    begin
      repeat
        if (Rec.Attr and faDirectory) = faDirectory then
          begin
            if (Rec.Name <> '.') and (Rec.Name <> '..') and
               (*Vorsicht!! Man muss sich einig sein, wie man die
                Verzeichnisnamen einträgt (ganzer Pfad oder nicht,
                 groß oder klein geschrieben etc.) *)

               (DoNotDelete.IndexOf(Rec.Name) < 0) then
              DeleteDirRecursive(sPath + Rec.Name,nil);
          end
        else
          DeleteFile(sPath + Rec.Name);
      until FindNext(Rec) <> 0;
      FindClose(Rec);
    end;
  Result := RemoveDir(sPath);
end;
DeleteDirRecursive('C:\Dokumente und Einstellungen\Sebastian\Desktop\Programmieren\Mysq lconnect\Pics\testtttt\', '1');
Also wenn ich das z.B. eingebe dann kommt ne Fehlermeldung Inkompatible Typen TString und char, hab ich die Syntax missachtet, was ich glaube^^.
Uses dürfte eigentlich nix sein.
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Ordner löschen

  Alt 16. Nov 2007, 17:55
Als 2. Parameter musst Du eine Liste mit den Verzeichnissen angeben, die nicht gelöscht werden sollen (z.B. ComboBox.Items oder sowas). Sollen alle Verzeichnisse gelöscht werden, gibst Du einfach nil an.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#13

Re: Ordner löschen

  Alt 16. Nov 2007, 18:03
Also wenn ichs so mache
DeleteDirRecursive('C:\Dokumente und Einstellungen\Sebastian\Desktop\Programmieren\Mysqlconnect\Pics\testtttt\', nil); sagt er:
Zugriffsverletzung bla...
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Ordner löschen

  Alt 16. Nov 2007, 18:06
Delphi-Quellcode:
function DeleteDirRecursive(sPath: string; DoNotDelete: TStrings): Boolean;
var Rec: TSearchRec;
begin
  if not DirectoryExists(sPath) then
    begin
      Result := false;
      exit;
    end;
  sPath := IncludeTrailingPathDelimiter(sPath);
  if FindFirst(sPath + '*.*',faAnyFile,Rec) = 0 then
    begin
      repeat
        if (Rec.Attr and faDirectory) = faDirectory then
          begin
            if (Rec.Name <> '.') and (Rec.Name <> '..') and
               (not Assigned(DoNotDelete) or
               (*Vorsicht!! Man muss sich einig sein, wie man die
                Verzeichnisnamen einträgt (ganzer Pfad oder nicht,
                 groß oder klein geschrieben etc.) *)

               (DoNotDelete.IndexOf(Rec.Name) < 0)) then
              DeleteDirRecursive(sPath + Rec.Name,nil);
          end
        else
          DeleteFile(sPath + Rec.Name);
      until FindNext(Rec) <> 0;
      FindClose(Rec);
    end;
  Result := RemoveDir(sPath);
end;
Und so?

[edit] Bedingung geändert, machte so keinen Sinn [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#15

Re: Ordner löschen

  Alt 16. Nov 2007, 18:09
Ok es geht also ich hab ja jetzt mit nil gemacht, da hats auch den Ordner mitgelöscht in dem alles drin war, war das so gedacht oder nur bei nil so?
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Ordner löschen

  Alt 16. Nov 2007, 18:12
Das war so gedacht. Aber Du kannst das ja auch noch überarbeiten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#17

Re: Ordner löschen

  Alt 16. Nov 2007, 18:24
Habs selbst hinbekommen, danke.
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#18

Re: Ordner löschen

  Alt 16. Nov 2007, 20:03
Hab ne kleine Frage und zwar will ich einen gewissen Inhalt aus dem Listview in die Combobox kopieren.
Ist der Ansatz richtig und was mache ich falsch.

Delphi-Quellcode:
for i:= 0 to combobox1.Items.Count -1 do
combobox1.AddItem(test.Items.Item[0]);// Hier ist definitiv der Fehler.
Ich will, dass Colum 1 und 2 zusammengefügt werden, z.B. Max (in dem 1.) und Mustermann in dem 2.
das soll dann in der Combobox so stehen: MaxMustermann.
Wie mache ich das jetzt?

edit:
Soll ich dafür jetzt einen neuen Thread auf machen??

Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#19

Re: Ordner löschen

  Alt 17. Nov 2007, 08:33
up.
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: Ordner löschen

  Alt 17. Nov 2007, 08:39
Die ListView und die ComboBox haben die gleiche Anzahl an Items und das Item der ListView soll immer hinter das der ComboBox?
Delphi-Quellcode:
for i := 0 to ComboBox1.Items.Count - 1 do
  ComboBox1.Items[i] := ComboBox1.Items[i] + ' ' +ListView1.Items[i];
Allerdings solltest Du hier dringend eine Fehlerbehandlung einbauen, falls sich die Anzahl der Items doch mal unterscheiden sollte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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