|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Работа с текстовым файлом
подскажите пожалуйста мастера как можно в текстовом файле оставить нужные куски текста? Допустим есть текстовый файл с содежимым:
Саша 47 .... какой-то текст НатаШа 56.... дальше не нужный текст Саша 78.... какой-то текст НатаШа 71..... нужно чтобы осталось Саша 47 .... какой-то текст НатаШа 56.... Саша 78.... какой-то текст НатаШа 71..... т.е. нужно чтобы остались только нужные куски. Саша и Наташа в одной строке не попадаются. Бьюсь ни как не могу додуматься как сделать. Подскажите с примером плиз. Спсибо. |
#2
|
||||
|
||||
Код:
var i: Integer; ... with TStringList.Create do begin LoadFromFile('f.txt'); for i:=0 to Count - 1 do if not ((Pos('САША', AnsiUpperCase(Strings[i])) <> 0) or (Pos('НАТАША', AnsiUpperCase(Strings[i])) <> 0)) then Delete(i); SaveToFile('f.txt'); Free; end; Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#3
|
|||
|
|||
Ошибку выдает.. (
Выдает ошибку
Project Project1.exe raised exception class EStringListError with message 'List index out of bounds (1020)'. Progress stopped. Use Step or Run to continue. Что такое? |
#4
|
||||
|
||||
Не знаю почему так получилось
Код:
var i: Integer; f: Array of String; tmp: String; begin AssignFile(Input, 'f.txt'); Reset(Input); while not Eof(Input) do begin Readln(Input, tmp); if (Pos('САША', AnsiUpperCase(tmp)) <> 0) or (Pos('НАТАША', AnsiUpperCase(tmp)) <> 0) then begin SetLength(f, Length(f) + 1); f[High(f)]:=tmp; end; end; CloseFile(Input); Rewrite(Input); for i:=0 to Length(f) - 1 do Writeln(Input, f[i]); CloseFile(Input); end; Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#5
|
|||
|
|||
Не то....
В файле остается только Саша и Наташа, а как же текст между ними , нужно чтобы текст между ними тоже оставался...
|
#6
|
||||
|
||||
Значит я не так понял условие, а что именно должно остаться?
Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#7
|
|||
|
|||
Мне дан текстовый файл с описанием переменной f, количество переменных в файле заранее не известно.
>view f=0784 07/24/08_10:24:22 rty ### view subd start ### # basic information # f=0784 et=8974 sub_typ=analog lcls=indv chrg_cls=ama chrg_an=0 an=0 bnw=com tpad=0.0 rpad=-6.0 rc_org=1 rc_trm=0 chrg_ccls=nctl lctl=nctl st=trmv # service information # sc=clip clip_typ=p //total=1 >view f=3698 07/24/08_09:36:41 rty ### view subd start ### # basic information # f=0047 et=3698 sub_typ=analog lcls=indv chrg_cls=ama chrg_an=0 an=0 bnw=com tpad=0.0 rpad=-6.0 rc_org=1 rc_trm=0 chrg_ccls=nctl lctl=nctl st=trmv //total=1 В общем виде >view f=.... параметры......... //total=1 Нужно в зависимости от параметров f вывести в новый файл инструкции последовательно для каждой переменной содержащие ее значение. В общем виде для первой записи т.к sc=clip Нужно вывести в новый файл can f=0784 sc=clip reg f=0784 st_ope=trmv can f=3698 sc=cw где f=0784 значение функции can sc=clip действия и так для каждой f Пожалуйста, помогите! |
#8
|
|||
|
|||
Ничего не понял из твоего объяснения
Жизнь - игра: сюжет фигня... Зато какая графика!!! |
#9
|
|||
|
|||
Мастера помогите с копированием пожалуйста
Здравствуйте мастера. Подсткажите пожалуйста возможно ли скопировать файлы по дате? К примеру на форме есть компонента DateTimePicker и кнопка копировать. Выбираем дату в DateTimePicker, нажимаем копировать и файлы к примеру из папки C:\1\*.cm копируются (при этом у файлов меняется расширение) в папку D:\2\*.txt. Возможно ли это? Спасибо большое за ответы.
|
#10
|
|||
|
|||
Здравствуйте мастера. Подсткажите пожалуйста возможно ли скопировать файлы по дате? К примеру на форме есть компонента DateTimePicker и кнопка копировать. Выбираем дату в DateTimePicker, нажимаем копировать и файлы к примеру из папки C:\1\*.cm копируются (при этом у файлов меняется расширение) в папку D:\2\*.txt. Возможно ли это? Спасибо большое за ответы.
|
#11
|
|||
|
|||
Цитата:
Что никто не знает как это сделать?? |
#12
|
|||
|
|||
Помогите пожалуйста исправить код...)
мастера подсткажите пожалуйста это пример заменяет определенные значения на другие, но вот в чем проблема условие может быть только одно..... как сделать 3 и более условий для замены? Спасибо.
Код:
var sl: TStringList; begin sl := TStringList.Create; if fileexists ('C:\1.txt')then sl.LoadFromFile('C:\1.txt'); for i := 0 to sl.Count - 1 do sl[i] := StringReplace(sl[i], 'г:', '', [rfReplaceAll]); sl.SaveToFile('C:\1.txt'); sl.Free; Последний раз редактировалось Admin, 29.04.2009 в 10:34. |