rt,
在线等............

解决方案 »

  1.   

    procedure TFrmSwitchCheck.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);
    var
      i:Integer;
      recvstr,Codestr:String;    //串口接收到的字符串
      recvbuf:array[1..65536] of Char;  //Com信息缓存
    begin
      recvstr:='';
      move(buffer^,pchar(@recvbuf)^,bufferlength);
      for i:=1 to bufferlength do
        Case recvbuf[i] of
          #10,#13,#32..#127:recvstr:=recvstr+recvbuf[i];
        end;
      recvstr:=Trim(recvstr);
    end;
      

  2.   

    发送文件
    procedure tform1.write;
    var
      buff:array[0..1024] of char;
    begin
          try
            repeat
              BlockRead(SourceF,Buff,sizeof(Buff),NRead); --读文件
              comm1.writedata(@buff[0],NRead);  //--发送
            Until(NRead=0);
          finally
            closefile(SourceF);
            closeFIle(EndF);
          end;
    end;