⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pub.~pas

📁 比较详细的功能
💻 ~PAS
字号:
unit Pub;

interface
uses
StdCtrls,sysutils,windows,messages,controls,dialogs,inifiles,Classes, DB, DBClient,
 MConnect,adodb,registry,mmsystem;


function InitRead(msection,mitem,mdefault:string):string; //读取ini文件
function InitSave(msection,mitem,mValue:string):Boolean;  //写入ini文件
function encrypt(s:string):string;                       //加密过程
function decrypt(s:string):string;                       //解密过程
function Longencrypt(s:string):string;                   //加密过程
function Longdecrypt(s:string):string;                   //解密过程;
function RegSave(str1,str2:string):boolean;              //存入数据
function RegLoad(str:string):string;                     //取出数据
function Regcheck(str:string):boolean;                   //注册表检查

var
  numOp:array[0..5] of string
        =('>','>=','<','<=','=','<>');

implementation
uses pas_dm,pas_login;





end;
function InitRead(msection,mitem,mdefault:string):string;
var
  ini:Tinifile;
begin
  try
  ini:=Tinifile.Create('ini\admin.ini');
  result:=ini.ReadString(msection,mitem,mdefault);
  except
   showmessage('Somewhere is wrong');
   result:='0';
  end;
end;

function InitSave(msection,mitem,mValue:string):Boolean;
var
  ini:tinifile;
begin
  try
   ini:=tinifile.Create('ini\admin.ini');
   ini.WriteString(msection,mitem,mvalue);
   result:=true;
  except
   showmessage('somewhere is wrong');
   result:=false;
  end;
end;

function encrypt(s: string): string; //加密过程
var
  iii:integer;
  ss1:array[0..18] of integer;
  ss2:array[0..18] of char;
begin
  lstrcpy(ss2,'0');
  lstrcpy(ss2,pchar(trim(s))); //字符串拷入数组
  iii:=0;
  while iii<19 do
  begin
  ss1[iii]:=ord(ss2[iii]);//转换成ASCII码
  ss1[iii]:=(ss1[iii] xor 010 )+1;
  ss2[iii]:=chr(ss1[iii]);  //转换成char
  iii:=iii+3;
  end;
  iii:=1;
  while iii<19 do
  begin
  ss1[iii]:=ord(ss2[iii]);//转换成ASCII码
  ss1[iii]:=(ss1[iii] xor 10 )+1;
  ss2[iii]:=chr(ss1[iii]);  //转换成char
  iii:=iii+3;
  end;
  iii:=2;
  while iii<19 do
  begin
  ss1[iii]:=ord(ss2[iii]);
  ss1[iii]:=ss1[iii] xor 101+10;
  ss2[iii]:=chr(ss1[iii]);
  iii:=iii+3;
  end;
  result:= strpas(@ss2);//加密过程
end;

function decrypt(s: string): string;   //解密过程
var
  iii:integer;
  ss1:array[0..18] of integer;
  ss2:array[0..18] of char;
begin
  lstrcpy(ss2,'0');
  lstrcpy(ss2,pchar(trim(s)));
  iii:=0;
  while iii<19 do
  begin
  ss1[iii]:=ord(ss2[iii]);
  ss1[iii]:=(ss1[iii]-1) xor 010;
  ss2[iii]:=chr(ss1[iii]);
  iii:=iii+3;
  end;
  iii:=1;
  while iii<19 do
  begin
  ss1[iii]:=ord(ss2[iii]);
  ss1[iii]:=(ss1[iii]-1) xor 10;
  ss2[iii]:=chr(ss1[iii]);
  iii:=iii+3;
  end;
  iii:=2;
  while iii<19 do
  begin
  ss1[iii]:=ord(ss2[iii]);
  ss1[iii]:=(ss1[iii]-10)xor 101;
  ss2[iii]:=chr(ss1[iii]);
  iii:=iii+3;
  end;
  result:=strpas(@ss2);  //数据显示为字符串!
end;

//存入数据
function RegSave(str1,str2:string):boolean;
var Reg : TRegistry;
begin
 Reg:=TRegistry.Create;
 try
  Reg.RootKey:=HKEY_CURRENT_USER;
  if Reg.OpenKey('\passwd',true) then
     begin
     Reg.WriteString(str1,Longencrypt(str2));
     result:=true;
     end
     else
     result:=false;
  finally
  Reg.CloseKey;
  Reg.Free;
  end;
end;

//取出数据
function RegLoad(str:string):string;
 var Reg: TRegistry;
 begin
 Reg:=TRegistry.Create;
 try
  Reg.RootKey:=HKEY_CURRENT_USER;
  if Reg.OpenKey('\passwd',false) then
  begin
    IF Reg.ValueExists(str)=true then
    begin
    result:=Longdecrypt(reg.ReadString(str));
    end
    else
     result:='';
  end
  else
     result:='';
 finally
   Reg.CloseKey;
   Reg.Free;
end;
end;

//注册表检查
function Regcheck(str:string):boolean;
 var Reg: TRegistry;
 begin
 Reg:=TRegistry.Create;
 try
  Reg.RootKey:=HKEY_CURRENT_USER;
  if Reg.OpenKey('\passwd',false) then
  begin
    IF Reg.ValueExists(str)=true then
    begin
     result:=true;
    end
    else
     result:=false;
  end
  else
     result:=false;
 finally
    Reg.CloseKey;
    Reg.Free;
 end;
end;

function Longencrypt(s:string):string;                   //长加密过程
var
  iii:integer;
  ss1:array[0..38] of integer;
  ss2:array[0..38] of char;
begin
  lstrcpy(ss2,'0');
  lstrcpy(ss2,pchar(trim(s))); //字符串拷入数组
  iii:=0;
  while iii<39 do
  begin
  ss1[iii]:=ord(ss2[iii]);//转换成ASCII码
  ss1[iii]:=(ss1[iii] xor 010 )+1;
  ss2[iii]:=chr(ss1[iii]);  //转换成char
  iii:=iii+3;
  end;
  iii:=1;
  while iii<39 do
  begin
  ss1[iii]:=ord(ss2[iii]);//转换成ASCII码
  ss1[iii]:=(ss1[iii] xor 10 )+1;
  ss2[iii]:=chr(ss1[iii]);  //转换成char
  iii:=iii+3;
  end;
  iii:=2;
  while iii<39 do
  begin
  ss1[iii]:=ord(ss2[iii]);
  ss1[iii]:=ss1[iii] xor 101+10;
  ss2[iii]:=chr(ss1[iii]);
  iii:=iii+3;
  end;
  result:= strpas(@ss2);//加密过程
end;

function Longdecrypt(s:string):string;                   //长解密过程;
var
  iii:integer;
  ss1:array[0..38] of integer;
  ss2:array[0..38] of char;
begin
  lstrcpy(ss2,'0');
  lstrcpy(ss2,pchar(trim(s)));
  iii:=0;
  while iii<39 do
  begin
  ss1[iii]:=ord(ss2[iii]);
  ss1[iii]:=(ss1[iii]-1) xor 010;
  ss2[iii]:=chr(ss1[iii]);
  iii:=iii+3;
  end;
  iii:=1;
  while iii<39 do
  begin
  ss1[iii]:=ord(ss2[iii]);
  ss1[iii]:=(ss1[iii]-1) xor 10;
  ss2[iii]:=chr(ss1[iii]);
  iii:=iii+3;
  end;
  iii:=2;
  while iii<39 do
  begin
  ss1[iii]:=ord(ss2[iii]);
  ss1[iii]:=(ss1[iii]-10)xor 101;
  ss2[iii]:=chr(ss1[iii]);
  iii:=iii+3;
  end;
  result:=strpas(@ss2);  //数据显示为字符串!
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -