Hi,
also zum einen mal herzlich willkommen in der Delphi-Praxis
Tja, das ist ein ganz schönes Ding. Leider hast Du nicht geschrieben, welche Delphi-Version Du verwendest, also mal zum elementaren:
Zur Datenbank:
Ohne Datenbankserver wird's schwierig
Zumindest lokal sollte einer laufen.
Natürlich gibt es so Sachen wie filebasierte Datenbanken, aber das ist immer ein wenig tricky.
Wenn Du z.B. MS Office hast empfehle ich gerne die
MSDE (Microsoft
SQL Desktop Engine). Das ist der kleine Bruder vom
SQL-Server der nicht so viel Performance hat wie der echte und bei 2 Gigabyte Datenbankgröße die Segel streicht, ist aber für Nutzer von MS Office kostenlos und kann alles was das Herz begehrt. Zum Verbinden und damit arbeiten guckst Du nach
ADO. Dann kannst Du im Internet auch gleich nach dem TBetterADODataSet gucken: Finger weg von TADODataSet, das Ding ist arg buggy und nervt mit der Zeit.
Ansonsten ist auch der Griff zu
MySQL nicht schlecht, denn die ist klein, ressourcensparend, schnell und gibts im Netz kostenlos
Zur Dynamik:
Um dynamische Komponenten anzulegen gibts hier schon ne Menge im Forum. Such einfach mal im Bereich
VCL Komponenten und Controls nach Threads bei denen was dynamisch angelegt werden soll. Auch eine Suche nach
FINDCOMPONENT sollte Dich einigermassen sicher zu den richtigen Threads führen. Da steht dann so ziemlich alles drin, was man über das dynamische Erstellen (und wiederfinden) von Controls wissen muss.
Zum Ablauf:
Ansonsten würde ich tatsächlich mit einem Formular anfangen und erstmal die Verwaltung der Controls dynamisch machen (erstmal das erzeugen).
Im zweiten Schritt würde ich die aktuelle Konfiguration (wiederfinden und 'merken') dann über ein TIniFile machen. Inidateien bieten sich hier an: Du hast eine beliebige Zahl an Reitern (Sections) mit einigen Buttons und deren Values. Du kannst also alle Informationen in einer Ini-Datei strukturiert ablegen.
Im dritten Schritt geht man dann hin, liest die Informationen aus dem Inifile aus und baut daraus wieder den Ursprungszustand zusammen.
Erst im letzten Schritt würde ich dann hergehen und die Informationen die im Ini-File liegen in die Datenbank zu stecken.
Ich denke, so kann man sich vom leichten (dynamische Controls) über die dynamische Organisation von Informationen (Ini-File) bis hin zum Thema Datenbanken durchhangeln.