![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Костя1992 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
Ситцация такова
у меня есть 3 файла: 1-С английскими словами 2-С рускими 3-а в третем файле записано тип слова "слово" или термин Так вот,при удалении слова мне нужно удалить слова из файлов,руское и англ слово удаляю без проблем,а вот с третьего файло трудно удалить. покажу как это все выглядит к примеру 1 тхт 2тхт 3 txt кот cat слово дом house термин сыр cheese слово собака dog термин двери door термин и когда я выберу удалить слово "сыр" должно быть кот cat слово дом house термин собака dog термин двери door термин Проблема в том чтоесли я пишу слово в переменную,и потом го в цикле ищу и удаляю то удаляються все такие слова,а мне нужно что б только в даной позиции удалялось. Пробівал еще лог переменную вставлять,удалялось 1 слово,но снова в другой позиции. вот кусок кода:
Это сообщение отредактировал(а) MetalFan - 8.12.2011, 09:14 |
||||
|
|||||
| Костя1992 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
Активнее пожалуста=)пишите свои идеи. или возможно просто перезаписать файл но без єтой строчки?но с кодом помогите=)
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
Поиск и удаление (FoundWordAndDeleteFromFile) сделаны неоптимально. У TStringList есть метод IndexOf, поиск строки в спике.
В твоем случае Pos найдет и "сыр" и "сырный" и "сырой". Соотв. алгоритм прост: если надо удалить слово в каждом списке с определенной позиции, то ищещь в первом или втором списке слово или перевод, получаешь его индекс (TStringList.IndexOf), затем просто удаляешь эту строку из всех трех списков (TStringList.Delete) А вообще теме место в ЦП имхо... -------------------- There are always someone smarter than you... |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Для подобных вещей есть базы данных.
А так +1 к MetalFan. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
Keeper89, дану, какие БД, это ж лаба или контрольная какая-то)
-------------------- There are always someone smarter than you... |
|||
|
||||
| 14SatanA88 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 13.5.2010 Репутация: нет Всего: 5 |
Костя1992, делайте не 3 файла, а один, просто разделяя слова каким-нибудь знаком
в этом случае удаление одной единственной строки решит вопрос |
|||
|
||||
| Костя1992 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
Спасибо,буду что то пробвать,если выйдет-скину сюда текст всего словаря,может пригодиться кому -то.
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
А чем "термин" от "слова" отличается? И door == дверь, а не двери. Cat == кошка, а не кот.
Добавлено через 55 секунд Вообще с БД это наиболее просто было бы, согласен. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Костя1992 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
задача решина.Всем большое спасибо. Добавлено @ 18:25 Данкинг , там словарь будтет из слов и абревиатур. Но так как програма в режиме разробки то так сделал.
Это сообщение отредактировал(а) MetalFan - 8.12.2011, 19:02 |
||||
|
|||||
| k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: нет Всего: 5 |
да, нужно оракл заюзать, не иначе =) -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
k0rvin, при чём здесь Оракл? Локальная база вроде Access - самое оно.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
k0rvin, я люблю для словариков использовать SQL Server в полной комплектации
|
|||
|
||||
| Костя1992 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
Согласен,я выбрал "примитивный" метод решения этой задачи. Просто еще не учили базы даных. А самому лень учить, сейчас в основном налягаю на изучения С++
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Ну так подключайся к базам из C++, какая в данном контексте разница. Всё равно же пригодится. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
-------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |