Всё нужно переделывать
------------ Дoбавленo в 20.14:
Это вроде самый нормальный
Код
unit HiAsmUnit;
interface
uses kol,Share,Debug;
type
THiAsmClass = class(TDebug)
private
public
Str,Result:THI_Event;
procedure doTranslit(var _Data:TData; Index:Word);
end;
implementation
procedure THiAsmClass.doTranslit;
const
ru=('абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ');
tran:array[1..66] of string[4]=(
'a','b','v','g','d','e','jo','zh','z','i','y','k','l','m','n','o','p',
'r','s','t','u','f','h','c','ch','sh','shch','','q','`','ye','yu','ya',
'A','B','V','G','D','E','Jo','Zh','Z','I','Y','K','L','M','N','O','P',
'R','S','T','U','F','H','C','Ch','Sh','Shch','','Q','`','Ye','Yu','Ya');
var s,st:string;
i,k:integer;
begin
s:=ReadString(_Data,Str);
for i:=1 to Length(s) do
begin
k:= Pos(s[i],ru);
If k>0 then st:=st+tran[k]
else st:=st+s[i];
end;
_hi_onEvent(Result,st);
end;
end.
interface
uses kol,Share,Debug;
type
THiAsmClass = class(TDebug)
private
public
Str,Result:THI_Event;
procedure doTranslit(var _Data:TData; Index:Word);
end;
implementation
procedure THiAsmClass.doTranslit;
const
ru=('абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ');
tran:array[1..66] of string[4]=(
'a','b','v','g','d','e','jo','zh','z','i','y','k','l','m','n','o','p',
'r','s','t','u','f','h','c','ch','sh','shch','','q','`','ye','yu','ya',
'A','B','V','G','D','E','Jo','Zh','Z','I','Y','K','L','M','N','O','P',
'R','S','T','U','F','H','C','Ch','Sh','Shch','','Q','`','Ye','Yu','Ya');
var s,st:string;
i,k:integer;
begin
s:=ReadString(_Data,Str);
for i:=1 to Length(s) do
begin
k:= Pos(s[i],ru);
If k>0 then st:=st+tran[k]
else st:=st+s[i];
end;
_hi_onEvent(Result,st);
end;
end.