unit1.~pas

来自「自己delphi写的hex和ASC转换」· ~PAS 代码 · 共 82 行

~PAS
82
字号
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    rg_sp: TRadioGroup;
    Label1: TLabel;
    Label2: TLabel;
    Button2: TButton;
    Button1: TButton;
    Memo2: TMemo;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    function hextostr(hex:string):string;
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  sp:string;

implementation

{$R *.dfm}

function TForm1.hextostr(hex:string):string;
var
    i:integer;
    s1,s2,temp:string;
begin
    if(rg_sp.ItemIndex=1) then sp:=' ';
    if(rg_sp.ItemIndex=0) then sp:='\X';
    s1:=hex ;
    s1:=AnsiReplaceStr(s1,sp,'');
    for i:=1 to length(s1) div 2 do
    begin
        s2:=copy(s1,i*2-1,2);
        temp:=temp+chr(StrToInt('$' + S2))
    end;
    result:=temp;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
    memo1.Text :=hextostr(memo2.Text );
    Memo1.SelectAll;
    memo1.CopyToClipboard;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
    i:integer;
    str,tmpstr:string;
begin                 
    if(rg_sp.ItemIndex=1) then sp:=' ';
    if(rg_sp.ItemIndex=0) then sp:='\X';
    tmpstr:=memo1.text;
    if (length(tmpstr)>=1) then
    begin
    if(sp='\X') then str:=sp+inttohex(ord(tmpstr[1]),2); 
    if(sp=' ') then str:=inttohex(ord(tmpstr[1]),2);
    for i:=2 to length(tmpstr) do
    begin
        str:=str+sp+inttohex(ord(tmpstr[i]),2);
    end;
    end;
    memo2.Text :=str;
    Memo2.SelectAll;
    memo2.CopyToClipboard;
end;

end.

⌨️ 快捷键说明

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