Einzelnen Beitrag anzeigen

c-bob

Registriert seit: 11. Jun 2009
12 Beiträge
 
#5

Re: Records auswerten

  Alt 11. Jun 2009, 15:02
Zitat von Apollonius:
Mit Records funktioniert das nicht, da die Feld-Namen nicht mehr im Kompilat auftauchen. Wenn du auf Klassen umsteigen würdest, könnte man das Problem mit Hilfe der RTTI lösen.
Wie würde das denn ungefähr aussehen? Momentan wollte ich folgende Struktur nutzen:

Delphi-Quellcode:
type TDBconf=record
     host:string;
     user:string;
     password:string;
     db:string;
     ident:string;
end;

type
 { TInisettings }
 TInisettings = class(TObject)
 private
 public
   LConfig:TDBconf;
   constructor Create;
   destructor Destroy; override;
 end;

constructor TInisettings.Create;
var Inicontrol:TInicontrol;
    i:int;
    idlist : array[0..4] of string = ('host', 'user', 'password', 'db', 'ident');
    id, sec : string;

begin
     Inicontrol:=TInicontrol.Create;
    try
            sec:='local';
            for id in idlist do
            begin
                 Inicontrol.getId(sec,id,LConfig."id"); <-- die beiden Zeilen funktionieren nicht,
                 ShowMessage(LConfig."id"); <-- weiss ich. ging ums Prinzip... (php ist doch schön ;-)
            end;
     finally
           Inicontrol.Free;
     //      ShowMessage(LConfig.host);
     end;
end;
Wie wäre dann der Ansatz mittels Objecten? Einfach anstelle des records den Typ auf Object setzen und constructor/destructor hinzufügen und einfach weitermachen?

Und nochwas, warum bin ich nun im Lazarus-Forum? Ist doch eher ne allgemeine und Systemunabhängige Frage gewesen?!

Gruß
-C-
  Mit Zitat antworten Zitat