AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Datei mit RegEx parsen - wie generell vorgehen? Performance
Thema durchsuchen
Ansicht
Themen-Optionen

Datei mit RegEx parsen - wie generell vorgehen? Performance

Ein Thema von Pilloker · begonnen am 9. Mai 2009 · letzter Beitrag vom 14. Mai 2009
 
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#4

Re: Datei mit RegEx parsen - wie generell vorgehen? Performa

  Alt 11. Mai 2009, 08:10
Zitat von worker:
Hat denn niemand eine Meinung dazu? Mich würde es auch interessieren, wie Ihr da so vorgeht.
Hallo,

ich programmiere mir dazu eine Klassenhierarchie, z.B. für die schon ziemlich komplexe Definition einer Leiterplatte. Dazu gibt es ein Root-Objekt, und die Datei fängt ja auch mit einem Objekt "PCB" an. Wenn ich dem Rootobjekt einen Datenamen übergebe, wird die Datei gelesen - das Objekt PCB weiss welche Unterobjekte (Assignments, Library, Components...) enthalten sein können: kommt da Library, so wird ein Unterobjekt angehängt, das die Subklasse Library hat und seinerseits die Datei weiterliest und z.B. Footprint findet, dann wird ein Objekt Footprint angehängt usw. usw.

Jede Subklasse weiss, was an Daten enthalten sein kann, z.B. kann ein Footprint beliebig viele Pads enthalten und diese jeweils X und Y Koordinaten, Drehwinkel, Bohrdurchmesser usw. Ein Drehwinkel ist dabei ein generisches Objekt (weil er in der Textdatei auch immer gleich formatiert ist) und hat in dem Fall als Parent eben das Pad. Unbekannte Definitionen werden bis zum Ende gelesen und ignoriert, das erleichtert die Entwicklung und macht die Software sehr robust.

Langer Rede kurzer Sinn: Mit Root-Objekt und Assign einer Datei entsteht von selbst ein Object Tree, der die Leiterplatte komplett repräsentiert, auch wenn sie 100000 Details enthält. Dabei stecken Syntax und Semantik der Datei in der Klassenhierarchie, während sich die Struktur der Leiterplatte im Object Tree abbildet, den man anschliessend weiterverarbeitet. Hat sich auch als pflegefreundlich erwiesen, wenn z.B. bei den Bauteilen ein "Wert" zusätzlich definiert wird, so füge ich in der Subklasse Component dem Suchen nach Details den Case "Value" zu und dazu wird eine neue Subklasse Value definiert, die ihrerseits einen Text in Anführungszeichen einliest (Standardmethode) oder was auch immer.

Mehr anzuführen hat hier keinen Sinn, ist ja auch kein Delphi-Thema.

Gruss Reinhard
  Mit Zitat antworten Zitat
 


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 00:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz