coder.pas

来自「简单的加密解密器」· PAS 代码 · 共 130 行

PAS
130
字号
unit Coder;

interface

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

type
  TMainForm = class(TForm)
    ListBox1: TListBox;
    MainMenu1: TMainMenu;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    procedure N5Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;
  ATextFile:system.TextFile;

implementation

{$R *.dfm}
function Encode(s:String):String;
var
  n,i:integer;
  str:string;
begin
  n:=length(s);
  str:='';
  for i:=1 to n do
  begin
    str:=str+Char(Ord(s[i])-1);
  end;
  encode:=str;
end;

function Decode(s:String):String;
var
  n,i:integer;
  str:string;
begin
  n:=length(s);
  str:='';
  for i:=1 to n do
  begin
    str:=str+Char(Ord(s[i])+1);
  end;
  Decode:=str;
end;

procedure TMainForm.N5Click(Sender: TObject);
begin
  Close;
end;

procedure TMainForm.N2Click(Sender: TObject);
var
  TextLine:String;
begin
  if OpenDialog1.Execute then
  begin
    ListBox1.Clear;
    Caption:='文件加密解密器'+OpenDialog1.FileName;
    AssignFile(ATextFile,OpenDialog1.FileName);
    Reset(ATextFile);
    While not eof(ATextFile) do
    begin
      Readln(ATextfile,TextLine);
      ListBox1.Items.Add(TextLine);
    end;
    CloseFile(ATextFile);
  end;
end;


procedure TMainForm.N3Click(Sender: TObject);
var
  LineNo:Integer;
  TextLine,NewLine:String;
begin
  if SaveDialog1.Execute then
  begin
    AssignFile(ATextFile,SaveDialog1.FileName);
    Rewrite(ATextFile);
    For LineNo:=0 to ListBox1.Items.Count-1 do
    begin
      TextLine:=ListBox1.Items[LineNo];
      NewLine:=Encode(TextLine);
      Writeln(ATextFile,NewLine);
    end;
    CloseFile(ATextFile);
  end;
end;

procedure TMainForm.N6Click(Sender: TObject);
var
  LineNo:Integer;
  TextLine,NewLine:String;
begin
  if SaveDialog1.Execute then
  begin
    AssignFile(ATextFile,SaveDialog1.FileName);
    Rewrite(ATextFile);
    For LineNo:=0 to ListBox1.Items.Count-1 do
    begin
      TextLine:=ListBox1.Items[LineNo];
      NewLine:=Decode(TextLine);
      Writeln(ATextFile,NewLine);
    end;
    CloseFile(ATextFile);
  end;
end;

end.

⌨️ 快捷键说明

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