Autor Beitrag
Matthias-K
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 271

Win95, Win98, Win2000, WinXP, Linux
D2, D4 Client/Server, D5 Enterprise, D6 Enterprise, D7 Enterprise, Delphi2005, C/C++ 3.0, C/C ++ 5.0, C/C++ 6.0
BeitragVerfasst: So 24.09.06 11:20 
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:

ausblenden volle Höhe 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';

{  with qcheck do
  begin
    close;
    sql.clear;
    sql.add('insert into ')
  end;}

//  savestr := 'test';
//  savestr[1] := '1';

  if box.Checked[1then
    savestr[0] := '1'
  else
    savestr[0] := '0';
  if box.checked[2then
    savestr[1] := '1'
  else
    savestr[1] := '0';
  if box.Checked[3then
    savestr[2] := '1'
  else
    savestr[2] := '0';
  if box.checked[4then
    savestr[3] := '1'
  else
    savestr[3] := '0';
  if box.Checked[5then
    savestr[4] := '1'
  else
    savestr[4] := '0';
  if box.checked[6then
    savestr[5] := '1'
  else
    savestr[5] := '0';
  if box.Checked[7then
    savestr[6] := '1'
  else
    savestr[6] := '0';
  if box.checked[8then
    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

_________________
Ein Spezialist ist ein Mensch, der immer mehr von immer weniger weis, bis er alles von nichts weis!
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: So 24.09.06 12:48 
Hallo,

die Felder von Strings fangen mit eins (1) an! Der erste Index der Liste ist jedoch null (0)
Außerdem: Vielleicht schomal über eine Schleife nachgedacht? Das könnte dir einige Abfragen ersparen!

Gruß Hape!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.