📄 modalbinary.pas
字号:
unit ModalBinary;
interface
uses
Windows,
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls,
ExtCtrls;
type
TBinaryModal = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Memo1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure SetBuffer;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Name: string;
Buffer: Pointer;
BufferSize: dword;
end;
var
BinaryModal: TBinaryModal;
implementation
{$R *.dfm}
procedure TBinaryModal.SetBuffer;
var
StringList: TStringList;
StringLoop: Integer;
begin
StringList := TStringList.Create;
StringList.DelimitedText := Memo1.Lines.Text;
BufferSize := StringList.Count;
ReAllocMem(Buffer, BufferSize);
for StringLoop := 0 to BufferSize - 1 do
begin
PChar(Buffer)[StringLoop] := Chr(StrToInt('$' + StringList.Strings[StringLoop]));
end;
StringList.Free;
end;
procedure TBinaryModal.Button1Click(Sender: TObject);
begin
SetBuffer;
end;
procedure TBinaryModal.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
Key := PChar(UpperCase(Key))[0];
if Key in [#8, #32, #48..#57, #65..#70] then Exit;
Key := #0;
end;
procedure TBinaryModal.FormCreate(Sender: TObject);
begin
GetMem(Buffer, 1);
end;
procedure TBinaryModal.FormShow(Sender: TObject);
begin
SetWindowLong(Button1.Handle, GWL_STYLE, WS_CHILD or WS_VISIBLE or BS_FLAT);
SetWindowLong(Button2.Handle, GWL_STYLE, WS_CHILD or WS_VISIBLE or BS_FLAT);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -