sheji.pas
来自「利用Delphi进行界面设计」· PAS 代码 · 共 114 行
PAS
114 行
unit sheji;
interface
uses
Math,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Mask;
type
TForm1 = class(TForm)
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
Edit1: TEdit;
Edit2: TEdit;
ListBox1: TListBox;
ListBox2: TListBox;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Edit3: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
ListBox3: TListBox;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure MaskEdit1Change(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
end;
procedure TForm1.Button1Click(Sender: TObject);
var m,a,b,n,i,j,k,c:integer;
begin
m:=strtoint(Edit1.Text);
a:=trunc(log2(m));
if (m mod 2 = 0) and (m mod strtoint(floattostr(power(2,a)))=0)
then begin
b:=m;
Edit2.Text:=inttostr(b);
end
else begin
b:=trunc(log2(m))+1;
Edit2.Text:=floattostr(power(2,b));
end;
n:=strtoint(Edit2.Text);
j:=256 div n;
k:=256-j;
edit3.Text:='255.'+'255.'+'255.'+inttostr(k);
for i:=0 to n-1 do
begin
c:=j*i;
ListBox1.Items[i]:=MaskEdit2.Text+ '.'+inttostr(c+1)+'~'+MaskEdit2.Text+'.'+inttostr(j*(i+1)-2);
ListBox3.Items[i]:=MaskEdit2.Text+'.'+inttostr(j*(i+1)-1);
end;
end;
procedure TForm1.MaskEdit1Change(Sender: TObject);
begin
MaskEdit2.Text:=Maskedit1.Text;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
ListBox2.Items.Add(ListBox1.Items[ListBox1.ItemIndex]);
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
var i:integer;
begin
for i:=ListBox1.Items.Count-1 downto 0 do
ListBox2.Items.Add(ListBox1.Items[i]);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
MaskEdit1.Text:='';
MaskEdit2.Text:='';
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
ListBox1.Items.Clear;
ListBox2.Items.Clear;
ListBox3.Items.Clear;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?