AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei in verschiedene Variablen

Ein Thema von Zeitkritiker · begonnen am 3. Nov 2003 · letzter Beitrag vom 3. Nov 2003
Antwort Antwort
Zeitkritiker

Registriert seit: 3. Nov 2003
8 Beiträge
 
#1

Textdatei in verschiedene Variablen

  Alt 3. Nov 2003, 12:42
ich weis ähnliche themen wurden hier schon öfter besprochen, bekomme es aber trotzdem nicht hin. (warscheinlich weil ich grad delphi versuche zu lernen )

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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Textdatei in verschiedene Variablen

  Alt 3. Nov 2003, 13:05
In der Code-Lib nach ExplodeExplode suchen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Zeitkritiker

Registriert seit: 3. Nov 2003
8 Beiträge
 
#3

Re: Textdatei in verschiedene Variablen

  Alt 3. Nov 2003, 13:13
Zitat von Luckie:
In der Code-Lib nach ExplodeExplode suchen.
danke, werd mir das mal ansehen 8)
  Mit Zitat antworten Zitat
Zeitkritiker

Registriert seit: 3. Nov 2003
8 Beiträge
 
#4

Re: Textdatei in verschiedene Variablen

  Alt 3. Nov 2003, 13:16
sorry, ist für mich irgendwie schwer zu verstehen. kann das vielleicht jemand an meinem beispiel erläutern?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#5

Re: Textdatei in verschiedene Variablen

  Alt 3. Nov 2003, 14:43
So schwer ist das doch nicht.

Die Funktion Explode aus der CodeLib:
Delphi-Quellcode:
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;
Und ein Beispiel zu deren Verwendung:
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'
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Textdatei in verschiedene Variablen

  Alt 3. Nov 2003, 15:32
Oder Du benutzt die Delphi-Funktion "ExtractStrings", die irgendwie kaum jemand zu kennen scheint (zumindestens ab Delphi 5 gibt es die glaube ich).

Delphi-Quellcode:
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;
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
Zeitkritiker

Registriert seit: 3. Nov 2003
8 Beiträge
 
#7

Re: Textdatei in verschiedene Variablen

  Alt 3. Nov 2003, 15:37
danke für eure hilfe jetzt ist alles klar und deutlich und funktioniert
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz