![]() |
String Zerlegen
Hab da mal ne Frage wieso folgendes nicht funktioniert oder ob nur mein Delphi spinnt...
Delphi-Quellcode:
der Normale String lautet zum Beispiel
FindFiles (Label71.Caption, 'project_1.**.exe', True, ListBox3.Items);
project := ListBox3.Items.Strings[0]; pos1 := Pos('project_', project); pos1 := pos1 + 8; pos2 := Pos('.exe', project); Label73.Caption := copy(project, pos1, pos2 - pos1);
Code:
als ausgabe bekomme ich aber
C:\Program Files (x86)\project\_Germany_\project_1.06.exe
Code:
wieso macht er da den Fehler, Hinterlege ich bsp: den Pfad direkt macht er es ohne probleme!
ram Files (x86)\project\_Germany_\project_1.06
MFG |
Re: String Zerlegen
Was hast du vor?
|
Re: String Zerlegen
Suchst du vielleicht sowas wie ExtractFilePath, ExtractFileExt, ...?
|
Re: String Zerlegen
lasse mir alle Project_1.**.exe in einer Listbox anzeigen, die im ordner project liegen. Dann wollte ich mri den ersten strings eben zerlegen um die version zu bekommen. Dann wird einfach nur die neue Project version in die vorhandene umgeschrieben und dann werden alle alten mit der neuen ersetzt.
Das zerlegen deshalb weil wenn jemand es nutzt der vlt. alle als 1.19a abspeichert muss nun nicht mehr was machen, so wird eben automatisch alles gesucht und in seine version umgeschrieben und ersetzt Hoffe mein geleiere kannste verstehen xD |
Re: String Zerlegen
Das hat aber mit dem Pfad nicht wirklich etwas zu tun, den bekommst Du easy mit den von jaenicke genannten Funktionen.
[edit] Bachstuben wervechselt [/edit] |
Re: String Zerlegen
Wenn
Delphi-Quellcode:
als Ergebnis 0 ergibt, ist die Ausgabe wie beschrieben.
pos1 := Pos('project_', project);
...und wenn Deine Dateien Zitat:
|
Re: String Zerlegen
Dann würde ich zuerst den Pfad entfernen ExtractFileName() und dann anhand der Punkte zerlegen.
|
Re: String Zerlegen
...und halt schauen, ob das Problem an der Case-Sensitiven Suche des Teilstring liegt.
|
Re: String Zerlegen
Hallo,
ich hab deinen Code mal ausprobiert. Mein (Test-)Code:
Delphi-Quellcode:
Und als Text im Label kommt "1.06" raus.
procedure TForm1.Button1Click(Sender: TObject);
var project: String; pos1: Integer; pos2: Integer; begin project := 'C:\Program Files (x86)\project\_Germany_\project_1.06.exe'; pos1 := Pos('project_', project); pos1 := pos1 + 8; pos2 := Pos('.exe', project); Label1.Caption := copy(project, pos1, pos2 - pos1); end; |
Re: String Zerlegen
ExtractFileName funzt wunderbar
@Helmi wenn ich direkt den Pfad als String angeben habe hat es auch gefunzt nur wenn ich den string aus Listbox geholt habe gings nicht mehr! Aber danke für eure einfachere Hilfe, spart auch wieder code xD Merci an alle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 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 by Thomas Breitkreuz