Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dateinamen / Dateiendungen extrahieren (https://www.delphipraxis.net/94958-dateinamen-dateiendungen-extrahieren.html)

orion3000 28. Jun 2007 15:44


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

SirThornberry 28. Jun 2007 15:47

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.

DeddyH 28. Jun 2007 15:52

Re: Dateinamen / Dateiendungen extrahieren
 
Delphi-Quellcode:
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;
Aufruf dann mit
Delphi-Quellcode:
explode(';',Edit1.Text,ListBox1.Items);

oki 28. Jun 2007 15:58

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]

ErazerZ 28. Jun 2007 16:05

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;

DeddyH 28. Jun 2007 16:59

Re: Dateinamen / Dateiendungen extrahieren
 
Gab es Delimiter und DelimitedText schon unter Delphi 4?

DP-Maintenance 28. Jun 2007 17:34

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.

orion3000 29. Jun 2007 07:37

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