11 / 11 / 8
Регистрация: 26.03.2014
Сообщений: 400
|
||||||
1 | ||||||
Не могу найти ошибку в функции21.09.2017, 18:11. Просмотров 299. Ответов 3
Метки нет Все метки)
(
Всем привет! )
Вот функция, она удаляет (вырезает) совпадения в строках Memo2 ну и в Столбце таблицы (это в принципе основное = главное пройти по столбцу таблицы) с помощью Массива Списков Memo. PS: sov, DlSov, MinDlSlov - параметры функции Pohozhest (работает исправно) PSS: ccc, posorcomp, cutordel, clearornot, formlist - условия удаления/вырезания и способа сравнения. PSSS: wasstrfullT2 - возвращает индекс строки в таблице (работает исправно) Вызов происходит при двойном щелчке по первому (нулевому) столбцу StringGrid`а ReplaceT PSSS: DeleteARow - удаляет строку в StringGrid`е (работает исправно) PSSSS: ListToStr - собирает список в строку (работает исправно) Собственно ошибка: List indexout of bounds (-1) Вчера выходила такая же, заменил циклы For в местах удаления Обратным обходом через While. Сегодня снова, и теперь я негодую)
Ну и вообще вчера узнал о кнопке F9 =) Вот вижу что пытаюсь попасть в строку ARow -1.
0
|
|
21.09.2017, 18:11 | |
Не могу найти ошибку в функции Не могу найти ошибку в функции Не могу найти ошибку в процессе минимизации функции Табуляция функции (цикл for), не могу найти ошибку |
|
Модератор
|
|
21.09.2017, 18:14 | 2 |
vino0s, а еще раз задачу попонятнее озвучить можно? Но только
именно задачу , а не то, как Вы понимаете ее реализацию... Не в обиду, но, ИМХО, Вы что-то тут несусветное нагородили и можно все проще решить...
0
|
11 / 11 / 8
Регистрация: 26.03.2014
Сообщений: 400
|
|
21.09.2017, 19:29 [ТС] | 3 |
В-общем: раньше было несколько тестовых функций, каждая в итоге почти ни чем друг от друга не отличались, вот я их собрал в одну.
А задача такая: Есть таблица, в ней 5 столбец имеет значение 0 или 1 ( читаем эту строку или нет). 4-ый столбец имеет строки из нескольких слов. Еще есть несколько списков, один из них MyMinuss. При двойном щелчке по первому столбцу одной из таблицы слово добавляется в этот список (MyMinuss). Конкретно в этот момент Задача: вырезать это слово из всех строк 4-ого столбца. Но есть другие ситуации, когда надо вырезать слова из нескольких списков. Поэтому они в функцию приходят в виде массивов списков. Собственно сам список KeyCollector это и есть все строки из 4-ого столбца (исключая где 5-ый столбец имеет 0) Добавлено через 4 минуты Ну и в строках не может быть цифр (условие ccc) Строку следует удалить (путем проставления 0 в 5-ом столбце) (условие cutordel) Ну и сравниваем строки по точному совпадению или похожие слова тоже (условие posorcomp) Добавлено через 2 минуты Это уже как у меня конечно: Затем проверяю изменилась ли строка и если да, то ищу эту строку в таблице, присваиваю ей новое значение, а также изменяю ее в списке. Добавлено через 1 минуту Ну и после всех этих махинаций (условие clearornot) эта часть работает. Там просто пустые строки и строки с одним словом отключаются через 5-ый столбец. Ну и в списке тоже самое. Добавлено через 4 минуты Я только за, если можно проще! Но проще, в моём понимании, не получается) Тут единственно внутри можно наверно выдумать пару дополнительных функций) Дабы упростить читание. Но сама функция имеет большую вариативность) Добавлено через 11 минут тут в начале после условия ccc убрал ошибку, добавил блок begin..end Сама ошибка осталась. Добавлено через 41 минуту Все ребят! Оказывается просто список KeyCollector был старым (были строки которых уже не было в таблице), теперь сделал обновление списка перед чисткой. Ошибки нет.
0
|
D1973
|
22.09.2017, 04:30
Не могу найти ошибку в функции
#4
|
0
|
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
22.09.2017, 04:30 |
Привет! Вот еще темы с ответами:
4
В функции обратной матрицы, не могу найти ошибку Программа вычисляющая значение функции. не могу найти ошибку Нахождение максимального в неглавной функции. Не могу найти ошибку Не могу найти ошибку в функции перевода строк в 16-ричную СС Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |