Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.11.2009, 12:26
Аватар для Pretender
Pretender Pretender вне форума
Прохожий
 
Регистрация: 20.11.2009
Сообщения: 4
Репутация: 10
По умолчанию Контекстная замена в тексте

Помогите написать "котекстную замену теста в всех рядках файла"
очеень нужно...зарание спсибо!!
Ответить с цитированием
  #2  
Старый 20.11.2009, 12:44
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Расшифруй то чего ты хочешь добиться...т.е. нормально задай вопрос...какие еще "рядки файла", и что значит по твоему "контекстная замена"...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #3  
Старый 20.11.2009, 13:01
Аватар для Pretender
Pretender Pretender вне форума
Прохожий
 
Регистрация: 20.11.2009
Сообщения: 4
Репутация: 10
По умолчанию

ну например у меня есть в Memo какой то текст и мне нужно сделать контекстную замену тоисть "задать 2 главных слова между которыми есть
слово№1 и задать слово №2 которое будет заменять слово№1 если есть те 2 главных слова"
"вот такая вот загагулина"
я понимаю что я тупо обяснил но по другому не могу..
Ответить с цитированием
  #4  
Старый 20.11.2009, 13:34
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Ничерта не понял в этом объяснении. Даю ответ ориентируясь на слово контекст.
Код:
Memo1.Text := StringReplace(Memo1.Text,'вот такая вот загагулина','вот не такая загагулина',[rfReplaceAll]);
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 20.11.2009, 14:27
Аватар для Pretender
Pretender Pretender вне форума
Прохожий
 
Регистрация: 20.11.2009
Сообщения: 4
Репутация: 10
По умолчанию

Я в Delphi не шарю..но если я правильно понял то точто вы(Страдалецъ) написали меняет слово на другое слово....а мне нужно чтобы я задал 3 слова
1.слово-1
2.слово-2
3.слово-3 которое будеть меняться на то что между словом1 и 2..
и это все оно поменяет в строке в какой есть такие слова
Ответить с цитированием
  #6  
Старый 20.11.2009, 15:34
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Долго читал...
Вы хотите в тексте заменить весь текст между словом1 и словом2 на слово3 ?
Тогда где-то так:

Код:
function ContextReplace(S,S1,S2,S3: String): String;
Var
  SPos,EPos: Integer;
begin
 Result := S;
 SPos := PosEx(S1, S, 1);
 EPos := PosEx(S2, S, SPos);
 if (SPos <> 0) and (EPos <> 0)
 then Result := Copy(S,1,SPos+Length(S1)-1) + S3 + Copy(S,EPos,Length(S));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Memo1.Text := ContextReplace(Memo1.Text,' Мама ','раму',' мыла ');
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 20.11.2009, 15:49
Аватар для Pretender
Pretender Pretender вне форума
Прохожий
 
Регистрация: 20.11.2009
Сообщения: 4
Репутация: 10
По умолчанию

Страдалецъ - БОЛЬШОЕ СПАСИБО!!!(хоть и не тестил еще )
с меня пиво))
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:12.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025