⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 singzm.pas

📁 LED字幕显示屏
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  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 := 16;
         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 := 24;
         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 + -