Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - BrowseForFolder-Ergebnis als TStrings???
Andi1982 - Sa 17.07.04 18:20
Titel: BrowseForFolder-Ergebnis als TStrings???
Hallo,
ich suche mit der BrowseForFolder-Function aus den FAQ nach Dateien.
FAQ:
http://www.delphi-forum.de/viewtopic.php?t=94
In dem beispiel wird das ergebnis ja in einer Listbox gespeichert, aber mir reich es in einer Variablen. Dazu habe ich TSTrings gewählt. Aber irgendwie funktioniert das bei mir nicht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.Button3Click(Sender: TObject); var Ergebnis: TStrings; begin Ergebnis:= TStrings.Create; GetFilesInDirectory('C:\','*fast*.*', Ergebnis.Add, False); end; |
Es kommt beim Compilieren immer der Fehler "nicht genügend wirkliche Parameter!"
Wie muss ich das richtig machen??
Gruß Andi
Moderiert von
Peter Lustig: Code- durch Delphi-Tags ersetzt.
raziel - Sa 17.07.04 18:26
Also dem Link oben kann ich nicht folgen, da gibts ne nette Fehlermeldung - probier doch einfach mal die URL-Tags, die dürften da völlig genügen!
Ansonsten kann ich nur sagen:
- Benutz TStringList und nicht TStrings!!
- Du kannst nicht Ergebnis.Add als Parameter übergeben (egal welcher Datentyp verlangt wird). Ich nehm mal an da soll ein String rein, dann mach ne temporäre String Variable (z.B. szTemp), die du anschließend per Ergebnis.Add(szTemp); einfügst.
raziel
Andi1982 - Sa 17.07.04 18:31
OK, danke für den Hinweis, habe den Link geändert.
Aber wie müsste das dann bei einer TStringlist ausehen?? Ich muss das nicht als String weitergeben, im Beispiel (siehe LINK) ist es auch so mitgegeben worden...
raziel - Sa 17.07.04 18:39
Andi1982 hat folgendes geschrieben: |
im Beispiel (siehe LINK) ist es auch so mitgegeben worden... |
Nicht ganz ;-)
Delphi-Hilfe hat folgendes geschrieben: |
TStrings ist die Basisklasse für Objekte, die eine Liste mit Strings darstellen. |
TStrings kann aber nicht direkt verwendet werden, deshalb musst Du anstelle von TStrings TStringList nehmen. Besser das einfach in Deinem Code aus. Des weiteren ist TStringList.Add eine Methode und keine Funktion und erst recht keine Eigenschaft, deshalb kann ihm auch nicht direkt ein Wert zugewiesen werden. Wenn Du das einfach so
GetFilesInDirectory('C:\','*fast*.*', Ergebnis, False); aufrufst, dann müssts gehen.
raziel
Andi1982 - So 18.07.04 07:00
Hey, Vielen Dank!!!
Es funktioniert!!! Und das am frühen Sonntag morgen!!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!