Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизСтруктура кода при обработке текстов Найти похожие ветки
← →
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 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.063 c