Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Verständnisfrage zu Kompo-Create und SQL (https://www.delphipraxis.net/115586-verstaendnisfrage-zu-kompo-create-und-sql.html)

Privateer3000 14. Jun 2008 13:46

Datenbank: mdb • Zugriff über: ado

Verständnisfrage zu Kompo-Create und SQL
 
Hallöchen Gemeinde,
ich häng an einem Problem fest.
TPanels sollen mit Buttons bestückt werden.
Die Panels existieren schon und haben Namen lt. Tabelle "panels".
Praktischerweise will ich nun nicht 2 Abfragen starten
sondern nur eine.
Delphi-Quellcode:
pansel.SQL.Text:='SELECT A.panelnr,B.ebene,B.anzeige,B.wert,B.farbe,B.fogr';
  pansel.SQL.Add(' FROM panels AS A INNER JOIN buttons AS B');
  pansel.SQL.Add(' ON A.panelnr=B.ebene');
  pansel.Open; pansel.First; j:=0;
  while not pansel.Eof do begin
  Spalte := j mod 6;
     Zeile := j div 6;
     aBut:=TXiButton.Create(main);
     aBut.Left:=Spalte*115; aBut.Top:=Zeile*45;
     ...
     aBut.Font.Size:=pansel.fieldbyname('fogr').AsInteger;
     aBut.Hint:=pansel.fieldbyname('anzeige').asString;
     aBut.ColorScheme:=GetCoSche(pansel.fieldbyname('farbe').AsString);
     aBut.Caption:=pansel.fieldbyname('anzeige').AsString;
     aBut.Tag:=pansel.FieldByName('wert').AsInteger;
     aBut.OnClick:=main.form.p1_1click;
     inc(j);
    //end;
  pansel.Next;
  end;
nun wird mit "j" die position festgelegt wo der Button sich befinden soll.
Da nun das alles runterrasselt wird "j" immer weiter inkrementiert und nicht beim nächsten panel
wieder auf 0 gesetzt.

Ich glaube ich hab mich nun etwas festgefahren, soll ich besser die Panels auch erst
kreiern wenn die buttons erstellt werden?
Oder ist das alles Quatsch und ich bin völlig falsch...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz