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

📄 frmtp.pas

📁 delphi LED 显示屏用,带串口发送,内容编辑,演示功能
💻 PAS
📖 第 1 页 / 共 3 页
字号:
     sendtpdata;
end;

procedure Tfrmtpsend.sendtpdata;
begin
    ProgressBar1.Position:=0;
    ProgressBar1.Max:=32*myedit1.Tprownum*tptotal;
    scom1.visible:=false;
    scom2.visible:=false;
    ProgressBar1.Visible:=true;
    application.processmessages;
    editsenddata;
    decodedate(now,year,month,day);
    DecodeTime(now, Hour, Min, Sec, MSec);
    week:=dayofweek(Now)-1;
    if week=0 then week:=7;
    if com=1 then mycomm1.DeviceName:='COM1'
    else mycomm1.DeviceName:='COM2';
    sleep(1);
    mycomm1.initcom('9600,N,8,1');
    mycomm1.Opencom;
    sleep(1);
    mycomm1.sendbyte($55);
    mycomm1.sendbyte($AA);
    mycomm1.sendbyte(0);
    mycomm1.senddatetime;
    sendtpeditdata;
    mycomm1.closecom;
    ProgressBar1.Visible:=false;
    tpedit.SetFocus;
end;

procedure Tfrmtpsend.sendtpeditdata;
var
   i,j,k,knum:integer;
begin
     if timecheck.Checked then mycomm1.sendbyte(1)
     else mycomm1.sendbyte(0);
     if djs.Checked then mycomm1.sendbyte(2)
     else mycomm1.sendbyte(1);
     mycomm1.sendbyte(0);
     mycomm1.sendbyte(tptotal);
              if djs.Checked then
       begin
     for i:=1 to tptotal do
     begin
        mycomm1.sendbyte(dispmode[i]);
         mycomm1.sendbyte(hidemode[i]);
         mycomm1.sendbyte(stoptime[i]);
         mycomm1.sendbyte(2*movespeed[i]);
         mycomm1.sendbyte(dweek[i]+1);
         mycomm1.sendbyte(disptimeh[i]);
         mycomm1.sendbyte(disptimem[i]);
         mycomm1.sendbyte(closeh[i]);
         mycomm1.sendbyte(closem[i])

     end
       end
     else
       begin
            for i:=1 to tptotal do
     begin
        mycomm1.sendbyte(dispmode[i]);
         mycomm1.sendbyte(hidemode[i]);
         mycomm1.sendbyte(stoptime[i]);
         mycomm1.sendbyte(2*movespeed[i]);
         mycomm1.sendbyte(0);
         mycomm1.sendbyte(0);
         mycomm1.sendbyte(0);
         mycomm1.sendbyte(0);
         mycomm1.sendbyte(0)

     end
       end;

     knum:=0;
     for i:=0 to tptotal-1 do
     begin
        for j:=0 to 16*myedit1.Tprownum-1 do
        begin
            for k:=0 to myedit1.Tpbyte-1 do
            begin
                mycomm1.sendbyte(sendbuf[i][j][k]);
                knum:=(knum+1) mod 128;
                if knum=0 then
                begin
                     sleep(40);
                end;
            end;
            ProgressBar1.Position:=ProgressBar1.Position+1;
        end;
                if knum<>0 then
                begin
                    while knum<>0 do
                    begin
                      mycomm1.sendbyte(0);
                        knum:=(knum+1) mod 128;
                    end;
                    sleep(40);
                end;
     end;

end;

procedure Tfrmtpsend.editsenddata;
var
   i,j,k:integer;
  // bmp:Tbitmap;
begin
   { image1.Canvas.CopyMode:=cmSrcCopy;
    image1.Canvas.Brush.Color:=0;
    image1.Canvas.FillRect(rect(0,0,160,64));}
    for i:=0 to tptotal-1 do
    begin
        myedit1.readdot(i+1);
        for j:=0 to 16*myedit1.Tprownum-1 do
        begin
            for k:=0 to myedit1.Tpbyte-1 do
            begin
                sendbuf[i][j][k]:= myedit1.senddata.sendred[j][k];
//               sendbuf[2*i+1][j][k]:= myedit1.senddata.sendgreen[j][k];
             //   for ii:=0 to 7 do
             //   if  (sendbuf[i][j][k] and bmm[ii])>0 then image1.Canvas.Pixels[8*k+ii,j]:=356;
            end;
        end;
    end;

end;

procedure Tfrmtpsend.tpexitClick(Sender: TObject);
begin
   close;
end;

procedure Tfrmtpsend.CombosizeChange(Sender: TObject);
var
    i,k,k1,k2,klen:longint;
begin
    val(combosize.Text,k1,k);
    if tpedit.seltext<>'' then
    begin
         klen:=tpedit.selstart;
         for i:=klen to tpedit.SelLength+klen-1 do
            myedit1.tpdata[i].fontsize:=k1;
         myedit1.writestr;
         myedit1.change;
    end;
    tpeditchangflag:=false;
    tpedit.selattributes.size:=k1;
    tpeditchangflag:=true;
    tpedit.SetFocus;
end;

procedure Tfrmtpsend.CombofontChange(Sender: TObject);
var
    i,klen:longint;
begin
    if tpedit.seltext<>'' then
     begin
          klen:=tpedit.selstart;
          for i:=klen to tpedit.SelLength+klen-1 do
               myedit1.tpdata[i].fontname:=combofont.itemindex;
          myedit1.writestr;
          myedit1.change;
     end;
     tpeditchangflag:=false;
     tpedit.selattributes.name:=Combofont.Items.Strings[combofont.itemindex];
     tpeditchangflag:=true;
     tpedit.SetFocus;
end;

procedure Tfrmtpsend.dispcolorDrawItem(Control: TWinControl;
  Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
   dispcolor.Canvas.Brush.color:=SCREENCOLOR[index];
   dispcolor.Canvas.fillrect(rect);
   dispcolor.Canvas.TextOut(rect.left,rect.top,dispcolor.items[index]);
end;

procedure Tfrmtpsend.dispcolorChange(Sender: TObject);
var
    i,klen:longint;
begin
    if tpedit.seltext<>'' then
    begin
        klen:=tpedit.selstart;
        for i:=klen to tpedit.SelLength+klen-1 do
            myedit1.tpdata[i].color:=dispcolor.itemindex;
        myedit1.writestr;
        myedit1.change;
    end;
    tpeditchangflag:=false;
    tpedit.selattributes.Color:=SCREENCOLOR[dispcolor.itemindex];
    tpeditchangflag:=true;
    tpedit.SetFocus;
end;

procedure Tfrmtpsend.SpeedButton3Click(Sender: TObject);
var
    i,klen,k:longint;
begin
     k:=0;
     if CheckBold.Checked then k:=k+$80;
     if CheckItalic.Checked then k:=k+$40;
     if CheckUnderline.Checked then k:=k+$20;
     if CheckStrikeOut.Checked then k:=k+$10;
    if tpedit.seltext<>'' then
    begin
        klen:=tpedit.selstart;
        myedit1.changestyle(klen,tpedit.SelLength+klen-1,k);
        myedit1.writestr;
        myedit1.change;
    end;
   { tpeditchangflag:=false;
    tpedit.SelAttributes.Style:=[];
    if CheckBold.Checked then tpedit.SelAttributes.Style:= tpedit.SelAttributes.Style+[fsBold];
    if CheckItalic.Checked then tpedit.SelAttributes.Style:= tpedit.SelAttributes.Style+[fsItalic];
    if CheckUnderline.Checked then tpedit.SelAttributes.Style:= tpedit.SelAttributes.Style+[fsUnderline];
    if CheckStrikeOut.Checked then tpedit.SelAttributes.Style:= tpedit.SelAttributes.Style+[fsStrikeOut];
    tpeditchangflag:=true;}
    tpedit.SetFocus;
end;

procedure Tfrmtpsend.SpeedButton4Click(Sender: TObject);
var
    i,klen,k:longint;
begin
    Formfill.ShowModal;
    if Formfill.select=1 then
    begin
        k:=formfill.ComboBox1.ItemIndex+1+$10*(formfill.ComboBox2.ItemIndex);
        if tpedit.seltext<>'' then
        begin
            klen:=tpedit.selstart;
            myedit1.changeextra(klen,tpedit.SelLength+klen-1,k);
            myedit1.writestr;
            myedit1.change;
        end;
    end;
    tpedit.SetFocus;
end;

procedure Tfrmtpsend.CheckBoldClick(Sender: TObject);
var
    i,klen:longint;
begin
{    if tpedit.seltext<>'' then
    begin
        klen:=tpedit.selstart;
        if CheckBold.Checked then myedit1.addstyle(klen,tpedit.SelLength+klen-1,$80)
        else  myedit1.subbstyle(klen,tpedit.SelLength+klen-1,$7f);
        myedit1.writestr;
        myedit1.change;
    end;
    tpeditchangflag:=false;
    if CheckBold.Checked then
        tpedit.selattributes.Style:=tpedit.selattributes.Style+[fsBold]
    else
      tpedit.selattributes.Style:=tpedit.selattributes.Style-[fsBold];
    tpeditchangflag:=true;}
    tpedit.SetFocus;
end;

procedure Tfrmtpsend.CheckItalicClick(Sender: TObject);
var
    i,klen:longint;
begin
   { if tpedit.seltext<>'' then
    begin
        klen:=tpedit.selstart;
        if CheckItalic.Checked then myedit1.addstyle(klen,tpedit.SelLength+klen-1,$40)
        else  myedit1.subbstyle(klen,tpedit.SelLength+klen-1,$bf);
        myedit1.writestr;
        myedit1.change;
    end;
    tpeditchangflag:=false;
    if CheckItalic.Checked then
        tpedit.selattributes.Style:=tpedit.selattributes.Style+[fsItalic]
    else
      tpedit.selattributes.Style:=tpedit.selattributes.Style-[fsItalic];
    tpeditchangflag:=true;}
    tpedit.SetFocus;
end;

procedure Tfrmtpsend.CheckUnderlineClick(Sender: TObject);
var
    i,klen:longint;
begin
  {  if tpedit.seltext<>'' then
    begin
        klen:=tpedit.selstart;
        if CheckUnderline.Checked then myedit1.addstyle(klen,tpedit.SelLength+klen-1,$20)
        else  myedit1.subbstyle(klen,tpedit.SelLength+klen-1,$df);
        myedit1.writestr;
        myedit1.change;
    end;
    tpeditchangflag:=false;
    if CheckUnderline.Checked then
        tpedit.selattributes.Style:=tpedit.selattributes.Style+[fsUnderline]
    else
      tpedit.selattributes.Style:=tpedit.selattributes.Style-[fsUnderline];
    tpeditchangflag:=true; }
    tpedit.SetFocus;
end;

procedure Tfrmtpsend.CheckStrikeOutClick(Sender: TObject);
var
    i,klen:longint;
begin
    {if tpedit.seltext<>'' then
    begin
        klen:=tpedit.selstart;
        if CheckStrikeOut.Checked then myedit1.addstyle(klen,tpedit.SelLength+klen-1,$10)
        else  myedit1.subbstyle(klen,tpedit.SelLength+klen-1,$ef);
        myedit1.writestr;
        myedit1.change;
    end;
    tpeditchangflag:=false;
    if CheckStrikeOut.Checked then
        tpedit.selattributes.Style:=tpedit.selattributes.Style+[fsStrikeOut]
    else
      tpedit.selattributes.Style:=tpedit.selattributes.Style-[fsStrikeOut];
    tpeditchangflag:=true;}
    tpedit.SetFocus;
end;

procedure Tfrmtpsend.tpeditEnter(Sender: TObject);
begin
    myedit1.Selectbmpno:=-1;
end;

procedure Tfrmtpsend.myedit1DblClick(Sender: TObject);
var
    str:string;
begin
    if myedit1.Selectbmpno>=0 then
    begin
        form1.Edit1.Text:=myedit1.GetCells(6,myedit1.Selectbmpno);
        str:=myedit1.GetCells(5,myedit1.Selectbmpno);
        if str='2' then
            form1.RadioButton2.Checked:=true
        else form1.RadioButton1.Checked:=true;
        frmtpsend.hide;
        form1.ShowModal;
        frmtpsend.Show;
    end;
end;

procedure Tfrmtpsend.myedit1mouseup(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if myedit1.addflag then
    begin
        form1.Edit1.Text:='';
        form1.RadioButton1.Checked:=true;
        frmtpsend.hide;
        form1.ShowModal;
        frmtpsend.Show;
        myedit1.addflag:=false;
        speedbutton2.Down:=true;
    end;
end;

procedure Tfrmtpsend.myedit1Click(Sender: TObject);
begin
    if myedit1.Selectbmpno>=0 then edit2.SetFocus
    else   myedit1.SetFocus;
end;

procedure Tfrmtpsend.Edit2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key=46) and (myedit1.Selectbmpno>=0) then  myedit1.deleteimage(myedit1.Selectbmpno);
end;

procedure Tfrmtpsend.SpeedButton1Click(Sender: TObject);
begin
    myedit1.addflag:=true;
    edit2.SetFocus;
end;

procedure Tfrmtpsend.N2Click(Sender: TObject);
begin
Formname.ShowModal;
end;

procedure Tfrmtpsend.SpinEdit2Change(Sender: TObject);
var
  i,k1,k2:integer;
begin
     myedit1.Tppos:=tpedit.SelStart+tpedit.SelLength;
     k2:=myedit1.Tpcount;
     myedit1.Tppos:=tpedit.SelStart;
     k1:=myedit1.Tpcount;
     for i:=k1 to k2 do
          disptimeh[i]:=spinedit2.Value;
     tpedit.SetFocus;
end;

procedure Tfrmtpsend.SpinEdit3Change(Sender: TObject);
var
  i,k1,k2:integer;
begin
     myedit1.Tppos:=tpedit.SelStart+tpedit.SelLength;
     k2:=myedit1.Tpcount;
     myedit1.Tppos:=tpedit.SelStart;
     k1:=myedit1.Tpcount;
     for i:=k1 to k2 do
          disptimem[i]:=spinedit3.Value;
     tpedit.SetFocus;
end;

procedure Tfrmtpsend.SpinEdit4Change(Sender: TObject);
var
  i,k1,k2:integer;
begin
     myedit1.Tppos:=tpedit.SelStart+tpedit.SelLength;
     k2:=myedit1.Tpcount;
     myedit1.Tppos:=tpedit.SelStart;
     k1:=myedit1.Tpcount;
     for i:=k1 to k2 do
          closeh[i]:=spinedit4.Value;
     tpedit.SetFocus;
end;

procedure Tfrmtpsend.SpinEdit5Change(Sender: TObject);
var
  i,k1,k2:integer;
begin
     myedit1.Tppos:=tpedit.SelStart+tpedit.SelLength;
     k2:=myedit1.Tpcount;
     myedit1.Tppos:=tpedit.SelStart;
     k1:=myedit1.Tpcount;
     for i:=k1 to k2 do
          closem[i]:=spinedit5.Value;
     tpedit.SetFocus;
end;

procedure Tfrmtpsend.ComboBox1Change(Sender: TObject);
var
  i,k1,k2:integer;
begin
     myedit1.Tppos:=tpedit.SelStart+tpedit.SelLength;
     k2:=myedit1.Tpcount;
     myedit1.Tppos:=tpedit.SelStart;
     k1:=myedit1.Tpcount;
     for i:=k1 to k2 do
          dweek[i]:=ComboBox1.ItemIndex;
     tpedit.SetFocus;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -