Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 

Re: himXML (gesprochen himix ML)

  Alt 26. Aug 2009, 08:59
Hab den Dialog jetzt mit ins Projekt eingefügt, allerdings fehlt dazu noch eine Demo
(aber da gibt's ja weiter oben wenigstens ein paar Beispiele)

Die meißten Änderungen gab es vorallem in den Tools, wo die eine Klasse nun so aussieht:
Delphi-Quellcode:
TXMLProjectOptions = Class
  Constructor Create;
  Destructor Destroy;

  Property AutorOrCompany: String;
  Property Project: String;
  Property OptionsVersion: String;

  Property AllowedLocations: TXMLPOLocations;
  Property FileName: TWideString;
  Property Protection: AnsiString;

  Function ExistingLocations: TXMLPOLocations;
  Function PossibleLocations: TXMLPOLocations;

  Function Open: Boolean;
  Function Open (Location: TXMLPOLocation): Boolean;
  Property ActiveLocation: TXMLPOLocation;

  Property ReadOnly: Boolean;

  Procedure BeginUpdate;
  Property Value [Name: String]: Variant;
  Property ValueFmt [Name: String; Fmt: Variant]: Variant;
  Procedure SaveObject (Name: String; Value: TObject);
  Procedure LoadObject (Name: String; Value: TObject);
  Property Protect [Name: String]: Boolean;
  Function Exists (Name: String): Boolean;
  Function GetValueDef (Name: String; Default: Variant): Variant;
  Function GetValueDef (Name: String; Default, Min, Max: Variant): Variant;
  Function TryGetValue (Name: String; Var Value: Variant): Boolean;
  Function TryLoadObject(Name: String; Value: TObject): Boolean;
  Procedure DeleteValue (Name: String);
  Procedure EndUpdate;

  Procedure Save (Location: TXMLPOLocation; DeleteOther: Boolean);
  Procedure Close;
  Procedure Delete (Location: TXMLPOLocation);
  Procedure DeleteAllOptionFiles;

  Property OnSelectLocation: TXMLPOSelectLocation;
  Property OnException: TXMLPOErrorProc;

  Function GetPath (Location: TXMLPOLocation): String;

  Property Tag: Integer;
End;
Vorallem die ...Def- und Try...-Funktionen würden überarbeitet/erweitert und es gab Änderungen in der Verzeichnisbehandlung.
Delphi-Quellcode:
Self.Left := Options.GetValueDef('window\left', Left);
ComboBox1.ItemIndex := Options.GetValueDef('view', 1, 0, ComboBox1.Items.Count - 1);
Als nächstes wird der SAX-Parser überarbeitet
und es wird eine Umkehrklasse dazu entstehen, also so das man auch sehr sehr große XML-Dateien effektiv erstellen kann.

[add]
Options.ValueFmt['directory\name%d', i] hatte ich vergessen zu erwähnen ... dort kann man einen Parameter (aktuell leider nur String oder Integer) angeben, welcher dann via Format eingefügt wird ... wollte mir damit etwas das Leben erleichtern, da ich vorher soetwas hatte
Options.ValueFmt['directory\name' + IntToStr(i)]
Angehängte Dateien
Dateityp: 7z himxml_543.7z (1,09 MB, 3x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat