| Autor |
Beitrag |
Mitmischer 1703
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Fr 27.02.09 20:08
Wie kriege ich den DOS-Befehl "dir" in Delphi hin. Ich will einen Ordner Datei für Datei löschen.
Müsste das also ungefähr so aussehen:
Delphi-Quelltext 1: 2: 3: 4: 5:
| begin ListBox1.Items.Add(dir); for i := 0 to ListBox1.Count do Delete(Ordnerpfad+ListBox1.Items[i]; end; |
:? Moderiert von Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 27.02.2009 um 20:13
_________________ Die Lösung ist nicht siebzehn.
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 27.02.09 20:12
FindFirst + FindNext, schau mal in die Library, da gibts was dazu.
|
|
Mitmischer 1703 
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Fr 27.02.09 20:17
Gibt es eine Alternative zur ListBox?
_________________ Die Lösung ist nicht siebzehn.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 27.02.09 20:18
Was hat denn eine Listbox mit dem Thema zu tun? 
|
|
Mitmischer 1703 
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Fr 27.02.09 20:21
??
Wie kriege ich Dateinamen raus? Mit Findfirst/next kann ich ja nur auf Dateinamen prüfen!
_________________ Die Lösung ist nicht siebzehn.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 27.02.09 20:23
Nochmal: Du willst einen anzugebenden Ordner komplett leeren bzw. löschen?
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 27.02.09 20:24
Wenn du die Beiträge in der Library anschaust, dann siehst du, dass die ihre Ergebnisse in TStrings speichern. Und auch wenn als Beispiel diese in eine ListBox eingetragen werden, so kannst du auch eine TStringList nonvisuell benutzen.
www.delphi-library.d...issen+suchen_94.html
www.delphi-library.d...ien+suchen_1107.html
und spezielle Varianten:
www.delphi-library.d...tVariante_15203.html
www.delphi-library.d...en+suchen_21275.html
www.delphi-library.d...tsanzeige_47880.html
Mitmischer 1703 hat folgendes geschrieben : | | Wie kriege ich Dateinamen raus? Mit Findfirst/next kann ich ja nur auf Dateinamen prüfen! |
Wie jetzt? 
|
|
Mitmischer 1703 
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Fr 27.02.09 20:28
Mit Find... prüfe ich ja, ob eine Datei mit einem Dateinamen in einem Ordner da ist. Ich kenne die Dateinamen aber ja nicht!
_________________ Die Lösung ist nicht siebzehn.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 27.02.09 20:29
Schau mal in die Hilfe zu FindFirst und FindNext. Da musst Du keinen Dateinamen wissen, den bekommst Du geliefert.
|
|
Mitmischer 1703 
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Fr 27.02.09 20:31
Nein, ich krieg einen Integer!
function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;
_________________ Die Lösung ist nicht siebzehn.
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 27.02.09 20:34
Die Beispiele aus der Library hast du dir aber angeschaut?!?
Die sind doch schon fertig...
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 27.02.09 20:36
Und was steht in TSearchRec? Richtig hinschauen!
|
|
Mitmischer 1703 
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Fr 27.02.09 20:43
Ok, ich bin heut nich ganz auf der Höhe...
Also mit SearchRec.Name, oder?
ListBox1.Items.Add(SearchRec.Name);
_________________ Die Lösung ist nicht siebzehn.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 27.02.09 20:45
Jetzt sag doch endlich mal, was genau Du machen möchtest. Einen Verzeichnisinhalt auflisten oder das Verzeichnis leeren oder beides?
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Fr 27.02.09 20:47
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 27.02.09 20:49
Ich denke du willst keine ListBox... Nimm doch einfach die fertigen Quelltexte...
Den ersten rufst du dann z.B. so auf: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); var test: TStringList; begin test := TStringList.Create; GetFilesInDirectory('C:\', '*.*', test, False); ShowMessage(test.Text); test.Free; end; |
Und zum Löschen von ganzen Verzeichnissen, auch mit Unterverzeichnissen gibts ja auch schon einiges fertiges:
www.delphi-treff.de/...ateienverzeichnisse/
z.B. "Verzeichnisse komplett löschen"
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 27.02.09 20:55
Und wenn doch eine ListBox, könntest Du dieser die LB_DIR-Message schicken.
|
|