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

📄 unit1.pas

📁 Delphi字符进制转换源码,是单片机和上位机通讯的好工具
💻 PAS
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    CheckBox2: TCheckBox;
    e1: TEdit;
    e3: TEdit;
    Label13: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    e4: TEdit;
    Label22: TLabel;
    Label23: TLabel;
    Button2: TButton;
    Button4: TButton;
    Button5: TButton;
    e11: TEdit;
    e22: TEdit;
    e33: TEdit;
    e44: TEdit;
    e55: TEdit;
    e66: TEdit;
    Label1: TLabel;
    Shape1: TShape;
    Shape2: TShape;
    Shape3: TShape;
    procedure CheckBox2Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
//二进制字符转十进制
Function binToDec(Value :string) : string;//integer;
VAR
 str : String;
 Int : Integer;
 i : integer;
BEGIN
 Str := UpperCase(Value);
 Int := 0;
 FOR i := 1 TO Length(str) DO
  Int := Int * 2+ ORD(str[i]) - 48;
 Result := IntToStr(Int);
end;

//十进制转二进制 函数一
function mod_num(n1,n2:integer):integer;//取余数
begin
 result:=n1-n1 div n2*n2
end;
//十进制转二进制 函数二
function reverse(s:String):String;//取反串
Var
 i,num:Integer;
 st:String;
begin
 num:=Length(s);
 st:='';
 For i:=num DownTo 1 do
 Begin
  st:=st+s[i];
 End;
 Result:=st;
end;
//十进制转化二进制
Function DecTobin(Value :Integer) : string;
Var
 ST:String;
 N:Integer;
Begin
 ST:='';
 n:=value;
 While n>=2 Do
 Begin
  st:=st+IntToStr(mod_num(n,2));
  n:=n div 2;
 End;
 st:=st+IntToStr(n);
 Result:=reverse(st);
End;

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
 if checkbox2.Checked then
  self.FormStyle := fsStayOnTop
 else
  self.FormStyle := fsNormal;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
try
 e11.Text := '';
 e22.Text := '';
 e11.Text := dectobin(strtoint(e1.Text));
 e22.Text := uppercase(format('%x',[strtoint(e1.Text)]));
except
  on EConvertError do showmessage('数值错误');
end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
try
 e33.Text := '';
 e55.Text := '';
 e33.Text := bintodec(e3.Text);
 e55.Text := uppercase(format('%x',[strtoint(bintodec(e3.Text))]));
except
  on EConvertError do showmessage('数值错误');
end;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
try
 e44.Text := '';
 e66.Text := '';
 e44.Text := inttostr(strtoint('$'+e4.Text));
 e66.Text := dectobin(strtoint('$'+e4.Text));
except
  on EConvertError do showmessage('数值错误');
end;
end;

end.

⌨️ 快捷键说明

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