AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Panels und Buttons mit sql generieren
Thema durchsuchen
Ansicht
Themen-Optionen

Panels und Buttons mit sql generieren

Ein Thema von Privateer3000 · begonnen am 20. Mär 2008 · letzter Beitrag vom 21. Mär 2008
 
oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#3

Re: Panels und Buttons mit sql generieren

  Alt 20. Mär 2008, 12:02
Hi
Nun ja, ich weiß jetzt nicht so recht, was du sehen willst, daher mal meinen Ansatz:
Ich habe eine Tabelle, in denen Panels beschrieben sind
also
ID - Für die eindeutige Zuordnnung in der DB
PN_Name - PanelName
PN_Top - y-Position auf der Form
PN_Left -x-Position auf der Form
PN_Width - Weite
PN_Heigth- Höhe
PN_Color - Farbe
usw. also alles, was über das Panel wichtig ist....

Nun kommt die Tabelle der Buttons
ID- für die eindeutige Zuordnung in der DB
BT_Name - ButtonName
BT_Top - y-Position auf dem Panel !!
BT_Left - x-Position auf dem Panel !!
usw... auch wieder alles, was zum Button gehört
zusätzlich einen Zeiger auf den ID des Panels
Bt_Parent_Id vom Typ Integer oder LongInt

Nun die Installation
Ich schreibe mir immer einen SQLString, den ich dann per Add der Query zuweise

Delphi-Quellcode:
MySQLStr:='Select * From PanelTabelle';
  MyPanelQuery. Close;
  MyPanelQuery.SQL.Clear;
  MyPanelQuery.SQL.Add(MySQLStr);// ist mit Haltepunkt immer leicht zu kontrollieren
  MyPanelQuery.Open; // auch wenns eine richtig umfangreiche SQL -Abfrage ist
  If MyPanelQuery.RecordCount>0 then
  Begin
    MyPanelQuery.First;

    For i:=MyPanelQuery.RecordCount-1 do
    Begin
     ...... // Installation der Panels
     MySQLStr:='Select * From ButtonTabelle';
     MySQLStr:=MySQLStr+' Where (Bt_Parent_Id=+'''+IntToStr(MyPanelQuery['Ident'])+''')';
     MyButtonQuery. Close;
     MyButtonQuery.SQL.Clear;
     MyButtonQuery.SQL.Add(MySQLStr);
     MyButtonQuery.Open;
     If MyButtonQuery.RecordCount>0 then
     begin
       MyButtonQuery.First;
       For j :=0 to MyButtonQuery.RecordCount-1 do
       begin
         ...... // Installation der Buttons
         MyButtonQuery.Next;// nicht vergessen
       end;
     end;
     MyPanelQuery.Next;
   end;
 end;
Natürlich kannst du auch auf MyPanel['Panel_Name'] suchen und den BT_Parent_Id entsprechend mit dem Panelnamen belegen. Kann aber leicht ins Auge gehen, wenn die Zugriffe mal per Hand eingegeben werden und bspw. Leerzeichen im Namen stehen...
Hoffe, es hilft dir
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz