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

📄 ukey.pas

📁 用Delphi 开发的一个 户籍管理系统
💻 PAS
字号:
unit uKey;

interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls;
type

   Tmystream = class(Tfilestream)
   private
      fkey: string;
   public
      function read(var buffer; count: longint): longint; override;
      property key: string read fkey write fkey;
   end;


implementation

{ Tmystream }

function Tmystream.read(var buffer; count: Integer): longint;
var
   Pbu, Pmy, mykey: pchar;
   i, mycount, enc: Integer;
begin
   getmem(Pmy, count); // 为 pmy 分配内存
   mykey := pchar(key); // 将 key 转换为 pchar 指针
   try
      mycount := inherited read(Pmy^, count); // 将文件内容读入 pmy 指向内存区
      Pbu := pchar(@buffer); //将 buffer 转换为 pchar 指针
      for i := 0 to mycount - 1 do // 将 key 的每个字符依次与 pmy 的每个字符循环相减 ,结果放入 pbu 指向的变量
      begin
         enc := (ord(Pmy[i]) - ord(mykey[(i mod length(key))])) mod 256;
         Pbu[i] := chr(enc);
      end;
   finally
      freemem(Pmy, count);
   end;
   result := mycount;
end;
end.

⌨️ 快捷键说明

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