Спасибо за ответ) Разобрался) Информация в предпоследнем посте)
Цитата:
Сообщение от Bargest
Судя по названиям переменных и использованию чекбоксов - это тест.
Поэтому хоть убей, не пойму - зачем тут делать строку.
Приведенный код вроде нормальный. Может ошибка где-то еще.
|
Сам не знаю! Я уже второй день сам мучаю голову.. Может что с компилятором.. Но не работал он, не работал.. Пробовал на других проектах, на новых, такая же фигня была.. Сделал через переменную - без ошибок)
С этими массивами одни проблемы.. Вот опять же.. Продолжаю делать.. Опять ошибка в массивах.. Сначала пишет одно, затем другое.. Зависимости ни как не пойму..
Может кто поймет, в чем ошибка..
Я делаю что-то типа тестов. Многое я уже сделал, а тут что-то застрял хорошенько. Расскажу вкратце..
Есть TreeView.. Оно здесь работает как ListBox, просто красивее

Ну так вот.. В каждой строке есть как бы название вопроса. При нажатии на ячейку с вопросом переменной Number дается значение выделенной ячейки.
Далее открывается панель с 6 чекбоксами. При нажатии на каждый из нах происходит следующее:
Код:
Ans[Number] := Otvet2 + #13#10 + TextQ.Lines.Strings[7];
Где Otvet2 - это функция:
Код:
If Test.Ans11.Checked = True Then
s := s + '1';
If Test.Ans21.Checked = True Then
s := s + '2';
If Test.Ans31.Checked = True Then
s := s + '3';
If Test.Ans41.Checked = True Then
s := s + '4';
If Test.Ans51.Checked = True Then
s := s + '5';
If Test.Ans61.Checked = True Then
s := s + '6';
result := s;
То есть элементу массива, с номером выделенной строки, дается строка с выделенными чекбоксами.
При нажатии на другой элемент TreeView произойдет все точно так же, только Number будет другой, а следовательно, значение дастся уже другому элементу массива.
При открытии вопроса, то есть при нажатии на элемент TreeView произойдет очистка чек боксов, то есть все Checked будут равны False, а затем код:
Код:
s := Copy(Ans[Number], 1, Pos(#13, Ans[Number]) -1);
for i := 1 to Length(s) do
begin
case s[i] of
'1': Test.Ans11.Checked := True;
'2': Test.Ans21.Checked := True;
'3': Test.Ans31.Checked := True;
'4': Test.Ans41.Checked := True;
'5': Test.Ans51.Checked := True;
'6': Test.Ans61.Checked := True;
end;
end;
Вроде как бы все нормально должно работать. Но почему-то все время разные чекбоксы выделяет, то вообще не выделяет, то через раз.. Код на самом деле в разы больше, но, вроде, что касается этого я изъявил..