| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Непонятная ошибка при проверке введённых элементов |
| Автор: IamDreamer 27.4.2008, 12:23 | ||
При любом раскладе выдаёт сообщение о неверно заполненном массиве. Массив одномерный, помещается в одну строку, поэтому смысла во вложенном цикле, в принципе, нет. |
| Автор: IamDreamer 27.4.2008, 12:39 | ||||
Это я вписал в другом модуле, в котором сортировка другим методом. То же самое, но работает. Пробовал много раз. Добавлено через 1 минуту и 46 секунд
У меня так процесс проходит: сначала я заполняю все поля в StringGrid'e, а потом они все проверяются. При хотя бы одном "нехорошем" элементе, программа выходит. |
| Автор: THandle 27.4.2008, 12:42 | ||
Все модули в студию Добавлено через 1 минуту и 42 секунды В виде архивчика естественно |
| Автор: IamDreamer 27.4.2008, 12:49 |
| Ну вот. |
| Автор: THandle 27.4.2008, 13:10 | ||||
| Значит так. Опытным путем удалось установить что в перовм методе сортировки(который "работает") элемент StringGrid.ColCount = -1 А во втором это пустая строка. Это -1 игнорируется потому что идет следующий код:
Заметь, именно до N. А так как StringGrid1.ColCount := N + 1 этот элемент со значением -1 игнорируется. И вообще. Col и Row в StringGrid начинаются с нуля!!! А ColCount и RowCount показывают количество элементов. А количество начинается с 1. То есть чтобы получить нормальный цикл нужно писать не to StringGrid.ColCount,а to StringGrid.ColCount - 1. Замени в обоих случаях свой код на такой:
И все будет работать |
| Автор: IamDreamer 27.4.2008, 13:15 |
| Спасибо. |