Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi StringListe (https://www.delphipraxis.net/152347-stringliste.html)

Delphi-Phil 19. Jun 2010 12:10

Delphi-Version: 2010

StringListe
 
Ich habe folgende Funktion:
Delphi-Quellcode:
function CheckFileExists(Directory, FileType: String; Files: TStrings): Boolean;
Der Aufruf erfolgt so:
Delphi-Quellcode:
CheckFileExists('C:\Daten\', '*.csv', Form1.ListBox1.Items);
Diese Funktion liefert mir alle CSV Dateien aus dem angegebenen Verzeichnis zurück in einer TStringList und dann werden die Einträge zum Testen einfach mal in eine ListBox geschrieben. Eigentlich möchte ich aber die einzelnen Dateien Stück für Stück in einer Schleife "abarbeiten".

Wie kann ich das realisieren??

mkinzler 19. Jun 2010 12:12

AW: StringListe
 
Ein tringList ist indiziert ( Index von 0 bis Count -1 )

Teekeks 19. Jun 2010 12:14

AW: StringListe
 
Na ungefähr so:
Delphi-Quellcode:
var sl:TStrings;
    i:integer;
begin
  sl:=TStrings.create;
  CheckFileExists('C:\Daten\', '*.csv', sl);
  for i:=0 to sl.count-1 do
  begin
    //mache was...
    writeln(sl[i]);
  end;
//zum schluss noch wieder freigeben:
  sl.free;
end;
Edit: heute das erste mal die Redbox gesehen, ich poste trotzdem einfach mal...
btw: 555 Beiträge *hicks*

himitsu 19. Jun 2010 12:34

AW: StringListe
 
erstmal ist der Name CheckFileExists verwirrend.
Vom Namen her würde diese Funktion doch prüfen ob eine Datei existiert,
wärend hier aber eine Dateilist zurückgeliefert wird.

Namen wie ListFiles, FindFiles usw. wären da schon passender.

PS: Dazu findet man auch schon vieles in der DP.
Hier im Forum suchenFindFiles FindFilesFindFiles
Hier im Forum suchenFindAllFiles FindAllFilesFindAllFiles


http://www.delphipraxis.net/150887-k...dnextfile.html
http://www.delphipraxis.net/142669-f...iterative.html
http://www.delphipraxis.net/150887-k...ml#post1018007


Also entweder du nimmt eine Klasse/Komponente, welche die Dateien wirklich einzeln liefert
oder du mußt die Ergebnisliste einfach Zeile/Datei für Zeile/Datei abarbeiten.

Delphi-Phil 19. Jun 2010 12:43

AW: StringListe
 
Beim Aufruf der Funktion wird ein "Abstrakter Fehler" gemeldet.

Der Fehler tritt in dieser Code Zeile auf:
Delphi-Quellcode:
for i := 0 to sl.count - 1 do]

SirThornberry 19. Jun 2010 12:46

AW: StringListe
 
Kannst du dem Beitrag bitte einen aussagekräftigen Titel geben? Danke :)

himitsu 19. Jun 2010 12:46

AW: StringListe
 
Ist auch richtig so.

TStrings ist ein abstrakter Vorfahre, ohne eigene Speicherverwaltung/Funktion.

Delphi-Quellcode:
sl:=TStringList.create;

Delphi-Phil 19. Jun 2010 12:52

AW: StringListe
 
Zitat:

Zitat von himitsu (Beitrag 1030064)
Ist auch richtig so.

TStrings ist ein abstrakter Vorfahre, ohne eigene Speicherverwaltung/Funktion.

Delphi-Quellcode:
sl:=TStringList.create;

Das wusste ich nicht, vielen Dank für die Info!

Ich würde gerne einen anderen Titel verwenden, gibts ein Vorschlag?
Mir fällt gerade nichts ein...

xZise 19. Jun 2010 13:36

AW: StringListe
 
Moin,
Zitat:

Zitat von himitsu (Beitrag 1030064)
Ist auch richtig so.[…]

Naja ich fürchte wenn man neu ist ;) Besonders weil Teekeks ein Objekt davon erstellt hat ;)

MfG
Fabian

Teekeks 19. Jun 2010 14:20

AW: StringListe
 
Naja, Ich hatte im Hinterkopf das TStrings und TStrngList die selben Funktionen haben und hatte wegen der geringeren Tipparbeit einfach TStrings genommen :) Man kann ja nicht alles wissen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:36 Uhr.
Seite 1 von 2  1 2      

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