Einzelnen Beitrag anzeigen

Real_Thunder

Registriert seit: 25. Apr 2006
197 Beiträge
 
#14

Re: dynamisches array in datei speichern

  Alt 30. Mai 2006, 18:27
Also das Auslesen ist ca. genau so leicht

Wenn du dich mit PHP auskennst, dann kennst du die Funktion Explode

da es diese für Delphi nicht gibt, macht man sich einfach eine.

Dies Packst du einfach unter das {R *.dfm}

Delphi-Quellcode:
type TExplode_Array= array of String;

 function Explode(const Separator, S: string; Limit: Integer = 0): TExplode_Array;
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 dann Benutz du es So:

Delphi-Quellcode:

var x_element: Array of TExplode_Array;
    x,y: Integer;
  aktueles_zeilen_array[y]: Array Of String;
// Datei Öffnen

// zeilenanzahl auslesen

for y = 0 to zeilenanzahl -1 do beginn
  x_element[y] := Explode('<tz>', zeileninhalt);
end;
Nicht getesten, und sicherlich fehler drin, aber ein Denkansatz.

MfG Real_Thunder
  Mit Zitat antworten Zitat