Вниз
Скачать: CL | DM;

Структура кода при обработке текстов   Найти похожие ветки 

 
Pcrepair ©   (2012-06-17 11:28) [0]

Добрый день. Есть, к примеру, такая процедура:
procedure TForm1.Exchange(T: TStringList; First: String; Second: String);
var
 s: String;
 index, len: integer;
begin
 s := T.Text;
 len := Length(First);
 index := AnsiPos(First, s);
 while (index <> 0) do
 begin
   Delete(s, index, len);
   Insert(Second, s, index);
   index := AnsiPos(First, s);
 end;
 T.Text := s;
end;


Процедура находит в тексте СЛОВО1 и меняет его на СЛОВО2
Для обработки текста используется:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute and FileExists(OpenDialog1.FileName) then
    begin
       T := TStringList.Create;
       T.LoadFromFile(OpenDialog1.FileName);
       Exchange(T, "СЛОВО1", "СЛОВО2");
       Memo1.Lines := T;
    end;
end;


Причем Exchange(T, "СЛОВО1", "СЛОВО2"); приходится последовательно вызывать и соотвественно
писать в вызове процедуры необходимое количество раз. Допустим СЛОВО2 везде одно и тоже

Вопрос: можно ли все СЛОВО1 как то прописать в виде массива? или еще чего, так чтобы procedure TForm1.Exchange сама брала очередное СЛОВО1 и меняла на СЛОВО2 в тексте. или всетаки правильно так и делать:
Exchange(T, "ророр", "СЛОВО2");
Exchange(T, "рпак", "СЛОВО2");
Exchange(T, "вяваса", "СЛОВО2");
......
Exchange(T, "опрнаев", "СЛОВО2");


 
Медвежонок Пятачок ©   (2012-06-17 11:34) [1]

а почему не регулярками?


 
Pcrepair ©   (2012-06-17 11:42) [2]

у каждого свои развлечения


 
brother ©   (2012-06-17 11:45) [3]

а если
> T: TStringList; First: String; Second: String

заменить на TStringList и в процедуре проверять не одно слово а список слов на соответствие Second: String?


 
Медвежонок Пятачок ©   (2012-06-17 11:46) [4]

Вопрос: можно ли все СЛОВО1 как то прописать в виде массива?

можно


 
brother ©   (2012-06-17 11:47) [5]

> или всетаки правильно так и делать:

для твоей задачи (да и вообще) не правильно...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.054 c
15-1351492704
oldman
2012-10-29 10:38
2013.03.22
Задачка. Ответа я не знаю.


15-1351000566
QAZ5
2012-10-23 17:56
2013.03.22
Visual Studio <> совместимость?


15-1353253627
alexdn
2012-11-18 19:47
2013.03.22
Совершенно дурацкий вопрос


2-1329677704
Aleksandra
2012-02-19 22:55
2013.03.22
Поиск ADO


15-1334830163
Convallaria
2012-04-19 14:09
2013.03.22
!Алгоритм,прогнозирование




   Наверх