Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Automatische Maske (https://www.delphipraxis.net/134127-automatische-maske.html)

khh 16. Mai 2009 06:55


Automatische Maske
 
hallo zusammen,
ich habe ein Programm, welches sich aus der DB fragen holt und mit den einzugebenden Antwoten wieder in der DB abspeichert.
Also 1 Frage 1 Antwort.

Ich muss nun dieses Programm dahingehend ausbauen, daass zu einer Frage mehrere (vorgegebene) Antworten möglich sind.
Deshalb habe ich mir gedacht, ich stelle die Fragen und Antworten in einer 1 zu N Beziehung in der DB dar.
2 Tabellen: Fragen Antworten.

Die Fragen und Antworten müssen auf dem Form, auch mit Radiobuttonauswahl, dargestellt werden und austauschbar sein.
Also es kann vorkommen das Frage 1 heute 3 mögliche Antworten hat, und nächtes Woche 5 mögliche Antworten.
Deshalb denke ich die Maske in einer Schleife mit den entsprechenden Feldern zu bestücken.
Aber wie ich die dann wieder auslese und die Ergebnisse in die DB schreibe hab ich noch keinen Plan.
hat jemans so was "dynamisches" schon mal gemacht ?

Danke Gruss KH

mkinzler 16. Mai 2009 07:23

Re: Automatische Maske
 
Ja ist einfach durch dynamische Erzeugung von Controls möglich.

Delphi-Quellcode:
<Control> := <Klasse>.Create( <Owner>);
<Control>.Parent := <Parent>;
<Control>.Left := <Linker Rand>;
<Control>.Top := <Oberer Rand>;
...

khh 16. Mai 2009 07:27

Re: Automatische Maske
 
Zitat:

Zitat von mkinzler
Ja ist einfach durch dynamische Erzeugung von Controls möglich.

Delphi-Quellcode:
<Control> := <Klasse>.Create( <Owner>);
<Control>.Parent := <Parent>;
<Control>.Left := <Linker Rand>;
<Control>.Top := <Oberer Rand>;
...


danke dir, und wie greife ich dann auf die inhalte der controls zu ?

mkinzler 16. Mai 2009 07:30

Re: Automatische Maske
 
Indem du diese in einen dynamischen Array oder eine TObjectList ( ich hoffe die gibt es in Lazarus/fpc) packst oder halt Form.FindComponent() verwendest

khh 16. Mai 2009 07:35

Re: Automatische Maske
 
Zitat:

Zitat von mkinzler
Indem du diese in einen dynamischen Array oder eine TObjectList ( ich hoffe die gibt es in Lazarus/fpc) packst oder halt Form.FindComponent() verwendest

ja die gibts , ich danke dir

Gruss KH

DeddyH 16. Mai 2009 09:59

Re: Automatische Maske
 
Aber denk beim Instanzieren der ObjectList daran, OwnsObjects auf false zu setzen, sonst gibt es Probleme beim Freigeben.

mkinzler 16. Mai 2009 19:30

Re: Automatische Maske
 
Zitat:

Zitat von DeddyH
Aber denk beim Instanzieren der ObjectList daran, OwnsObjects auf false zu setzen, sonst gibt es Probleme beim Freigeben.

Oder dieses Feature gezielt Nutzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 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