Wenn ich die Anfrage richtig verstanden habe, sollen Inhalte von Spalten abgefragt werden, wobei die Spaltennahmen bis auf die angehängten Nummern im Namensstring gleich sind. In meinen
DB-Anwendungen speichere ich Spaltenbreiten von
DB-Grids auf diese Weise. Um die Spaltenbreiten beim Programmstart einzulesen, verwende ich folgende Methode:
Delphi-Quellcode:
Procedure TFormMain.EinstellungenLesen;
Var
i, z : Integer;
Spalte : String;
begin
z := DbGrid_LogAccess.Columns.Count;
If z > 0 Then
For i := 0 To z-1 Do
Begin
Spalte := 'LOG_' + GLD.Plus_String(IntToStr(i),'0',2);
DbGrid_LogAccess.Columns[i].Width := DatMod.Qset_BTab.FieldByName(Spalte).AsInteger;
End;
end;
Dabei wird der Spaltenname bei jedem Schleifendurchauf neu gesetzt. Die Methode GLD.Plus_String fügt am Anfang des übergebenen Strings das übergebene Zeichen so lange hinzu, bis die Länge erreicht ist, die im dritten Parameter übergeben wurde. Beim Programmende werden die Spaltenbreiten auf dieselbe Weise gespeichert. Einziger Unterschied: Die Zuweisung in der zweiten Zeile der For-Schleife wird umgedreht (Alt-Shift-R bei markierter Zeile ausführen).