Аналог StringReplace для msestring?
 Добавлено: 12.01.2011 01:00:37
Добавлено: 12.01.2011 01:00:37Есть ли в mse аналог функции StringRepalce принимающий и возвращающий результат в msestring?
			форум
http://lazarus.freepascal.ru/forum/
http://lazarus.freepascal.ru/forum/viewtopic.php?f=11&t=6643
 Добавлено: 12.01.2011 01:00:37
Добавлено: 12.01.2011 01:00:37 Добавлено: 12.01.2011 12:52:59
Добавлено: 12.01.2011 12:52:59Have a look to FPC StringReplace() function in rtl/objpas/sysutils/systr.inc.
 Добавлено: 13.01.2011 11:08:19
Добавлено: 13.01.2011 11:08:19 Добавлено: 13.01.2011 12:30:56
Добавлено: 13.01.2011 12:30:56Trunk 4286 has replacestring() function, experimental, please test.
 Добавлено: 14.01.2011 11:46:09
Добавлено: 14.01.2011 11:46:09
 Добавлено: 14.01.2011 17:11:36
Добавлено: 14.01.2011 17:11:36"
S1:='<text:text-input
text:description="Фамилия">$Фамилия$</text:text-input>';
se1.Value:=S1;
se2.Value:=UTF8ToString(S1);
"
Doesn't work,
"
'<text:text-input
text:description="Фамилия">$Фамилия$</text:text-input>'
"
will be converted utf-8 -> utf-16 on compiletime and converted utf-16 ->
current system encoding on runtime by the unicodestringmanager.
"
S1:='<t...
"
Coneversion current system encoding -> utf-16 on runtime by the
widestringmanager.
"
se1.Value:=S1;
"
So either use all msestring and msestring version of replacestring():
"
var
S1, S2 : msestring;
begin
S1:='<text:text-input
text:description="Фамилия">$Фамилия$</text:text-input>';
se2.Value:=S1;
se3.Value:=ReplaceString(S1, '$Фамилия$', 'Иванов');
"
or all utf-8 ansistring, now FPC ansi StringReplace() can be used:
"
var
S1, S2 : string;
begin
S1:= stringtoutf8('<text:text-input
text:description="Фамилия">$Фамилия$</text:text-input>');
se2.Value:= utf8tostring(S1);
se3.Value:= utf8tostring(StringReplace(S1,stringtoutf8('$Фамилия$'),
stringtoutf8('Иванов'),[]));
"
> Lower: there's should be nothing replaced.
Should be fixed in trunk 4265, there was a wrong parenthesis.
 Добавлено: 19.01.2011 19:23:14
Добавлено: 19.01.2011 19:23:14