Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

TXT файлы   Найти похожие ветки 

 
drakulita ©   (2003-09-10 16:49) [0]

Как можно выбить строку из текстового файла? Есть ли какие способы не прибегая к перенарезки файла в другой?
Например:
ИМЕЕМ: 123
456
789
НУЖНО: 123
789 т.е. выбить начисто без пустоты


 
Vovchik_A ©   (2003-09-10 16:55) [1]

Без какой пустоты ? Обрезая пробелы ?
Readln в цикле и Trim(твоя строка), если я все прпавильно понял


 
ZEE ©   (2003-09-10 17:13) [2]

можно закачать файл в TStringList,
потом убить нужные строки
и сохранить TStringList в тот же файл


 
Vovchik_A ©   (2003-09-10 17:21) [3]

Не, ему удалять надо. Тогда Delete(var S: string; Index,Count: Integer)


 
ZEE ©   (2003-09-10 17:30) [4]

нет так
var sl:TStringList;
...
sl:=TStringList.Create;
sl.LoadFromFile("C:\aaa.txt");
if sl.IndexOf("456")>-1
then sl.Delete(sl.IndexOf("456"));

sl.SaveToFile("C:\aaa.txt");
sl.Free;


 
Anatoly Podgoretsky ©   (2003-09-10 17:32) [5]

ZEE © (10.09.03 17:13) [2]
Лучше убивать наверно не нужные.


 
ZEE ©   (2003-09-10 17:34) [6]


> Anatoly Podgoretsky © (10.09.03 17:32) [5]
> Лучше убивать наверно не нужные.

так судя по "ИМЕЕМ" и "НУЖНО" в вопросе - "456" ненужно...


 
VAleksey ©   (2003-09-10 17:50) [7]


> drakulita © (10.09.03 16:49)

Никак. Нет.


 
Vovchik_A ©   (2003-09-10 17:51) [8]

Не, а че, обычным Delete(); в цикле нельзя удалить ?


 
drakulita ©   (2003-09-10 17:53) [9]

ZEE © (10.09.03 17:30) [4]

Где после этого остается курсор


 
ZEE ©   (2003-09-10 17:59) [10]


> drakulita © (10.09.03 17:53) [9]
> Где после этого остается курсор

не понял, а где там вообще курсор ???
это же не визуальный компонент, а список TStringList


 
Serginio666   (2003-09-10 18:05) [11]

ХеХе можно. Но при каждом удалении тебе нужно будет смещать все последущие записи на количество удаленных байтов.
Имхо лучше перезапись как TStringList только из памяти если таковой хватает или копирование в другой файл.


 
Vovchik_A ©   (2003-09-10 18:08) [12]

Тогда TStringList+Копирование - другого выхода нету получается. Память - дело сложное :)


 
default ©   (2003-09-10 18:08) [13]

"if sl.IndexOf("456")>-1
then sl.Delete(sl.IndexOf("456"));"
не оптимально)
лучше так
var
Index: Cardinal; // или какой там макс-ый индекс...
begin
//...
Index := sl.IndexOf("456");
if Index <> - 1 then sl.Delete(Index);
а то если файл большой двойной поиск одно и того же - эт не дело



Страницы: 1 вся ветка

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
1-71628
INTAARI
2003-09-11 14:48
2003.09.22
Как изменить цвет нескольких меток пользуясь свойством Components


3-71504
Andrew
2003-09-01 09:07
2003.09.22
Отчет для Fox-таблиц. Поле типа N;10;0


3-71469
Serg2000
2003-09-02 11:51
2003.09.22
Украинские буквы в PReport v.1.81!!!!


1-71607
lex7
2003-09-09 16:52
2003.09.22
программа для создания демонстрашек в виде avi


1-71638
Razorblade
2003-09-08 09:18
2003.09.22
Проверка откр. / закр. тага в таблицах HTML...