![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| Agentum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.12.2008 Репутация: нет Всего: нет |
Помогите пожалуйста мыслями:надо удалить вхождение слова в текстовом файле.Как я понимаю чисто в текстовом файле нельзя так сделать.Я думаю что надо переписать его в типизированный файл строк и уже там удалять вхождение слова.Так получается?
|
|||
|
||||
| Kbl4AH |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: нет Всего: 15 |
Добавлено @ 22:59 Если нужно удалить из исходного файла, то добавь в конце:
Это сообщение отредактировал(а) Kbl4AH - 3.3.2009, 23:14 |
||||
|
|||||
| Agentum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.12.2008 Репутация: нет Всего: нет |
Ой,а мне надо на паскале...
|
|||
|
||||
| Agentum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.12.2008 Репутация: нет Всего: нет |
В принципе я понял что надо сделать,просто не знаю получится или нет на паскале...спасибо за помощь!
|
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: нет Всего: 15 |
||||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: нет Всего: 15 |
И правда, не получится... щас...
Добавлено через 10 минут и 44 секунды
|
|||
|
||||
| Agentum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.12.2008 Репутация: нет Всего: нет |
Вот накорябал...главную задачу делает,но почему то зацикливает паскаль на выводе текстового файла.Проверьте пожалуйста:
program laba; uses crt; var OldF,NewF:Text; OldS,naim,slovo,st:string[30]; function Cut(const SubStr:string;var Str:string):string; begin while Pos(SubStr, Str) <> 0 do Delete(Str, Pos(SubStr, Str), Length(Substr)); Cut:=Str; end; begin clrscr; Assign(OldF, 'oldf.txt'); Reset(OldF); Writeln('vvod imeni novogo faila:'); readln(naim); writeln('vvedite slovo dlya udaleniy:'); read(slovo); Assign(NewF,naim); Rewrite(NewF); while not Eof(OldF) do begin Readln(OldF,OldS); Writeln(NewF,Cut(slovo, OldS)); end; Close(OldF); Close(NewF); reset(NewF); While not eof(NewF) do begin read(NewF,st); write(st); end; close(NewF); readkey; end. |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: нет Всего: 15 |
1)У меня ругаеццо на несовместимость типов, поэтому я сделал var OldS: string;
2) сделай
3) Защиту сделай для случая, когда исходный файл не создан. |
|||
|
||||
| Agentum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.12.2008 Репутация: нет Всего: нет |
Все получилось...спасибо.хотя я не понимаю почему так плохо отреагировал на вывод содержимого файла...
|
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: нет Всего: 15 |
он так отреагировал на read вместо readln... ты использовал read и как-бы считывание не могло на следующую строку перейти (постоянно считывалась 1-я строка), поэтому конец файла не мог быть достигнут - зацикливание... |
|||
|
||||
| Agentum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.12.2008 Репутация: нет Всего: нет |
Все понятно...я просто немного зациклился на типизированных файлах и поэтому реад пишу...
|
|||
|
||||
| Agentum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.12.2008 Репутация: нет Всего: нет |
Возник еще вопрос...например у меня исходный файл такой:asdasd asd asd g g j a s.я удаляю слово аsd...при этом удаляется слово asdasd.как избавиться от этого?
|
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: нет Всего: 15 |
Для наглядности немного нарушил правила офрмления кода...
Видоизменил функцию... В принципе - работает... Может стоит только пересмотреть список символов, которые могут быть до и после слова...
На оптимальность не претендую... |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |