Einzelnen Beitrag anzeigen

Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Panels und Buttons mit sql generieren

  Alt 20. Mär 2008, 13:29
Hallo und Danke ersteinmal,
im Moment sieht es so aus wie im folgenden Code.
Da steuer ich dies mit bde, also t1.first usw.
da ich nun auf ADO umstelle muss dies mit sql erfolgen.
Kann man mit einem und dem selben query in einer Schleife
abfragen? Wird dieser nicht jedesmal mit "clear" gesäubert?
Oder sollten dafür 2 Querys benutzt werden?!
Delphi-Quellcode:
t2.First;
while not t2.Eof do begin
  tpa:=TsPanel.Create(Self);
  grunam:=t2.FieldByName('NAME').AsString;
  tpa.Parent:=mainpanel;
  tpa.Visible:=true;
  tpa.Left:=316;
  tpa.Top:=260;
  tpa.Height:=393;
  tpa.Width:=694;
  tpa.Name:='panb'+IntToStr(ianz);
  tpa.Caption:='';
  (Findcomponent('panb0') as Tpanel).bringtofront;
  i:=0;
  t1.Filter:='GRUPPE='+QuotedStr(grunam);
  t1.Filtered:=True;
  t1.First;
while not t1.eof do begin
  Spalte := i mod 6;
  Zeile := i div 6;
  butsleft:=t1.fieldByName('SETLEFT').AsInteger;
  butstop:=t1.fieldByName('SETTOP').AsInteger;
  aLabel:=TXiButton.Create(Self);
  aLabel.Parent:=findcomponent('panb'+Inttostr(ianz))as TPanel;
  aLabel.Visible:=True;
  if (butsleft = 0) AND (butstop = 0) then begin
  aLabel.Left:=Spalte*115; aLabel.Top:=Zeile*45; end else begin
  aLabel.Left:=butsleft; aLabel.Top:=butstop; end;
  alabel.Width:=113;
  alabel.Height:=43;
  aLabel.ShowHint:=True;
  aLabel.Font.Size:=t1.fieldbyname('FOGR').AsInteger;
  aLabel.Font.Style:=[fsbold];
  aLabel.Hint:=t1.fieldbyname('ANAME').asString;
  aLabel.ColorScheme:=GetColorScheme(t1.fieldbyname('FARBE').AsString);
  aLabel.Caption:=t1.fieldbyname('kurz').AsString;
  aLabel.Tag:=t1.FieldByName('anr').AsInteger;
  aLabel.OnClick:=kassbutclick;
  //aLabel.OnMouseDown:=FormMouseDown;
  //aLabel.OnMouseUp:=FormMouseUp;
  //aLabel.OnMouseMove:=FormMouseMove;
  t1.Next;
  inc(i);
end;
t1.Filtered:=False;
t2.Next;
inc(ianz);
end;
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat