📄 py_unit.~pas
字号:
unit PY_Unit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
PYT_Class=Class(TObject)
private
FFileName:string;
PYTable:TMemoryStream;
{ Private declarations }
function Get_PYT(HZ :Word):string;
public
{ Public declarations }
constructor Create(FileName:string);
destructor Destroy();
function HZ2PYT(ss:string):string;
procedure SetPYT(hz,Py:string);
end;
implementation
constructor PYT_Class.Create(FileName:string);
begin
inherited Create;
if FileExists(FileName) then
begin
PYTable:=TMemoryStream.Create();
PYTable.LoadFromFile(FileName);
FFileName:=FileName;
end
else
Application.MessageBox('拼音表不存在!!!','系统提示',16);
end;
destructor PYT_Class.Destroy();
begin
PYTable.Free;
inherited Destroy;
end;
function PYT_Class.Get_PYT(HZ :Word):string;
begin
Result:=' ';
pyTable.Position:=hz-45217;
pyTable.Read(result[1],1);
end;
function PYT_Class.HZ2PYT(ss:string):string;
var i:integer;
begin
i:=1;
result:='';
if Length (ss)<>0 then
while i > 0 do
begin
if Byte(ss[i])<$b0 then
begin
result:=result+ss[i];
i:=i+1;
end
else
begin
result:=result+Get_PYT(Byte(ss[i])*256+Byte(ss[i+1]));
i:=i+2;
end;
if i>=Length(ss) then break;
end;
end;
procedure PYT_Class.SetPYT(hz,Py:string);
begin
if (Length(hz)>1) And (Byte(hz[1])>=$B0) And (py<>'') then
begin
if Application.MessageBox('拼音对照表将被改动!!','系统提示',52)=mrYes then
begin
PYTable.Position:=Byte(hz[1])*256+Byte(hz[2])-45217;
pyTable.Write(py[1],1);
DeleteFile(FFileName);
PYTable.SaveToFile(FFileName);
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -