Thema: Delphi Eigenes Dateiformat

Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 20:59
Leutchens? Für sowas ist Automatentheorie gut
Man nehme einen Bei Google suchendeterministischen endlichen Automaten (DEA) und schon geht das ganze ganz einfach.

In etwa so:
Delphi-Quellcode:
type
  TReader = class
  private
    IsTag: Boolean;
    Values: TDictionary<string, string>;
    Current, Tag: string;
  public
    procedure Feed(c: Char);
    procedure Push;
  end;

procedure TReader.Push;
begin
  if IsTag then begin
    Tag := Current;
    Current := '';
  end else begin
    Values[Tag] := Current;
    Current := '';
  end;
end;

procedure TReader.Feed(c: Char);
begin
  if c = '<then begin
    Push;
    IsTag := true;
  end else if c = '>then begin
    Push;
    IsTag := false;
  end else Current := Current + c;
end;

...

for i := 1 to Length(dateialsstring) do
  Reader.feed(dateialsstring[i]);
Keine Garantie auf Richtigkeit, nur schnell zusammengetippt.

Geändert von implementation (23. Okt 2010 um 21:01 Uhr)
  Mit Zitat antworten Zitat