Ich denke, durch die Verwendung von Arrays wird es eher mehr Schreib- und Pflegeaufwand.
Wie wäre es mit den OnGetText/OnSetText Events?
Ansonsten könntest Du folgendes machen:
Delphi-Quellcode:
type
TMeinFeld = record
Feld: string;
Wert: string; // oder Variant;
end;
...
public/private
MeinArray: array of TMeinFeld;
Dann:
Delphi-Quellcode:
procedure TForm1.ReadShopdaten;
var i: integer;
begin
SetLength(MeinArray,
Query.Fields.Count);
for i:=0
to Query.Fields.Count-1
do
begin
MeinArray[i].Feld :=
Query.Fields[i].FieldName;
MeinArray[i].Wert :=
Query.Fields[i].AsString;
end;
end;
So könntest Du die Werte in die
DB schreiben:
Delphi-Quellcode:
procedure TForm1.WriteShopdaten;
var i: integer;
begin
for i:=0
to High(MeinArray)
do
begin
Query.FieldByName(MeinArray[i].Feld).AsString := MeinArray[i].Wert;
end;
end;
Wenn Du ein Feld suchst wieder mit ner for-Schleife durchsuchen:
Delphi-Quellcode:
for i:=0 to High(MeinArray) do
begin
if MeinArray[i].Feld = GesuchtesFeld then
begin
... // z.B. Wert lesen oder schreiben
break;
end;
end;
Das ganze ist aber meiner Meinung nach mehr Schreibaufwand, da Du praktisch einen Teil der
Query nachprogrammierst.
Grüsse
...Doc