Hallo !
Wenn Du die Informationen in ein Integerfeld speichern willst, kannst Du auch so vorgehen :
Aus
DB laden :
Delphi-Quellcode:
DatenCheckBox := QryVorgabe.FieldByName('CHECKBOXEN').AsInteger;
for iCheckBoxen := 0 to 20 do
(FindComponent('CheckBox' + IntToStr(iCheckBoxen)) AS tCheckbox).Checked := ((DatenCheckBox SHR iCheckboxen) MOD 2) = 1;
In
DB schreiben :
Delphi-Quellcode:
uses math;
{...}
V := 0; // V ist Integervariable !
for iCheckBoxen := 0 to 20 do
if (FindComponent('CheckBox' + IntToStr(iCheckBoxen)) AS tCheckbox).Checked
then V:=V+Trunc(Power(2,iCheckBoxen)); // Trunc nur damit der Rückgabewert aus der Potenzberechnung Integer ist !
QryVorgabeUPDATE.ParamByName('CB1').Value := V;
Zu beachten sind die Integer-Grenzwerte.
Gruß
Guido
P.S.:
Diesen Quelltext habe ich ohne Delphi erstellt. - Keine Garantie, dass er so unverändert läuft.
"Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung" (Edsger W. Dijkstra)