Задача на Delphi7
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Задача на Delphi7 - 2009-09-07 02:02:21.073333
|
|
|
Sokolik
Сообщений: 46
Оценки: 0
Присоединился: 2009-02-19 14:36:16.693333
|
Как удалить строки из текстового файла в которых нет определенных символов? Например если в строке отсутствуют символы @ и ;, то удалить ее.
|
|
|
RE: Задача на Delphi7 - 2009-09-07 02:53:12.640000
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
Читаешь целиком в массив файл, ищешь переход каретки (0Dh , 0Ah) это будет конец строки для поиска, и текущее значени i это начала, от начала и до конца ищешь "@" или ";" если не нашел, удаляешь из массива и перестраиваешь массив, потом пишиешь все в файл.
|
|
|
RE: Задача на Delphi7 - 2009-09-07 03:06:48.993333
|
|
|
Sokolik
Сообщений: 46
Оценки: 0
Присоединился: 2009-02-19 14:36:16.693333
|
Sunzer, спасибо за совет. Решил задачу таким способом:
var
sl:TStringList;
i:integer;
begin
sl:=TStringList.Create;
try
sl.LoadFromFile('C:\xxx.txt');
i:=0;
while i<sl.Count do
begin
if pos('@',sl[i])>0 then
inc(i)
else
sl.Delete(i);
if pos(';',sl[i])>0 then
inc(i)
else
sl.Delete(i);
end;
sl.SaveToFile('C:\test.txt');
finally
sl.Free;
end;
end;
|
|
|
RE: Задача на Delphi7 - 2009-09-07 05:39:07.933333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
чего только люди не придумают, лишь бы не учить awk и sed
|
|
|
|
|