📄 mylib.pas
字号:
//{$D-,L-}
Unit mylib;
Interface
uses
Windows, Messages, SysUtils;
{ }
Function getpy1(S:String):String;//获取汉字拼音
function GetPY2(hzchar:string):char;
function pass(pstr:string):string;//字符加密器
function intdata(d:double):double;//四舍五入
function isdate(s:string):boolean;//检测字符串是否是日期
function getyear(d:Tdatetime):integer;//获取日期中的年份
function getyeardf(d:Tdatetime;e:Tdatetime):integer;//获取两个日期的相差年份
function GetBuildInfo: string;//获取版本号
function is4year(s:string):boolean;//检测是否是4位年份
Implementation
//获取日期中的年份
function getyear(d:Tdatetime):integer;
var yy,mm,dd:word;
begin
DecodeDate(d,yy,mm,dd);
result:=yy;
end;
//获取两个日期之间的年份差值
function getyeardf(d:Tdatetime;e:Tdatetime):integer;
begin
result:=getyear(d-e)-1900
end;
//判断字符串是否是有效日期类型
function isdate(s:string):boolean;
begin
result:=false;
try
strtodate(s);
result:=true;
except
on econverterror do
result:=false;
end;
end;
//检测是否是4位年份
function is4year(s:string):boolean;
begin
result:=false;
if length(s)<4 then exit;
try
strtoint(copy(s,1,4));
result:=true;
except
on EConvertError do
result:=false;
end;
end;
//四舍五入
function intdata(d:double):double;
begin
result:=int(d*100+0.5)/100;
end;
//字符加密
function pass(pstr:string):string;
var str,str1:string;
i,j:integer;
begin
str:=pstr;
for i:=1 to length(str) do begin
//进行第一次变换
j:=(i*i*i mod (i+20))+(i*i mod (i+10))+i*2+1;
str1:=str1+chr(ord(str[i])+j); //第二次变换
j:=(i*i*i mod (i+10))+(i*i mod (i+20))+i*2+1;
str1:=str1+chr(ord(str[i])+j); end;
pass:=str1;
end;
//获取汉字拼音
function GetPY2( hzchar:string):char;
begin
case WORD(hzchar[1]) shl 8 + WORD(hzchar[2]) of
$B0A1..$B0C4 : result := 'a';
$B0C5..$B2C0 : result := 'b';
$B2C1..$B4ED : result := 'c';
$B4EE..$B6E9 : result := 'd';
$B6EA..$B7A1 : result := 'e';
$B7A2..$B8C0 : result := 'f';
$B8C1..$B9FD : result := 'g';
$B9FE..$BBF6 : result := 'h';
$BBF7..$BFA5 : result := 'j';
$BFA6..$C0AB : result := 'k';
$C0AC..$C2E7 : result := 'l';
$C2E8..$C4C2 : result := 'm';
$C4C3..$C5B5 : result := 'n';
$C5B6..$C5BD : result := 'o';
$C5BE..$C6D9 : result := 'p';
$C6DA..$C8BA : result := 'q';
$C8BB..$C8F5 : result := 'r';
$C8F6..$CBF9 : result := 's';
$CBFA..$CDD9 : result := 't';
$CDDA..$CEF3 : result := 'w';
$CEF4..$D1B8 : result := 'x';
$D1B9..$D4D0 : result := 'y';
$D4D1..$D7F9 : result := 'z';
else
result := char(0);
end;
end;
function GetBuildInfo: string;
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
V1, V2, V3, V4: Word;
begin
VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
if VerInfoSize = 0 then begin
Dummy := GetLastError;
Result := '0.0.0.0';
end; {if}
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
with VerValue^ do begin
V1 := dwFileVersionMS shr 16;
V2 := dwFileVersionMS and $FFFF;
V3 := dwFileVersionLS shr 16;
V4 := dwFileVersionLS and $FFFF;
end;
Result := IntToStr(V1) + '.'
+ IntToStr(V2) + '.'
+ IntToStr(V3) + '.'
+ IntToStr(V4);
FreeMem(VerInfo, VerInfoSize);
end;
function getpy1(S:String):String;
var
cstr,hz,py,py1:string;
hstr:array[1..23] of string;
i,j,k:integer;
const zm:array[1..23] of char='abcdefghjklmnopqrstwxyz';
begin
cstr:='0123456789abcdefghijklmnopqrstuvwxyz';
cstr:=cstr+'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
cstr:=cstr+'!.#$%()*+-,/[\|^~`@{}_';
hstr[1]:='锕 捱 嗳 嗌 嫒 瑷 暧 砹 锿 霭 谙 埯 揞 犴 庵 桉 铵 鹌 黯 ';
hstr[1]:=hstr[1]+'嚣 坳 拗 嗷 岙 廒 遨 媪 骜 獒 聱 螯 鏊 鳌 鏖 ';
hstr[2]:='茇 菝 岜 灞 钯 粑 鲅 魃 捭 掰 阪 坂 钣 瘢 癍 舨 蒡 浜 曝 ';
hstr[2]:=hstr[2]+'葆 孢 煲 鸨 褓 趵 龅 孛 陂 邶 埤 萆 蓓 呗 悖 碚 鹎 褙 鐾 鞴 夯 ';
hstr[2]:=hstr[2]+'畚 坌 贲 锛 嘣 甏 匕 俾 埤 芘 荜 荸 萆 薜 吡 哔 狴 庳 愎 滗 濞 ';
hstr[2]:=hstr[2]+'弼 妣 婢 嬖 璧 贲 睥 畀 铋 秕 裨 筚 箅 篦 舭 襞 跸 髀 匾 弁 苄 ';
hstr[2]:=hstr[2]+'忭 汴 缏 飚 煸 砭 碥 窆 褊 蝙 笾 鳊 婊 骠 杓 飑 飙 镖 镳 瘭 裱 ';
hstr[2]:=hstr[2]+'鳔 髟 蹩 傧 豳 缤 玢 槟 殡 膑 镔 髌 鬓 禀 邴 摒 槟 柏 卜 孛 亳 ';
hstr[2]:=hstr[2]+'啵 饽 檗 掰 擘 礴 钹 鹁 簸 趵 跛 踣 卟 逋 瓿 晡 钚 钸 醭 ';
hstr[3]:='嚓 礤 孱 骖 璨 粲 黪 嘈 漕 螬 艚 恻 岑 涔 刹 喳 嚓 猹 馇 汊 姹 杈 楂 ';
hstr[3]:=hstr[3]+'槎 檫 锸 镲 衩 侪 钗 瘥 虿 冁 谄 蒇 廛 忏 潺 澶 孱 羼 婵 骣 觇 ';
hstr[3]:=hstr[3]+'禅 镡 蟾 躔 倘 伥 鬯 苌 菖 徜 怅 惝 阊 娼 嫦 昶 氅 鲳 绰 剿 怊 ';
hstr[3]:=hstr[3]+'晁 焯 耖 坼 砗 郴 伧 谌 谶 抻 嗔 宸 琛 榇 碜 龀 骋 秤 丞 埕 噌 ';
hstr[3]:=hstr[3]+'枨 柽 塍 瞠 铖 铛 裎 蛏 酲 傺 坻 墀 茌 叱 哧 啻 嗤 饬 媸 敕 眵 ';
hstr[3]:=hstr[3]+'鸱 瘛 褫 蚩 螭 笞 篪 豉 踟 魑 茺 忡 憧 铳 舂 艟 俦 帱 惆 瘳 雠 ';
hstr[3]:=hstr[3]+'畜 亍 刍 怵 憷 绌 杵 楮 樗 褚 蜍 蹰 黜 搋 膪 踹 啜 嘬 舛 遄 巛 ';
hstr[3]:=hstr[3]+'氚 钏 舡 怆 陲 棰 槌 茈 呲 祠 鹚 糍 楱 辏 腠 蔟 徂 猝 殂 酢 蹙 ';
hstr[3]:=hstr[3]+'蹴 攒 汆 撺 爨 镩 萃 啐 悴 璀 榱 毳 隹 忖 皴 厝 嵯 脞 锉 矬 痤 ';
hstr[3]:=hstr[3]+'瘥 鹾 蹉 ';
hstr[4]:='耷 哒 嗒 怛 妲 沓 疸 褡 笪 靼 鞑 埭 甙 呔 岱 迨 骀 绐 玳 黛 ';
hstr[4]:=hstr[4]+'诞 儋 萏 啖 澹 殚 赕 眈 疸 瘅 聃 箪 谠 凼 菪 宕 砀 裆 叨 帱 忉 ';
hstr[4]:=hstr[4]+'氘 焘 纛 锝 噔 嶝 戥 磴 镫 簦 氐 籴 诋 谛 邸 坻 荻 嘀 娣 绨 柢 ';
hstr[4]:=hstr[4]+'棣 觌 砥 碲 睇 镝 羝 骶 嗲 阽 坫 巅 玷 钿 癜 癫 簟 踮 铞 铫 貂 ';
hstr[4]:=hstr[4]+'鲷 垤 堞 揲 喋 牒 瓞 耋 踮 蹀 鲽 仃 啶 玎 腚 碇 町 铤 疔 耵 酊 ';
hstr[4]:=hstr[4]+'铥 垌 咚 岽 峒 氡 胨 胴 硐 鸫 蔸 窦 蚪 篼 芏 嘟 渎 椟 牍 蠹 笃 ';
hstr[4]:=hstr[4]+'髑 黩 椴 煅 簖 怼 憝 碓 沌 炖 砘 礅 盹 镦 趸 驮 咄 哚 沲 缍 柁 ';
hstr[4]:=hstr[4]+'铎 裰 踱 ';
hstr[5]:='噩 谔 垩 苊 莪 萼 呃 愕 屙 婀 轭 腭 锇 锷 鹗 颚 鳄 诶 蒽 摁 佴 迩 珥 铒 鸸 鲕 ';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -