📄 unit1.~pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
BUGradientCaption, LMDCustomControl, LMDCustomPanel, LMDCustomBevelPanel,
LMDBaseEdit, LMDCustomEdit, LMDEdit, StdCtrls, BUStaticText, BUGroupBox,
LMDButtonControl, LMDCustomCheckBox, LMDCheckBox, LMDRadioButton, Buttons,
ExtCtrls, jpeg;
type
TForm1 = class(TForm)
BUGroupBox1: TBUGroupBox;
BUStaticText1: TBUStaticText;
LMDEdit1: TLMDEdit;
LMDEdit2: TLMDEdit;
BUStaticText2: TBUStaticText;
LMDCheckBox1: TLMDCheckBox;
LMDRadioButton1: TLMDRadioButton;
LMDRadioButton2: TLMDRadioButton;
LMDRadioButton3: TLMDRadioButton;
LMDRadioButton4: TLMDRadioButton;
GroupBox1: TGroupBox;
LMDEdit3: TLMDEdit;
LMDEdit4: TLMDEdit;
LMDRadioButton5: TLMDRadioButton;
LMDRadioButton6: TLMDRadioButton;
LMDRadioButton7: TLMDRadioButton;
LMDEdit5: TLMDEdit;
LMDEdit6: TLMDEdit;
GroupBox2: TGroupBox;
LMDEdit7: TLMDEdit;
LMDEdit8: TLMDEdit;
Label1: TLabel;
LMDRadioButton8: TLMDRadioButton;
LMDRadioButton9: TLMDRadioButton;
LMDEdit9: TLMDEdit;
LMDEdit10: TLMDEdit;
GroupBox3: TGroupBox;
LMDEdit11: TLMDEdit;
LMDRadioButton10: TLMDRadioButton;
LMDRadioButton11: TLMDRadioButton;
GroupBox4: TGroupBox;
LMDRadioButton12: TLMDRadioButton;
LMDRadioButton13: TLMDRadioButton;
LMDRadioButton14: TLMDRadioButton;
LMDRadioButton15: TLMDRadioButton;
GroupBox5: TGroupBox;
Memo1: TMemo;
Label2: TLabel;
GroupBox6: TGroupBox;
Memo2: TMemo;
SpeedButton1: TSpeedButton;
Image1: TImage;
SpeedButton2: TSpeedButton;
GroupBox7: TGroupBox;
Label3: TLabel;
LMDEdit12: TLMDEdit;
LMDEdit13: TLMDEdit;
SpeedButton3: TSpeedButton;
LMDEdit14: TLMDEdit;
LMDEdit15: TLMDEdit;
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure LMDRadioButton5Click(Sender: TObject);
procedure LMDRadioButton6Click(Sender: TObject);
procedure LMDRadioButton7Click(Sender: TObject);
procedure LMDRadioButton12Click(Sender: TObject);
procedure LMDRadioButton13Click(Sender: TObject);
procedure LMDRadioButton14Click(Sender: TObject);
procedure LMDRadioButton15Click(Sender: TObject);
procedure LMDRadioButton1Click(Sender: TObject);
procedure LMDRadioButton2Click(Sender: TObject);
procedure LMDRadioButton3Click(Sender: TObject);
procedure LMDRadioButton4Click(Sender: TObject);
procedure LMDRadioButton8Click(Sender: TObject);
procedure LMDRadioButton9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
str:string;//用来保存编码的结果的;
implementation
{$R *.DFM}
//编码函数7bit
function Encode1(var s:String):String;
var
i,j,len:Integer;
cur:Integer;
t:String;
begin
Result:='';
len:=Length(s);
//j 用于移位计数
i:=1;
j:=0;
while i<=len do
begin
if i<len then
//数据变换
cur:=(ord(s[i]) shr j) or ((ord(s[i+1]) shl (7-j)) and $ff)
else
cur:=(ord(s[i]) shr j) and $7f;
FmtStr(t,'%2.2X',[cur]);
Result:=Result+t;
inc(i);
//移位计数达到7位的特别处理
j:=(j+1) mod 7;
if j=0 then inc(i);
end;
str:=result;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
//////////
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
temp:string;//保存中间的变量
len1,len2,i:integer;
temp1:char;
begin
/////////////
len1:=length(lmdedit5.Text);
temp:=lmdedit5.text;
for i:=0 to len1 div 2 do
begin
temp1:=temp[2*i+1];
temp[2*i+1]:=temp[2*i+2];
temp[2*i+2]:=temp1;
end;
lmdedit6.Text:=temp;
len2:=length(lmdedit9.text);
temp:=lmdedit9.text;
lmdedit7.text:=inttohex(len2,2);
for i:=0 to len2 div 2 do
begin
temp1:=temp[2*i+1];
temp[2*i+1]:=temp[2*i+2];
temp[2*i+2]:=temp1;
end;
lmdedit10.text:=temp;
if lmdradiobutton10.Checked then
begin///7bit
temp:=memo1.Text;
encode1(temp);
memo2.text:=str;
end;
if lmdradiobutton11.Checked then
begin///8bit
lmdedit15.text:=inttohex(length(memo1.text),2);
temp:='';
for i:=1 to length(memo1.text) do
begin
temp1:=memo1.text[i];
temp:=temp+inttohex(ord(temp1),2);
end;
temp:=lmdedit3.text+lmdedit4.text+lmdedit6.Text+
lmdedit1.text+lmdedit2.text+lmdedit7.text+
lmdedit8.text+lmdedit10.text+lmdedit14.text+
lmdedit11.text+lmdedit13.text+lmdedit15.text+temp;
memo2.text:=temp;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
lmdradiobutton5.Checked:=true;
lmdcheckbox1.Checked:=true;
lmdradiobutton11.Checked:=true;
lmdradiobutton14.Checked:=true;
lmdradiobutton1.Checked:=true;
lmdedit14.Text:='00';
lmdradiobutton9.Checked:=true;
lmdedit8.Text:='91';
lmdedit7.Text:='00';
end;
procedure TForm1.LMDRadioButton5Click(Sender: TObject);
begin
if lmdradiobutton5.Checked then
begin
lmdedit4.Text:='91';
if length(lmdedit5.text)<>0 then
lmdedit3.text:='07'
else lmdedit3.text:='00';
end;
end;
procedure TForm1.LMDRadioButton6Click(Sender: TObject);
begin
if lmdradiobutton6.Checked then
lmdedit4.text:='81';
end;
procedure TForm1.LMDRadioButton7Click(Sender: TObject);
begin
if lmdradiobutton7.Checked then
lmdedit3.Text:='00';
end;
procedure TForm1.LMDRadioButton12Click(Sender: TObject);
begin
if lmdradiobutton12.Checked then
lmdedit11.Text:='f4';
end;
procedure TForm1.LMDRadioButton13Click(Sender: TObject);
begin
if lmdradiobutton13.Checked then
lmdedit11.Text:='f5';
end;
procedure TForm1.LMDRadioButton14Click(Sender: TObject);
begin
if lmdradiobutton14.Checked then
lmdedit11.Text:='f6';
end;
procedure TForm1.LMDRadioButton15Click(Sender: TObject);
begin
if lmdradiobutton15.Checked then
lmdedit11.Text:='f7';
end;
procedure TForm1.LMDRadioButton1Click(Sender: TObject);
begin
if lmdradiobutton1.Checked then
lmdedit14.Text:='00';
end;
procedure TForm1.LMDRadioButton2Click(Sender: TObject);
begin
if lmdradiobutton2.Checked then
lmdedit14.Text:='01';
end;
procedure TForm1.LMDRadioButton3Click(Sender: TObject);
begin
if lmdradiobutton3.Checked then
lmdedit14.Text:='02';
end;
procedure TForm1.LMDRadioButton4Click(Sender: TObject);
begin
if lmdradiobutton4.Checked then
lmdedit14.Text:='03';
end;
procedure TForm1.LMDRadioButton8Click(Sender: TObject);
begin
if lmdradiobutton8.Checked then
lmdedit8.Text:='81';
end;
procedure TForm1.LMDRadioButton9Click(Sender: TObject);
begin
if lmdradiobutton9.Checked then
lmdedit8.Text:='81';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -