Daten kann ich leider hier nicht veröffentlichen.
Die Daten entstehen durch die Benutzung der Software aber vor allem auch durch Testcases.
(wir verwendenden MSBuild und Jenkins).
Ziel ist dabei die Optimierung von Algorithmen.
Für mich der Vergleich der Ergebnisse mit verschiedenen testdaten als auch mit verschiedenen Code- Varianten hilfreich.
Delphi-Quellcode:
Type LoggeAlles = class
private
FComputername : String;
public
Ausführungsdatum : TDatetime ;
Ausführunsgzeit1 : TDatetime ;
Ergebnis1 : Float;
.....
...
/// NEU : für alle Felder die ich auslesen will werden jetzt properties eingeführt
property Computername : String read FComputername write FComputername;
end;
/// diese Funktion liefert mir die Namen alles Prop. meiner Klasse als Stringliste
procedure CheckProperties(Obj: TObject; sLst : TStringlist);
var
ctx: TRttiContext;
objType: TRttiType;
Prop: TRttiProperty;
begin
ctx := TRttiContext.Create;
objType := ctx.GetType(Obj.ClassInfo);
for Prop in objType.GetProperties do
sLst.Add(Prop.Name);
end;
Aktuell suche ich eine Optionen bestimmte Feldnamen in eine *.csv Datei ausgewählt über die property &
RTTI zu schreiben
Delphi-Quellcode:
/// Lösung : Für alle ausgewählten Properties meiner Klasse den Wert des
/// Feldes in eine Memo , *.csv oder .... schreiben
///
for j := 0
to LoggeAllesList.Count - 1
do
begin
aLoggeAlles := LoggeAllesList.Items[j];
ctx := TRttiContext.Create;
objType := ctx.GetType(aLoggeAlles);
/// ----- >>>> AV ???
for i := 0
to sLst.Count - 1
do
begin
FField := objType.GetField(sLst[i]);
Memo.Lines.Add( FField.ToString );
end;
end;
Warum bekomme ich eine
AV im Code oben