![]() |
Dateinamen / Dateiendungen extrahieren
Hallo Zusammen,
ich möchte aus einem Edit1.text verschiedenes auslesen. Edit1 hat folgenden eintrag: Edit1.text:='*.Sys;*.bat;*.old'; Die Einträge in der Edit1 können varieren. Nun möchte ich, in einer Listbox alle Einträge zwischen speichern, wie folgt: Listboxeinträge *.sys *.bat *.old eben ohne die ";". Hab schon alles mögliche versucht komme aber nicht dahinter! Für Eure Mühe Danke!!! Gruß Orion3000 |
Re: Dateinamen / Dateiendungen extrahieren
durch Verwendung von pos und copy sollte das kein Problem sein. Oder du nimmst eine der fertigen Funktionen (welche unter anderem die Stringlist bietet) welche dies auch verwenden.
|
Re: Dateinamen / Dateiendungen extrahieren
Delphi-Quellcode:
Aufruf dann mit
procedure explode(const separator,haystack: string; l: TStrings);
var s: string; begin l.BeginUpdate; l.Clear; s := haystack; while Pos(separator,s) > 0 do begin l.Add(Copy(s,1,Pos(separator,s) - 1)); Delete(s,1,Pos(separator,s)); end; if Length(s) > 0 then l.Add(s); l.EndUpdate; end;
Delphi-Quellcode:
explode(';',Edit1.Text,ListBox1.Items);
|
Re: Dateinamen / Dateiendungen extrahieren
wenn du echte Pfade hast, dann benutze die Funktion ExtractFileExt. diese liefert dir nur die Fileextention als string zurück. Siehe OH.
Gruß oki [edit] Sorry, falsch verstanden. Dachte es steht immer jeweils ein Eintrag im Edit. Scheint aber nicht so zu sein. Dann wie vorher gesagt mit Pos. [/edit] |
Re: Dateinamen / Dateiendungen extrahieren
Delphi-Quellcode:
var
SL: TStringList; i: Integer; begin SL := TStringList.Create; SL.Delimiter := ';'; SL.DelimitedText := Edit1.Text; for i := 0 to SL.Count -1 do ShowMessage(SL[i]); SL.Free; |
Re: Dateinamen / Dateiendungen extrahieren
Gab es Delimiter und DelimitedText schon unter Delphi 4?
|
DP-Maintenance
Dieses Thema wurde von "Matze" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Sonstige Fragen zu Delphi" verschoben.
In die CL gehören nur funktionierende Code-Snippets. |
Re: Dateinamen / Dateiendungen extrahieren
Hallo Zusammen,
einmal vielen Dank für Eure Mühe! Die Procedure von DeddyH war genau das was ich suchte. Gruß Orion3000 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10: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