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

📄 share_unit.~pas

📁 delphi进销存管理系统 很不错得进销存管理系统 有很多skin得
💻 ~PAS
字号:
unit Share_Unit;

interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, 
   StdCtrls,  Registry;

function GetVolumeNumber: string;                //得到硬盘卷标号
function GetZCH(sn: string): string;             //生成注册号
procedure WriteReg(sn,reg : string);             //写注册表
procedure WriteLoginTimes(LoginTimes: string);   //回写登录次数
function GetLoginTimes: string;                  //得到登录次数

implementation

function GetVolumeNumber: string; //得到硬盘卷标号
var
  VolumeSerialNumber: DWORD;
  MaximumComponentLength: DWORD;
  FileSystemFlags: DWORD;
  SerialNumber: string;
begin
  GetVolumeInformation('c:\', nil, 0, @VolumeSerialNumber, MaximumComponentLength, FileSystemFlags, nil, 0);
  Result := inttohex(VolumeSerialNumber, 2);
end;

function GetZCH(sn: string): string; //生成注册号
var
  TmpStr: string;
  i: integer;
begin
  TmpStr := Trim(sn);
  for i := 1 to Length(TmpStr) do
  begin
    case TmpStr[i] of
      'A': TmpStr[i] := '1';
      'B': TmpStr[i] := '6';
      'C': TmpStr[i] := 'F';
      'D': TmpStr[i] := '8';
      'E': TmpStr[i] := '6';
      'F': TmpStr[i] := '7';
      '1': TmpStr[i] := 'A';
      '2': TmpStr[i] := '8';
      '3': TmpStr[i] := 'E';
      '4': TmpStr[i] := '6';
      '5': TmpStr[i] := '5';
      '6': TmpStr[i] := 'B';
      '7': TmpStr[i] := '3';
      '8': TmpStr[i] := 'C';
      '9': TmpStr[i] := 'F';
    end;
  end;
  Result := TmpStr;
end;

procedure WriteReg(sn,reg : string);   //写注册表
var
  MyReg: TRegistry;
begin
  try
    Myreg := TRegistry.Create;
    MyReg.RootKey := HKEY_LOCAL_MACHINE;
    MyReg.OpenKey('Software\FLy\Reg', True);
    MyReg.WriteString('sn', sn);
    MyReg.WriteString('reg', reg);
  finally
    MyReg.CloseKey;
    MyReg.Free;
  end;
end;

procedure WriteLoginTimes(LoginTimes: string); //回写剩余登录次数到注册表
var
  MyReg: TRegistry;
begin
  try
    Myreg := TRegistry.Create;
    MyReg.RootKey := HKEY_LOCAL_MACHINE;
    MyReg.OpenKey('Software\FLy\LoginTimes', False);
    MyReg.WriteString('LoginTimes', LoginTimes);
  finally
    MyReg.CloseKey;
    MyReg.Free;
  end;
end;

function GetLoginTimes: string; //获取注册表的登录次数
var
  MyReg: TRegistry;
  LoginTimes: string;
begin
  try
    Myreg := TRegistry.Create;
    MyReg.RootKey := HKEY_LOCAL_MACHINE;
    MyReg.OpenKey('Software\FLy\LoginTimes', True);
    LoginTimes := MyReg.ReadString('LoginTimes');
    Result := LoginTimes;
    if (LoginTimes = '') or (StrToIntDef(LoginTimes,0) > 100)  then
    begin
      MyReg.WriteString('LoginTimes', '100');
      LoginTimes := MyReg.ReadString('LoginTimes');
      Result := LoginTimes;
    end;
  finally
    MyReg.CloseKey;
    MyReg.Free;
  end;
end;  

end.

⌨️ 快捷键说明

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