Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#13

AW: For-Schleife in Tabelle

  Alt 29. Sep 2015, 21:18
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).
  Mit Zitat antworten Zitat