Label2: TLabel;
MaskEdit2: TMaskEdit;
MaskEdit3: TMaskEdit;
Label3: TLabel;
Label4: TLabel;
MaskEdit4: TMaskEdit;
MaskEdit5: TMaskEdit;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure ListBoxClick(Sender: TObject);
procedure Form2Create(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure MaskEdit1KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit1Change(Sender: TObject);
procedure MaskEdit2KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit2Change(Sender: TObject);
procedure MaskEdit3KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit4KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit4Change(Sender: TObject);
procedure MaskEdit3Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
index:integer;
count:integer;
buf:array[0..1023]of byte;
function StrToHex(str:string):integer;
public
{ Public declarations }
end;
var Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.RadioButton1Click(Sender: TObject);
begin
MaskEdit5.Enabled := false;
Label6.Enabled := false;
ComboBox1.Enabled := true;
Label5.Enabled := true;
procedure TForm2.RadioButton2Click(Sender: TObject);
ComboBox1.Enabled := false;
Label5.Enabled := false;
MaskEdit5.Enabled := true;
Label6.Enabled := true;
procedure TForm2.ListBoxClick(Sender: TObject);
var
s:string;
s:=
ListBox1.Items.ValueFromIndex[ListBox1.ItemIndex];
index := ListBox1.ItemIndex;
MaskEdit1.Text := s[4]+s[5];
procedure TForm2.Form2Create(Sender: TObject);
i,j:integer;
s,s1:string;
count := 1024;
index := 0;
ListBox1.Clear;
for i := 0 to count-1 do
s := Format('%x',[i]);
for j := 1 to 3-length(s) do
s1 := s1 + '0';
for j := 1 to length(s) do
s1 := s1 + s[j];
ListBox1.Items.Add(s1+':00');
s1 := '';
buf[i] := 0;
procedure TForm2.CheckBox1Click(Sender: TObject);
if (CheckBox1.Checked = True) then
Form1.Visible := true;
procedure TForm2.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
if not(((Key >= '0') and (Key <= '9')) or
((Key >= 'A') and (Key <= 'F')) or
((Key >= 'a') and (Key <= 'f'))) then
Key := ' ';
if (Key >= 'a') and (Key <= 'f') then
Key := UpCase(Key)
procedure TForm2.MaskEdit1Change(Sender: TObject);
s,s1,s2:string;
i:byte;
s := Format('%x',[index]);
for i := 1 to 3-length(s) do
for i := 1 to length(s) do
s1 := s1 + s[i];
s2 := s1 + ':';
s := Format('%x',[StrToHex(MaskEdit1.Text)]);
for i := 1 to 2-length(s) do
buf[index] := StrToHex(MaskEdit1.Text);
s2 := s2 + s1;
ListBox1.Items.Strings[index] := s2;
procedure TForm2.MaskEdit2KeyPress(Sender: TObject; var Key: Char);
if not((Key >= '0') and (Key <= '9') or
(Key = #13)) then
if Key = #13 then
procedure TForm2.MaskEdit2Change(Sender: TObject);
i:integer;
s := MaskEdit2.Text;
if s <> '' then
if s[i] <> ' ' then s1 := s1 + s[i];
if s1 <> '' then
if (StrToInt(s1) > 1024) then
MaskEdit2.Text := '1024';
count := StrToInt(s1);
function TForm2.StrToHex(str:string):integer;
i,num:integer;
num := 0;
if (length(str) > 0) and (length(str) < 5) then
for i := length(str) downto 1 do
if ((str[i] >= '0')and(str[i] <= '9')) then
num := num + (byte(str[i])-byte('0'))shl(4*(length(str)-i));
if ((str[i] >= 'A')and(str[i] <= 'F')) then
num := num + (byte(str[i])-byte('A')+10)shl(4*(length(str)-i));
if ((str[i] >= 'a')and(str[i] <= 'f')) then
num := num + (byte(str[i])-byte('a')+10)shl(4*(length(str)-i));
StrToHex := num;
procedure TForm2.MaskEdit3KeyPress(Sender: TObject; var Key: Char);
Key := UpCase(Key);
procedure TForm2.MaskEdit4KeyPress(Sender: TObject; var Key: Char);
procedure TForm2.MaskEdit4Change(Sender: TObject);
if MaskEdit4.Text <> '' then
if StrToHex(MaskEdit4.Text) > count-1 then
MaskEdit4.Text := Format('%3x', [count-1]);
if StrToHex(MaskEdit4.Text) < StrToHex(MaskEdit3.Text) then
MaskEdit4.Text := MaskEdit3.Text;
procedure TForm2.MaskEdit3Change(Sender: TObject);
if MaskEdit3.Text <> '' then
if StrToHex(MaskEdit3.Text) > count-1 then
MaskEdit3.Text := Format('%3x', [count-1]);
MaskEdit3.Text := MaskEdit4.Text;
procedure TForm2.BitBtn1Click(Sender: TObject);
//a:array[1..]
BitBtn1.Enabled := False;
BitBtn2.Enabled := True;
//Form1.SerialPortNG1.SendData();
Form1.SerialPortNG1.SendData(@buf[StrToHex(MaskEdit3.Text)],StrToHex(MaskEdit4.Text)-StrToHex(MaskEdit3.Text));
procedure TForm2.BitBtn2Click(Sender: TObject);
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21