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