📄 singzm.~pas
字号:
Big5: boolean);
var Line,I,J:integer;
Tmp:String;
linestring:Array[0..255] of String;
begin
i := 1;
repeat
if S[i] > #80 then
begin
line := i div 20;
linestring[Line]:= linestring[line] + s[i] + s[i+1];
inc(i,2);
end else begin
line := i div 20 ;
linestring[Line]:= linestring[line] + s[i];
inc(i,1);
end;
until I >= Length(S);
if RzComboBox2.Items.IndexOf(RzComboBox2.Text) = 7 then
begin
case RzComboBox1.Items.IndexOf(RzComboBox1.Text) of
0: begin
setlength(param, 3);
if Big5 then s:= GBtoBIG5(s);
if RzCheckBox1.Checked then Tmp:= '~V;';
Case RadioGroup2.ItemIndex of
0: Tmp := Tmp +'~f0;';
1: Tmp := Tmp +'~f1;';
2: Tmp := Tmp +'~f2;';
3: Tmp := Tmp +'~f3;';
4: Tmp := Tmp +'~W2;';
end;
// Param[1].Display_command := CmdCls;
Param[0].Display_command := CmdText;
Param[0].Display_CmdDate.TextString := Tmp + s;
Param[0].Display_CmdDate.Style := 2;
Param[0].Display_CmdDate.Gap := 1;
Param[0].Display_CmdDate.Color := 3;
Param[0].Display_CmdDate.Mode := 8;
Param[0].Display_CmdDate.Speed := StrToInt(RxSpinEdit2.text);
Param[0].Display_CmdDate.Position := 4;
Param[1].Display_command := CmdDelay;
if strtoint(RxSpinEdit4.Text) = 0 then
Param[1].Display_CmdDate.DelayTime:= 0 else
Param[1].Display_CmdDate.DelayTime:= 65535 div (strtoint(RxSpinEdit4.Text)+1);
end;
1,2,3: begin
setlength(param, 3);
if Big5 then s:= GBtoBIG5(s);
if RzCheckBox1.Checked then Tmp:= '~V;';
Case RadioGroup2.ItemIndex of
0: Tmp := Tmp +'~f0;';
1: Tmp := Tmp +'~f1;';
2: Tmp := Tmp +'~f2;';
3: Tmp := Tmp +'~f3;';
4: Tmp := Tmp +'~W2;';
end;
// Param[1].Display_command := CmdCls;
Param[0].Display_command := CmdText;
Param[0].Display_CmdDate.TextString := Tmp + s;
Param[0].Display_CmdDate.Style := 3;
Param[0].Display_CmdDate.Gap := 1;
Param[0].Display_CmdDate.Color := 3;
Param[0].Display_CmdDate.Mode := 8;
Param[0].Display_CmdDate.Speed := StrToInt(RxSpinEdit2.text);
Param[0].Display_CmdDate.Position := 4;
Param[1].Display_command := CmdDelay;
if strtoint(RxSpinEdit4.Text) = 0 then
Param[1].Display_CmdDate.DelayTime:= 0 else
Param[1].Display_CmdDate.DelayTime:= 65535 div (strtoint(RxSpinEdit4.Text)+1);
end;
end;
// PostCommand($9A,01,Id,CommandMode,Param) ;
exit;
end;
case RzComboBox1.Items.IndexOf(RzComboBox1.Text) of
0: begin
j := 0;
setlength(param,(Line + 1) * 3);
For I:= 0 to Line do
begin
if Big5 then linestring[i]:= GBtoBIG5(linestring[i]);
if RzCheckBox1.Checked then Tmp:= '~V;';
Case RadioGroup2.ItemIndex of
0: Tmp := Tmp +'~f0;';
1: Tmp := Tmp +'~f1;';
2: Tmp := Tmp +'~f2;';
3: Tmp := Tmp +'~f3;';
4: Tmp := Tmp +'~W2;';
end;
// Param[j].Display_command := CmdCls;
Param[j+1].Display_command := CmdText;
Param[j+1].Display_CmdDate.TextString := Tmp + linestring[i];
Param[j+1].Display_CmdDate.Style := 2;
Param[j+1].Display_CmdDate.Gap := 0;
Param[j+1].Display_CmdDate.Color := 3;
Param[j+1].Display_CmdDate.Mode := RzComboBox2.Items.IndexOf(RzComboBox2.Text) + 1;
Param[j+1].Display_CmdDate.Speed := StrToInt(RxSpinEdit2.text);
Param[j+1].Display_CmdDate.Position := 4;
Param[j+2].Display_command := CmdDelay;
if strtoint(RxSpinEdit4.Text) = 0 then
Param[j+2].Display_CmdDate.DelayTime:= 0 else
Param[j+2].Display_CmdDate.DelayTime:= 65535 div (strtoint(RxSpinEdit4.Text)+1);
j:= j+3;
end;
end;
1: begin
j := 0;
setlength(param,(Line + 1) * 3);
For I:= 0 to Line do
begin
if Big5 then linestring[i]:= GBtoBIG5(linestring[i]);
if RzCheckBox1.Checked then Tmp:= '~V;';
Case RadioGroup2.ItemIndex of
0: Tmp := Tmp +'~f0;';
1: Tmp := Tmp +'~f1;';
2: Tmp := Tmp +'~f2;';
3: Tmp := Tmp +'~f3;';
4: Tmp := Tmp +'~W2;';
end;
// Param[j].Display_command := CmdCls;
Param[j+1].Display_command := CmdText;
Param[j+1].Display_CmdDate.TextString := Tmp + linestring[i];
Param[j+1].Display_CmdDate.Style := 3;
Param[j+1].Display_CmdDate.Gap := 0;
Param[j+1].Display_CmdDate.Color := 3;
Param[j+1].Display_CmdDate.Mode := RzComboBox2.Items.IndexOf(RzComboBox2.Text) + 1;
Param[j+1].Display_CmdDate.Speed := StrToInt(RxSpinEdit2.text);
Param[j+1].Display_CmdDate.Position := 4;
Param[j+2].Display_command := CmdDelay;
if strtoint(RxSpinEdit4.Text) = 0 then
Param[j+2].Display_CmdDate.DelayTime:= 0 else
Param[j+2].Display_CmdDate.DelayTime:= 65535 div (strtoint(RxSpinEdit4.Text)+1);
j:= j+3;
end;
end;
2: begin
For I:= 0 to Line do
if Big5 then linestring[i]:= GBtoBIG5(linestring[i]);
setlength(param,(Line + 1)*6);
J := 0;
i := 0;
repeat
begin
if RzCheckBox1.Checked then Tmp:= '~V;';
Case RadioGroup2.ItemIndex of
0: Tmp := Tmp +'~f0;';
1: Tmp := Tmp +'~f1;';
2: Tmp := Tmp +'~f2;';
3: Tmp := Tmp +'~f3;';
4: Tmp := Tmp +'~W2;';
end;
Param[j].Display_command := CmdCls;
// Param[j].Display_CmdDate.DelayTime:= 3000;
Param[j+1].Display_command := CmdClipWindow;
Param[j+1].Display_CmdDate.X1 := 0;
Param[j+1].Display_CmdDate.Y1 := 0;
Param[j+1].Display_CmdDate.X2 := 240;
Param[j+1].Display_CmdDate.Y2 := 16;
Param[j+1].Display_CmdDate.Clear_Mode := 0;
Param[j+2].Display_command := CmdText;
Param[j+2].Display_CmdDate.TextString := Tmp + linestring[i];
Param[j+2].Display_CmdDate.Style := 2;
Param[j+2].Display_CmdDate.Gap := 0;
Param[j+2].Display_CmdDate.Color := 3;
Param[j+2].Display_CmdDate.Mode := RzComboBox2.Items.IndexOf(RzComboBox2.Text) + 1;
Param[j+2].Display_CmdDate.Speed := StrToInt(RxSpinEdit2.text);
Param[j+2].Display_CmdDate.Position := 4;
Param[j+3].Display_command := CmdClipWindow;
Param[J+3].Display_CmdDate.X1 := 0;
Param[J+3].Display_CmdDate.Y1 := 17;
Param[J+3].Display_CmdDate.X2 := 240;
Param[J+3].Display_CmdDate.Y2 := 32;
Param[J+3].Display_CmdDate.Clear_Mode := 0;
Param[J+4].Display_command := CmdText;
try
Param[J+4].Display_CmdDate.TextString := Tmp + linestring[i+1];
except
Param[J+4].Display_CmdDate.TextString := '';
end;
Param[J+4].Display_CmdDate.Style := 2;
Param[J+4].Display_CmdDate.Gap := 0;
Param[J+4].Display_CmdDate.Color := 3;
Param[J+4].Display_CmdDate.Mode := RzComboBox2.Items.IndexOf(RzComboBox2.Text) + 1;
Param[J+4].Display_CmdDate.Speed := StrToInt(RxSpinEdit2.text);
Param[J+4].Display_CmdDate.Position := 4;
Param[j+5].Display_command := CmdDelay;
if strtoint(RxSpinEdit4.Text) = 0 then
Param[j+2].Display_CmdDate.DelayTime:= 0 else
Param[j+5].Display_CmdDate.DelayTime:= 65535 div (strtoint(RxSpinEdit4.Text)+1);
J := J+5;
inc(i,2);
end;
until i >= Line;
end;
3: begin
For I:= 0 to Line do
if Big5 then linestring[i]:= GBtoBIG5(linestring[i]);
setlength(param,(Line + 1)*6);
J := 0;
i := 0;
repeat
begin
if RzCheckBox1.Checked then Tmp:= '~V;';
Case RadioGroup2.ItemIndex of
0: Tmp := Tmp +'~f0;';
1: Tmp := Tmp +'~f1;';
2: Tmp := Tmp +'~f2;';
3: Tmp := Tmp +'~f3;';
4: Tmp := Tmp +'~W2;';
end;
Param[j].Display_command := CmdCls;
// Param[j].Display_CmdDate.DelayTime:= 3000;
Param[j+1].Display_command := CmdClipWindow;
Param[j+1].Display_CmdDate.X1 := 0;
Param[j+1].Display_CmdDate.Y1 := 0;
Param[j+1].Display_CmdDate.X2 := 240;
Param[j+1].Display_CmdDate.Y2 := 24;
Param[j+1].Display_CmdDate.Clear_Mode := 0;
Param[j+2].Display_command := CmdText;
Param[j+2].Display_CmdDate.TextString := Tmp + linestring[i];
Param[j+2].Display_CmdDate.Style := 3;
Param[j+2].Display_CmdDate.Gap := 0;
Param[j+2].Display_CmdDate.Color := 3;
Param[j+2].Display_CmdDate.Mode := RzComboBox2.Items.IndexOf(RzComboBox2.Text) + 1;
Param[j+2].Display_CmdDate.Speed := StrToInt(RxSpinEdit2.text);
Param[j+2].Display_CmdDate.Position := 4;
Param[j+3].Display_command := CmdClipWindow;
Param[J+3].Display_CmdDate.X1 := 0;
Param[J+3].Display_CmdDate.Y1 := 25;
Param[J+3].Display_CmdDate.X2 := 240;
Param[J+3].Display_CmdDate.Y2 := 48;
Param[J+3].Display_CmdDate.Clear_Mode := 0;
Param[J+4].Display_command := CmdText;
try
Param[J+4].Display_CmdDate.TextString := Tmp + linestring[i+1];
except
Param[J+4].Display_CmdDate.TextString := '';
end;
Param[J+4].Display_CmdDate.Style := 3;
Param[J+4].Display_CmdDate.Gap := 0;
Param[J+4].Display_CmdDate.Color := 3;
Param[J+4].Display_CmdDate.Mode := RzComboBox2.Items.IndexOf(RzComboBox2.Text) + 1;
Param[J+4].Display_CmdDate.Speed := StrToInt(RxSpinEdit2.text);
Param[J+4].Display_CmdDate.Position := 4;
Param[j+5].Display_command := CmdDelay;
if strtoint(RxSpinEdit4.Text) = 0 then
Param[j+2].Display_CmdDate.DelayTime:= 0 else
Param[j+5].Display_CmdDate.DelayTime:= 65535 div (strtoint(RxSpinEdit4.Text)+1);
J := J+5;
inc(i,2);
end;
until i >= Line;
end;
end;
end;
procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
i:integer;
begin
SendMessage(SendStringGrid1.Handle,WM_VSCROLL,SB_TOP,0);
SendStringGrid1.ClearRowSelect ;
For i:=0 to RzCheckList1.Count -1 do
begin
SendStringGrid1.RowSelect[i]:= true;
end;
OutLine :=0;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Interval := StrToInt(RxSpinEdit1.Text)*1000;
RzMenuToolbarButton5.Click();
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
if BlOpenPort = true then
begin
SignComPort.Open :=false;
case RadioGroup1.ItemIndex of
0: SignComPort.ComNumber :=1;
1: SignComPort.ComNumber :=2;
end;
SignComPort.Open :=true;
end;
end;
initialization
SystemOs := GetACP ;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -