Matthias-K - So 24.09.06 11:20
Titel: probleme bei stringmanipulation
moin,
ich hab folgendes problem:
ich hab ne checklistbox, welche mit 8 einträgen gefüllt ist.
nun will ich zur schnellen verarbeitung die werte in einem string schreiben. bei aktivierung des ersten eintrages soll der string dann so aussehen: 10000000
wenn die ersten 2 ausgewählt sind, dann so: 11000000
das prinzip sollte klar sein. nur kommt bei folgendem quelltext etwas unerklärbares raus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50:
| procedure TfrmUser.FlatButton1Click(Sender: TObject); var savestr : string[9]; begin savestr := '00000000';
if box.Checked[1] then savestr[0] := '1' else savestr[0] := '0'; if box.checked[2] then savestr[1] := '1' else savestr[1] := '0'; if box.Checked[3] then savestr[2] := '1' else savestr[2] := '0'; if box.checked[4] then savestr[3] := '1' else savestr[3] := '0'; if box.Checked[5] then savestr[4] := '1' else savestr[4] := '0'; if box.checked[6] then savestr[5] := '1' else savestr[5] := '0'; if box.Checked[7] then savestr[6] := '1' else savestr[6] := '0'; if box.checked[8] then savestr[7] := '1' else savestr[7] := '0';
showmessage(savestr); end; |
so, wenn ich abwechselnd einen der einträge aktiviere
kommt bei dem string folgendes raus:
10101000
also müll! die ersten 3 werden ignoriert. das hab ich durchs testen rausgefunden! allerdings kann ich keinen fehler sehen!
vieleicht sieht einer von euch etwas.
mfg matthias
p.s. es handelt sic um eine flatlistbox