Einzelnen Beitrag anzeigen

akio87

Registriert seit: 18. Mär 2010
44 Beiträge
 
Delphi XE8 Architect
 
#9

AW: Webanwendung Objekte zur Laufzeit erstellen

  Alt 25. Mai 2015, 15:34
Vielen Dank an Alle! Echt, ihr seid super!

klappt so, wie ich es mir vorstelle

Code:
procedure Tfmstart1.UniButton1Click(Sender: TObject);
var
 i: Integer;
begin
  UniServerModule.SQLTable1.Active := false;
  UniServerModule.SQLTable1.TableName := 'artikelliste';
  UniServerModule.SQLTable1.Active := true;
  UniServerModule.SQLTable1.Open;

  for i := Low( PanelArray) to High(PanelArray) do
   begin
     PanelArray[i].Free;
   end;


  UniServerModule.SQLTable1.First;
  For i := 1 to UniServerModule.SQLTable1.RecordCount do
   begin
     //Panel erstellen
     PanelArray[i] := TUniPanel.Create(self);
     PanelArray[i].Parent := UniPanel1;
     PanelArray[i].SetBounds(0,100*i -100,UniPanel1.Width,100);
     PanelArray[i].Name := 'ArrayPanel' + IntToStr(i);

     //TPanel in der höhe erweitern
     UniPanel1.Height := UniPanel1.Height + PanelArray[i].Height;

     //Button auf erstellten Panel erstellen
     ButtonArray[i] := TUniButton.Create(self);
     ButtonArray[i].Parent := PanelArray[i];
     ButtonArray[i].SetBounds(PanelArray[i].Width - 80 , PanelArray[i].Height - 30 ,75,25);
     ButtonArray[i].Caption := 'Warenkorb';
     //ButtonArray[i].OnClick := muss noch erstellt werden

     //Label setzen und Namen aus Datenbank definieren
     ArtNameArray[i] := TUniLabel.Create(self);
     ArtNameArray[i].Parent := PanelArray[i];
     ArtNameArray[i].SetBounds(10, 10 ,100,13);
     ArtNameArray[i].Caption := UniServerModule.SQLTable1.fieldByName('Hersteller').AsString + ' ' + UniServerModule.SQLTable1.fieldByName('ArtBZ').AsString;

     ArtNrArray[i] := TUniLabel.Create(self);
     ArtNrArray[i].Parent := PanelArray[i];
     ArtNrArray[i].SetBounds(10, ArtNameArray[i].Top + 20, 50, 13);
     ArtNrArray[i].Caption := UniServerModule.SQLTable1.fieldByName('ArtNr').AsString;

     //Next zeile
     if not UniServerModule.SQLTable1.EOF then
      begin
        UniServerModule.SQLTable1.Next;
      end;
   end;
end;
Miniaturansicht angehängter Grafiken
screenshot.jpg  
  Mit Zitat antworten Zitat