|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.03.2019, 10:33 | #1 |
Пользователь
Регистрация: 21.03.2019
Сообщений: 20
|
требуется помощь с двойным циклом
Укажите на ошибку.
Есть ListView и текстовый файл, нужно пройти по строкам ListView и по строкам файла. Если данные в строке ListView и в строке файла совпадают, то строка в файле заменяется. Если совпадений в ListView и файле не найдено, то нужно в файл добавить данные из ListView Не могу понять почему у меня дублируются строки Код:
|
21.03.2019, 11:35 | #2 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Код:
и значит мы также "обязательно" выполним добавление. Цитата:
как правило это будет НОМЕР строки удовлетворяющей условию поиска. или заведомо неверный( -1) для случая если поиск не увенчался успехом. да и замену по сути тоже делать ВНЕ цикла поиска. (и на основе тех же данных) Код:
Код:
Код:
Либо оба внутри цикла(одного и того же) либо оба ВНЕ цикла (и это ПРЕДПОЧТИТЕЛЬНЕЙ).
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 21.03.2019 в 11:46. |
|
21.03.2019, 12:10 | #3 |
Пользователь
Регистрация: 21.03.2019
Сообщений: 20
|
Спасибо конечное за ответ. Но ничего не понял кроме вынести Add за цикл. Я новичок в delphi.
Вынес добавление за цикл-эффект тот же, неработает мой код Код:
|
21.03.2019, 13:04 | #4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 21.03.2019 в 13:15. |
21.03.2019, 13:15 | #5 |
Пользователь
Регистрация: 21.03.2019
Сообщений: 20
|
Спасибо за помощь.
Интересно мнение, с точки зрения программиста такой код сильно корявый? Наконец то у меня поучилось )))) Код:
|
21.03.2019, 14:00 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код не форматирован
str_prodano создание во внутреннем цикле, освобождение во внешнем, утечки памяти гарантированы, разве что List_prodano.Count всегда = 1 что будет если на LoadFromFile исключение подымется? А подымется рано или поздно ) Аналогично для SaveToFile и вообще стринглисты создавать в циклах зачем? Создать можно снаружи циклов, для очистки содержимого есть Clear, освобождать по выходу из процедуры это еще без анализа логики )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
21.03.2019, 14:26 | #7 | |
Пользователь
Регистрация: 21.03.2019
Сообщений: 20
|
Цитата:
Код:
|
|
21.03.2019, 14:31 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Файл, например, не найден. Или открыт на запись другой программой. Или диск сбойнул в том секторе. Или файл найден, но в нем почему-то вместо килобайта инфы пару-тройку гиг, ну мало-ли) Полномочия еще. Можно еще придумать ) Это же обращение к внешним носителям информации
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 21.03.2019 в 14:34. |
21.03.2019, 14:51 | #9 | |
Пользователь
Регистрация: 21.03.2019
Сообщений: 20
|
Цитата:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[C++] Помощь с циклом for | andryxa100 | Помощь студентам | 1 | 15.09.2017 08:42 |
Требуется помощь | DanilovEV | Фриланс | 3 | 09.09.2014 18:00 |
Помощь с циклом | manula | Microsoft Office Excel | 1 | 18.07.2014 04:52 |
Помощь с циклом (Не могу решить проблему) | Usandy | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 05.11.2013 16:41 |
Требуется помощь ! | Garacio_cain | Работа с сетью в Delphi | 3 | 06.01.2008 14:53 |