![]() |
Textdatei in verschiedene Variablen
ich weis ähnliche themen wurden hier schon öfter besprochen, bekomme es aber trotzdem nicht hin. (warscheinlich weil ich grad delphi versuche zu lernen :wink: )
ich habe eine textdatei die folgendermaßen aufgebaut ist: 1001|729|999|500000|0 ich möchte nun 1001, 729, 999, 500000, 0 jeweils in eine extra variable übernehmen. kann mir das jemand mal etwas genauer erklähren? bekomme es einfach nicht hin. danke im vorraus für eure hilfe :thuimb: |
Re: Textdatei in verschiedene Variablen
In der Code-Lib nach
![]() |
Re: Textdatei in verschiedene Variablen
Zitat:
|
Re: Textdatei in verschiedene Variablen
sorry, ist für mich irgendwie schwer zu verstehen. kann das vielleicht jemand an meinem beispiel erläutern? :oops: :oops: :oops:
|
Re: Textdatei in verschiedene Variablen
So schwer ist das doch nicht. :zwinker:
Die Funktion Explode aus der CodeLib:
Delphi-Quellcode:
Und ein Beispiel zu deren Verwendung:
function Explode(const Separator, S: string; Limit: Integer = 0): TStringDynArray{Array of String};
var SepLen: Integer; F, P: PChar; ALen, Index: Integer; begin SetLength(Result, 0); if (S = '') or (Limit < 0) then Exit; if Separator = '' then begin SetLength(Result, 1); Result[0] := S; Exit; end; SepLen := Length(Separator); ALen := Limit; SetLength(Result, ALen); Index := 0; P := PChar(S); while P^ <> #0 do begin F := P; P := AnsiStrPos(P, PChar(Separator)); if (P = nil) or ((Limit > 0) and (Index = Limit - 1)) then P := StrEnd(F); if Index >= ALen then begin Inc(ALen, 5); SetLength(Result, ALen); end; SetString(Result[Index], F, P - F); Inc(Index); if P^ <> #0 then Inc(P, SepLen); end; if Index < ALen then SetLength(Result, Index); end;
Delphi-Quellcode:
Var S: String;
SA: Array of String; S := '1001|729|999|500000|0'; {S einlesen} SA := Explode('|', S); {S aufsplitten und in SA speichern} {'|' = Zeichen mit dei Werte getrennt sind} SA[0] = '1001' {aufgesplittete Werte} SA[1] = '729' SA[2] = '999' SA[3] = '500000' SA[4] = '0' |
Re: Textdatei in verschiedene Variablen
Oder Du benutzt die Delphi-Funktion "ExtractStrings", die irgendwie kaum jemand zu kennen scheint :roll: (zumindestens ab Delphi 5 gibt es die glaube ich).
Delphi-Quellcode:
:hi:
var S: String;
Items: TStringList; Count: Integer; begin S := '1001|729|999|500000|0'; // Der Beispielstring... Items := TStringList.Create; // Delphi-eigene Funktion, gibt Anzahl der Items als Result zurück! Count := ExtractStrings(['|'], [], PChar(S), Items); // Count nur zur Demo, ist hier ungenutzt. // Der Zugriff funktioniert dann so: (Beispiel) Edit1.Text := Items[2]; // gibt '999' zurück Items.Free; end; |
Re: Textdatei in verschiedene Variablen
danke für eure hilfe :thuimb: jetzt ist alles klar und deutlich und funktioniert :wink:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 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