Autor Beitrag
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: 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:

ausblenden 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 user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 27.02.2009 um 20:13

_________________
Die Lösung ist nicht siebzehn.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 27.02.09 20:12 
FindFirst + FindNext, schau mal in die Library, da gibts was dazu.
Mitmischer 1703 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Fr 27.02.09 20:17 
Gibt es eine Alternative zur ListBox?

_________________
Die Lösung ist nicht siebzehn.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 27.02.09 20:18 
Was hat denn eine Listbox mit dem Thema zu tun? :gruebel:
Mitmischer 1703 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: 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



BeitragVerfasst: Fr 27.02.09 20:23 
Nochmal: Du willst einen anzugebenden Ordner komplett leeren bzw. löschen?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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

user profile iconMitmischer 1703 hat folgendes geschrieben Zum zitierten Posting springen:
Wie kriege ich Dateinamen raus? Mit Findfirst/next kann ich ja nur auf Dateinamen prüfen!
Wie jetzt? :gruebel:
Mitmischer 1703 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: 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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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



BeitragVerfasst: Fr 27.02.09 20:36 
Und was steht in TSearchRec? Richtig hinschauen!
Mitmischer 1703 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Fr 27.02.09 20:43 
Ok, ich bin heut nich ganz auf der Höhe... :autsch:

Also mit SearchRec.Name, oder?

ListBox1.Items.Add(SearchRec.Name);

_________________
Die Lösung ist nicht siebzehn.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 27.02.09 20:47 
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Jetzt sag doch endlich mal, was genau Du machen möchtest. Einen Verzeichnisinhalt auflisten oder das Verzeichnis leeren oder beides?

Dateien löschen :wink:
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 27.02.09 20:49 
Ich denke du willst keine ListBox... Nimm doch einfach die fertigen Quelltexte... :roll:

Den ersten rufst du dann z.B. so auf:
ausblenden 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



BeitragVerfasst: Fr 27.02.09 20:55 
Und wenn doch eine ListBox, könntest Du dieser die LB_DIR-Message schicken.