Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2009, 23:57   #1
Minton87
 
Регистрация: 06.05.2009
Сообщений: 4
По умолчанию Удаление строки

необходимо, чтобы при нажатии кнопки стералась определенная строчка в файле...

вот, что родил я...

procedure TForm1.Button3Click(Sender: TObject);
var
f1:textfile;
s1:string;

begin
AssignFile(f1, edit2.Text);
Append(f1);
while not EoF(f1) do
begin
readln(f1, s1);

delete(s1,Pos('virus',s1),10);
Flush(f1);
closefile(f1) ;

end;

Все это чудо запускается, но!

---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EInOutError with message 'I/O error 104'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

стрелка указывает на while not EoF(f1) do

заранее благодарен за помощь!
Minton87 вне форума Ответить с цитированием
Старый 07.05.2009, 01:25   #2
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

TStringList.LoadFromFile
TStringList.Delete[i]
TStringList.SaveFromFile
Sergey2 вне форума Ответить с цитированием
Старый 07.05.2009, 01:35   #3
Minton87
 
Регистрация: 06.05.2009
Сообщений: 4
По умолчанию

увы, я дилетант... навык минимален.. чуть-чуть русского текста в объяснение пожалуйста.
Minton87 вне форума Ответить с цитированием
Старый 07.05.2009, 02:21   #4
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

Сначала надо обьявить переменную
Код:
Data:TStringList;
Затем выделить память
Код:
Data:=TStringList.Create;
Потом загрузить из файла
Код:
Data.LoadFromFile(путь)
Удалить строку (номер i)
Код:
Data.Delete[i]
Сохранить в фаил
Код:
Data.SaveFromFile(путь)

Последний раз редактировалось Виталий Серов; 07.05.2009 в 05:43.
Виталий Серов вне форума Ответить с цитированием
Старый 07.05.2009, 02:32   #5
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

Если надо найти строчку с определённым текстом, то как я понимаю ставят цикл примерно такой.
Код:
i := 0;
while not (i == Data.Count) do begin
If Data.Find('искомый текст', i) then  Data.Delete[i];
i := i + 1;
end;
Хотя я могу ошибаться, возможно существуют более "прямые" способы

Последний раз редактировалось Виталий Серов; 07.05.2009 в 05:41.
Виталий Серов вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление строки из DBGrid XATAB БД в Delphi 3 10.03.2009 08:29
Delphi. Удаление строки. Xeon332 Помощь студентам 18 11.11.2008 15:55
Вставка/удаление из строки. t3ns0r Общие вопросы C/C++ 3 11.10.2008 17:58
Удаление строки из файла Македонский Общие вопросы Delphi 5 29.08.2007 15:40
Полное удаление строки Albenous Общие вопросы Delphi 2 15.01.2007 21:54