Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Простейшая прога, но... [D5, WinXP]


mrAndersen ©   (2006-03-06 17:28:00) 

Что Вы можете сказать по поводу этой простейшей программы, которая стирает элемент с позиции (i+1) в тексте которой находиться в скобках, но при этом, если в тексте находиться не одни скобки, а больше, тогда текст остается прежним (за исключением, конечно, текста в первых скобках).

р.s. Как я не пытался сделать счетчик, - не выходит, команда
j1:=pos( '(' ,a); начинает отсчет с первой позиции элемента текста.

procedure TForm1.Button1Click(Sender: TObject);
var
 F1,F2: TextFile;
 a: String;
 k,i,j1,j2:integer;
begin
  AssignFile(F1,'D:\old\New\Delphi5_s\hernia\ses1.txt');
  AssignFile(F2,'D:\old\New\Delphi5_s\hernia\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;


Бобруиц(житель бобруйска)   (2006-03-10 11:41:00) [1]

тебе именно в первых скобках надо чтото удалить ? и зачем тебе счетчик ?
begin
ищем через pos в строке '(' - скобку
потом
строка = строке минус все символы до скобки
ищем вторую скобку
отрезаем хвост который после вй скобки идет и делаем че хотим
в чем проблема то ?
ты там вообше чето страшное намутил =)


TStas   (2006-03-10 02:37:00) [2]

Ответ очевиден, только меня ведь одиотом ты назвал, спроси у умных


Плохиш   (2006-03-06 17:55:00) [3]


> mrAndersen ©   (06.03.06 17:28)  
> Что Вы можете сказать по поводу этой простейшей программы,
>   которая стирает элемент с позиции (i+1) в тексте которой
> находиться в скобках,


Это, думается, самая главная часть в алгоритме работы, но, к сожалению, под каким углом не читал, так и не понял, что делать надо :-(
Если судить по коду, то удаляются символы '5' находящиеся между скобками.
Можно привести несколько кусков входных файлов и что должно получиться в результате?

PS. Я бы обрабатывал весь файл как сплошную последовательность символов, введя счётчик вложенности скобок.


mrAndersen   (2006-03-06 17:39:00) [4]

Подскажите, есть выход вообще или мне нужно создавать цепь текстовых файлов и поочередности делать с ними все что мне хочется и с любой позиции при этом создавая очередной текстовый файл. Иначе я выхода не вижу.


Jeer   (2006-03-06 17:32:00) [5]

"Если работает, то - не трожь" (С)


Наверх

Титульная страница Поиск, карта сайта Написать письмо