Einzelnen Beitrag anzeigen

Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
137 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Checkbox als Array in DB Speichern

  Alt 20. Mai 2009, 12:03
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)
  Mit Zitat antworten Zitat