Einzelnen Beitrag anzeigen

michdan

Registriert seit: 1. Okt 2003
Ort: varde, Dänemark
40 Beiträge
 
Delphi 7 Professional
 
#1

integer bit werte in checkbox anzeigen

  Alt 12. Jun 2011, 18:58
hallo

Ich habe eine form mit 16 checkboxen und ein TEdit felt.

Die 16 checkboxen repräsentieren die einzellenen bits im wert.

Wie kann ich am besten die einzellen bits (Checkbox.checked) setzen wenn ich einen wert in das TEdit schreibe ?


Jetzt mache ich das so, aber kann man nicht den namem der checkbox rausfinden und in einer schleife einbauen?


Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
value : word;
begin

value := strtoint(edit2.Text);

if (Value and 32768 ) = 0 then
   checkbox16.Checked := false
else
   checkbox16.Checked := true;

if (Value and 16384 ) = 0 then
   checkbox15.Checked := false
else
   checkbox15.Checked := true;

if (Value and 8192 ) = 0 then
   checkbox14.Checked := false
else
   checkbox14.Checked := true;

if (Value and 4096 ) = 0 then
   checkbox13.Checked := false
else
   checkbox13.Checked := true;

if (Value and 2048 ) = 0 then
   checkbox12.Checked := false
else
   checkbox12.Checked := true;

if (Value and 1024 ) = 0 then
   checkbox11.Checked := false
else
   checkbox11.Checked := true;

if (Value and 512 ) = 0 then
   checkbox10.Checked := false
else
   checkbox10.Checked := true;

if (Value and 256 ) = 0 then
   checkbox9.Checked := false
else
   checkbox9.Checked := true;

if (Value and 128 ) = 0 then
   checkbox8.Checked := false
else
   checkbox8.Checked := true;

if (Value and 64 ) = 0 then
   checkbox7.Checked := false
else
   checkbox7.Checked := true;

if (Value and 32 ) = 0 then
   checkbox6.Checked := false
else
   checkbox6.Checked := true;

if (Value and 16 ) = 0 then
   checkbox5.Checked := false
else
   checkbox5.Checked := true;

if (Value and 8 ) = 0 then
   checkbox4.Checked := false
else
   checkbox4.Checked := true;

if (Value and 4 ) = 0 then
   checkbox3.Checked := false
else
   checkbox3.Checked := true;

if (Value and 2 ) = 0 then
   checkbox2.Checked := false
else
   checkbox2.Checked := true;

if (Value and 1 ) = 0 then
   checkbox1.Checked := false
else
   checkbox1.Checked := true;

edit2.SelStart := length(edit2.Text);



end;
gruss
michael
  Mit Zitat antworten Zitat