AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Namen von vorhandenen Pfaden auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Namen von vorhandenen Pfaden auslesen

Ein Thema von Dunkelbunt27 · begonnen am 31. Mai 2011 · letzter Beitrag vom 3. Jun 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#1

Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 17:27
Hallo Delphi-PRAXIS,

ich möchte die Namen aller vorhandenen Dateien in verschiedenen Unterpfaden eines Verzeichnisses auslesen und sie in einer Auswahlliste, z.B. ListBox anzeigen.
Dabei soll nur das Ende, also der Dateiname angezeigt werden. (Beim Auswählen muss aber wieder der komplette Pfad zur Verfügung stehen.)
Das ganze soll etwa so aussehen:
Code:
Gespeicherte Dateien (Ordner in dem gesucht werden soll)
   - Geburtstag (Ordner)
      - Geburtstag_2009.xxx (Datei)
      - Geburtstag_2010.xxx (Datei)
      - Geburtstag_2011.xxx (Datei)
   - Schulferien(Ordner)
      - Schulferien_2009.xxx (Datei)
      - Schulferien_2010.xxx (Datei)
      - Schulferien_2011.xxx (Datei)

ListBox o.a.:
      Geburtstag_2009
      Geburtstag_2010
      Geburtstag_2011
      Schulferien_2009
      Schulferien_2010
      Schulferien_2011
Wie könnte man das realisieren?
Danke für eure Hilfe.
FG Dunkelbunt
"Wer zuletzt lacht hat den höchsten Ping"
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

AW: Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 17:42
Entweder du nimmst ein Array zu Hilfe, in dem dann die Pfade drin stehen (passend zu den Einträgen in der ListBox) oder du nimmst ein Listview/Treeview. Da hat jeder Eintrag ein Data-Feld. Da kann man den Pfad auch rein schreiben.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#3

AW: Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 17:57
Du meinst also, die Dateinamen, Pfade beim Anlegen der Datei in dem Array einzutragen?
Aber mein Problem ist ja, rückschließend auf die vorhandenen Pfade die ListBox (ListeView...) zu füllen...
FG Dunkelbunt
"Wer zuletzt lacht hat den höchsten Ping"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#4

AW: Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 18:17
Wie schon erwähnt, gibt es dafür das Data-Feld bei jedem Item.

Entweder du füllst eine Liste/Array parallel zur ListBox und speicherst am gleichen Index, wo etwas in der ListBox steht auch im Array, dann kannst du über den Index des Items auf das Array zugreifen.

Oder man füllt die ListBox/TreeView, speichert dann den kompletten Namen in einer Liste/Array und legt den Index vom Array in .Data des Items.

Oder man speichert direkt den vollen Namen als cast in .Data ab.

Oder man speichert den vollen Namen in einem Datenobjekt, welcher in .Data verlinkt wird.

Oder man nimmt statt des Daten-Objekts einen Record.

Oder man trennt seine Daten von der GUI, legt eine Liste an, füllt dann über diese Liste die ListBox/TreeView und speichert in .Data die Rückreferenzen auf die Werte in der Liste.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Mai 2011 um 18:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#5

AW: Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 18:19
Okay gut, das ist jetzt klar.
Aber wie kann ich herausfinden, welche Dateien in dem Ordner X existieren?
FG Dunkelbunt
"Wer zuletzt lacht hat den höchsten Ping"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#6

AW: Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 18:25
Aber wie kann ich herausfinden, welche Dateien in dem Ordner X existieren?
Eigentlich "Neue Frage neuer Thread"

Oder man nimmt gleich die SuFu/Forensuche: Hier im Forum suchenDateien auflisten, Hier im Forum suchenDateien suchen usw.
PS: Delphi-Referenz durchsuchenFindFirst


Oder meinst du innerhalb der ListBox?
> Alle untergeordneten Items durchgehn
> oder man implementiert in seiner externen Datenhaltungsklasse eine Methode, welcher direkt aus ihren Daten sowas auflistet.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Mai 2011 um 18:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#7

AW: Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 18:32
Zitat:
Eigentlich "Neue Frage neuer Thread"
Das war eigentlich meine Anfangsfrage, ich war wohl etwas undeutlich...

Die ListBox zu füllen ist eher Nebensache.
Das wichtige ist ohne zu wissen ob oder welche Dateien in einem Ordner vorhanden sind, deren existenz und Namen (Pfad) herauszufinden.

Danke, ich schau mal bei deinen aufgelisteten Sucheinträgen nach.
FG Dunkelbunt
"Wer zuletzt lacht hat den höchsten Ping"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#8

AW: Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 18:37
Speziell für Dateien, im Dateisystem > Delphi-Referenz durchsuchenFileExists
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#9

AW: Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 18:44
Ja, FileExists ist bekannt... nur ist das nur sinnvoll, wenn man weiß wie die Datei heißt, die überprüft werden soll.
FG Dunkelbunt
"Wer zuletzt lacht hat den höchsten Ping"
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#10

AW: Namen von vorhandenen Pfaden auslesen

  Alt 31. Mai 2011, 19:14
Vieleicht suchst du ja sowas (der erte Aufruf dauert, wenn Du Windows als Such-Ordner lässt...)

Wie Du die ermittelten Dateien (statt im Memo zu listen) auswertest, sollte klar sein.

Delphi-Quellcode:
procedure ListDirectory(APath, AFilter : String; AStrings : TStrings);
var
  s : String;
  sr : TSearchRec;
begin
  s := IncludeTrailingPathDelimiter(APath);
  try
    if FindFirst(s + AFilter, faAnyFile, sr) = 0 then
    begin
      repeat
        if (sr.Name <> '.') and (sr.Name <> '..') then // Korrektur durch DeddyH
        begin
          AStrings.Add(s + sr.Name);
          if (sr.Attr and faDirectory) = faDirectory then
            ListDirectory(s + sr.Name, AFilter, AStrings);
        end;
      until FindNext(sr) <> 0;
    end;
  finally
    FindClose(sr);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Lines.BeginUpdate;
  ListDirectory('C:\Windows', '*.*', Memo1.Lines);
  Memo1.Lines.EndUpdate;
end;

Geändert von Satty67 ( 1. Jun 2011 um 11:15 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:21 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