Critter hat folgendes geschrieben: |
mit einem Aufzählungstypen als Arrayindes könnte es etwas weniger Tipparbeit werden:
|
danke für den rat, aber da ich das ganze aus einer datei auslese, muss ich das ganze mit strings ansprechen können.
im endeffekt werde ich das dann so machen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| const Names: Array [0..4] of String = ('colorA', 'colorB', 'colorFont', 'colorBig', 'colorHigh');
var vars: Array [0..4] of TColor;
function GetIndexByName(Name: String): Integer; var i: Integer; begin Result := -1; for i := 0 to 4 do if (Name = Names[i]) then begin Result := i; Exit; end; end; |
aufgerufen wird das ganze dann beim aufruf in etwa so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var i: Integer; begin for i := 0 to XML.Root.SubItemsCount - 1 do vars[GetIndexByName(XML.Root.SubItems[i].Name)] := XML.Root.SubItems[i].Params.Values['color']; end; |
dies ist jedoch nur ein schneller prototyp denn ich hier nur schnell herskizziert hab. wenn das ganze eingebaut ist, werde ich diesen post mit den relevanten aufrufen und definitionen/deklarationen aktualisieren und wenn das projekt lauffähig ist, kommts in die opensource projekte rein ^^
danke trotzdem für die posts!
~HKK