HZ-GB码的转换示例 (2001年5月24日)
本站更新 分类:算法 作者: 推荐: 阅读次数:113
(http://www.codesky.net)
--------------------------------------------------------------------------------
// 我写的自定义函数,从Str的第Start个字符处
// ..开始找SubStr,找到返回位置(相对于Str)
// ..找不到返回0
function PosX(SubStr,Str:string;Start:integer):integer;
begin
result:=Start+pos(Substr,copy(s,Start,MaxInt))-1;
if result0 do
begin
result:=result+copy(s,RIdx,LIdx-RIdx);
RIdx:=PosX('~}',s,LIdx);
if RIdx=0 then
begin
result:=result+copy(s,LIdx,MaxInt);
break;
end;
result:=result+InternalHZtoGB(copy(s,LIdx+2,RIdx-LIdx-2))
;
inc(RIdx,2);
LIdx:=PosX('~{',s,RIdx);
end;
result:=result+copy(s,RIdx,MaxInt);
end;