![]() |
Dateinamen Parsen
Guten Morgen,
ich habe einen Dateinamen in folgender Form: Zitat:
Viele Grüße, Ducksoul |
Re: Dateinamen Parsen
Guten Morgen,
Du könntest Dir die Funktion pos in der Delphihilfe mal etwas näher anschauen. Oder Du suchst hier im Forum mal nach explode, das zerlegt Dir den String in 3 Einzelteile. Grüße Klaus |
Re: Dateinamen Parsen
Ich sollte mir vielleicht mal angewöhnen erst ordentlich zu suchen und dann Fragen zu stellen. Mit Pos hatte ich es heute morgen schon versucht und nicht hinbekommen, aber jetzt hat es doch geklappt.
Hier meine Funktion: (bei der iPosRight wird von rechts nach links geguckt, da ja evt. auch im Betreff ein '-' vorhanden sein kann)
Delphi-Quellcode:
Vielen Dank für den Gedankenstoß Klaus :)
(* Betreff aus Diktatnamen ermitteln *)
function TFormular.GetBetreff(FileName: String): String; var iPos, iPosLeft, iPosRight, i: Integer; begin // Betreff Parsen Result := ''; iPosLeft := PosEx('-', FileName, 1) + 2; i := Length(FileName); repeat iPosRight := PosEx('-', FileName, i); i := i-1; // i-- geht nich? until iPosRight <> 0; iPosRight := iPosRight - 1; Result := Copy(FileName, IPosLeft, IPosRight-IPosLeft); end; // function GetBetreff Viele Grüße, Franz |
Re: Dateinamen Parsen
Zitat:
|
Re: Dateinamen Parsen
Ah, so geht das also in Delphi. *g* Danke :)
|
Re: Dateinamen Parsen
kleine Anmerkung am Rande: Man sollte doch besser i := i-1 nehmen, da Dec bei manchen Prozessoren eine Performanceschwäche aufweist. (Ich hoffe doch sehr inständig, dass meine Daten noch nicht veraltet sind.)
Bernhard |
Re: Dateinamen Parsen
Ich habe es mal genau andersherum gehört. Allerdings soll der resultierende Assembler-Code bei beiden Varianten exakt identisch sein (hab ich aber noch nicht ausprobiert), so dass es letztendlich keine Rolle spielt, welche Variante man nimmt.
|
Re: Dateinamen Parsen
Das ist für mich eher ne konzeptuelle Frage: Wenn ich i dekrementieren will, schreibe ich Dec(i) und nicht eine Monstrosität wie i := i-1. :twisted:
|
Re: Dateinamen Parsen
Zitat:
In diesem Fall wäre es egal, was verwendet wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:39 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