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

Вниз

текст (пожалуйста помогите)   Найти похожие ветки 

 
mrAndersen ©   (2006-03-06 23:03) [0]

Буду краток. Есть текстовый файл, нужно удалить
символ который стоит после символа 5 но при этом, эти действия нужно производить только с текстом в скобках.

Пример программы (программа рабочая):
procedure TForm1.Button1Click(Sender: TObject);
var
 F1,F2: TextFile;
 a: String;
 k,i,j1,j2:integer;
begin
  AssignFile(F1,"D:\old\Delphi5_s\ses1.txt");
  AssignFile(F2,"D:\old\Delphi5_s\ses2.txt");
  reset(F1);
  rewrite(F2);
begin
 While Not EOF(F1) do begin
 If Not EOLN(F1) then begin
     Readln(F1,a);
     k:=length(a);

     j1:=pos( "(" ,a);  
      j2:=pos( ")" ,a);

     for i:=j1 to j2 do

   if a[i]="5" then  Delete(a,i+1,1);
   Write(F2,a);

end;
end;
end;
CloseFile(F1);
CloseFile(F2);
end.

Есть текстовый файл - ses1.txt, в котором есть такой текст:
кактус11(156111)1561бус1(1561осень11)15611...

при компиляции выходит:
ses2.txt - текстовый файл с таким текстом:
кактус11(15111)1561бус1(1561осень11)15611...

как Вы уже заметили, есть разница, но главный вопрос состоит в том, ЧТОБЫ ТЕКСТ ИЗМЕНЯЛСЯ У ВСЕХ СКОБКАХ, А НЕ ТОЛЬКО В ПЕРВОЙ.

Буду очень признателен за любые варианты решения этой задачи.


 
ANB ©   (2006-03-07 01:28) [1]

Вместо Pos используй сканирование в цикле посимвольно всей строки.
Алгоритм будет проще, но тормознутее, если ты будешь посимвольно копировать исходную строку в целевую, а уже целевую записывать в новый файл.



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
2-1142153436
ArhangelX
2006-03-12 11:50
2006.03.26
Как разложить byte на биты


2-1142168978
Golik
2006-03-12 16:09
2006.03.26
Как указать путь к БД ????


2-1142319448
Id
2006-03-14 09:57
2006.03.26
Не могу написать нужный запрос для создания представления


2-1141905978
Alex_Th
2006-03-09 15:06
2006.03.26
Размещение GIF-файла на форме


2-1141992438
it_work
2006-03-10 15:07
2006.03.26
Как эмитировать нажатия кнопок