Thema: Delphi Stream bearbeiten - wie?

Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Stream bearbeiten - wie?

  Alt 4. Okt 2004, 08:58
du könntest das ganze mit PosEx machen, damit kannst du die start-such-position angeben.
Ungefähr so sollte das ganze dann aussehen (davon ausgegangen das dein Stream in "Suchstring" steht
Delphi-Quellcode:
var LStartpos: Integer;
    LZahlen: String;
begin
  LZahlen := '0123456789';
  LStartpos := 1;
  while (LStartpos < length(Suchstring)) and (LStartpos > 0) do
  begin
    LStartpos := PosEx('.', Suchstring, LStartpos);
    if LStartpos > 0 then //wenn punkt gefunden wurde
    begin
      //sicherstellen das nicht ".pdf" etc gefunden wurde sonder eine zahl folgt
      if pos(Suchstring[LStartpos + 1], LZahlen) > 0 then
      begin
        //punkt entfernen
        Suchstring := copy(Suchstring, 1, LStartpos - 1) + copy(Suchstring, LStartpos +1, length(Suchstring));
        //jetzt noch letzte zahl finden um leerzeichen einzufügen
        while pos(Suchstring[LStartpos], LZahlen) > 0 do inc(LStartpos);
        //jetzt sollte LStartpos hinter der letzten zahl sein
        Suchstring := copy(Suchstring, 1, LStartpos - 1) + ' ' + copy(Suchstring, LStartpos, length(Suchstring));
      end else inc(LStartpos);
    end;
  end;
Source ist ungetestet und soll nur als gedankenanstoß dienen
[Edit]Inzwischen getestet und funzt (Source verbessert)[/Edit]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat