Delphi Editfelder in Datei schreiben,Lesen

das könntest du z.b. lösen, indem du zuerst mit pos() die position von "<section name="ContactAdress">" suchst und nur alle zeichen ab dieser position kopierst (mit copy()). die xml-tags musst du dann nur noch daraus löschen (delete()) - und von denen hast du ja die stringlänge.

eine andere möglichkeit wäre, dass du eine schleife verwendest und jedes zeichen einzeln löscht. das könnte so aussehen:
Code:
var
  i: Integer;
  b: Boolean;
begin
  for i := 0 to Length(zeile) do
  begin
    if zeile[i] = '<' then 
      b := True;
    else if zeile[i] = '>' then
      b := False;

    if b then Delete(zeile, i, 1);
  end;
end;
wenn das gefundene zeichen < ist, wird eine markierung gesetzt, und wenn das gefundene zeichen > ist, wird diese markierung aufgehoben. wenn die markierung gesetzt ist, wird das gefundene zeichen gelöscht.
damit sollten dann alle xml-tags verschwunden sein.

was meinst du genau mit "speichern"?
 
das könntest du z.b. lösen, indem du zuerst mit pos() die position von "<section name="ContactAdress">" suchst und nur alle zeichen ab dieser position kopierst (mit copy()). die xml-tags musst du dann nur noch daraus löschen (delete()) - und von denen hast du ja die stringlänge.

Jepp das dacht ich mir auch nur geht mein gewünschter String über mehrere Zeilen und da ich ja mit ReadLn immer nur eine Zeile auslese?

Hm ich versuchs mal irgendwie aber danke schomal mit dem delete, das wusst ich noch net :)

EDIT: Es fuuuuuunzt! Ich werd blöd %) :> Danke
 
Zuletzt bearbeitet:
das mit den mehreren zeilen ist nicht unbedingt ein problem, weil ein string nicht unbedingt mit dem zeilenende aufhört. du kannst mit readln einfach jede zeile einlesen und dann immer die neu eingelesene zeile hinten anhängen.

Code:
var
  datei: TextFile;
  s: String;
  tmp: String;
begin
  // Datei erstmal öffnen.
  while not Eof(datei) do
  begin
    ReadLn(datei, tmp);
    s := s + tmp + #13#10;
  end;
  // Datei schliessen
end;
 
Ach manno :(

Also meine func's funzen jetz :)

Aber jetz brauch ich aus einem String (nennen wir ihn z) den Teil zwischen String1(wanted_start) und String2 (wanted_end)

eigentlich sollte ich das jetz können, aber irgendwie krieg ichs net auf die Reihe :(

Könntet ihr mir nochmal helfen? Ich möchts endlich schnallen den des is mir schon wichtig das ich das kapier :)

Danke :)
 
G'schnallt

Juhuu habs doch geschnallt :)

Hab jetz aber wieder n andres Problem :)

Ich hab mein String, der hat n paar Zeichen, dann einen "_" als Trennung und dann wieder n paar Zeichen. Ich möchte jetz den vorderen Teil in eine Variable stellen und den hinteren in eine seperate :)=

Manchmal kommts auch vor das nur der vordere Teil existiert, dann soll die variable fürn hinteren natürlich leer sein :)
 
Zurück