Delphi-PRAXiS

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...

DeddyH 19. Jun 2010 14:42

AW: StringListe
 
Zitat:

Zitat von Teekeks (Beitrag 1030078)
Man kann ja nicht alles wissen...

Wie jetzt? :angel:

Teekeks 19. Jun 2010 15:54

AW: StringListe
 
Na das war aus dem Kopf getippt und normalerweise nehme ich auch immer TStringList aber das war mir jetzt gerade (wie gesagt) zu viel Arbeit :D und deswegen dacht ich halt das TStrings das selbe sind wie TStringlist... Oder wie meintest du das jetzt?

DeddyH 19. Jun 2010 15:58

AW: StringListe
 
Nee, das war ironisch gemeint (manche glauben ja, alles zu wissen) :zwinker:

Teekeks 19. Jun 2010 16:00

AW: StringListe
 
achso.

Weiß ich denn nicht alles? :stupid:

haentschman 19. Jun 2010 16:24

AW: StringListe
 
[OT]
ähhhmmm... nö. Da kenn ich andere :stupid:
[/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz