Главная страница
    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.46 MB
Время: 0.011 c
3-71503
aleman
2003-09-01 09:48
2003.09.22
Есть ли компоненты прямого доступа к DB2?


14-71949
Thunderbird
2003-09-02 14:03
2003.09.22
80ти жильный шлейф


14-71876
_0$a_
2003-09-03 17:49
2003.09.22
Вот дожился или (основные функции МС дос)


14-71843
PVOzerski
2003-09-01 09:19
2003.09.22
Катастрофа с проектом FreePascal


14-71887
uw
2003-08-29 11:19
2003.09.22
---|Ветка была без названия|---





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский