我现在制作一个打铃系统,需要用delphi编写一个将MP3格式的文件通过串口发送到硬件的小程序.我想有SPCOMM控件来实现,但是我不知道怎样用它来发送文件,请各位高手帮我提供一些思路,最可有范例,可发送到我邮箱中,,非常感谢!

解决方案 »

  1.   

    参考一:读Mp3文件procedure TForm1.Button2Click(Sender: TObject);
    var
      UnTypeFile: File;
      Buffer: array[0..1023] of Char;
      NumRead: Integer;
      I: Integer;
      s: string;
    begin
      AssignFile(UnTypeFile,'MyFile.dat');
      Reset(UnTypeFile);
      try
        BlockRead(UnTypeFile, Buffer, 1, NumRead);
        for I := 0 to Sizeof(buffer) - 1 do
          s := s + Buffer[I];
        Memo1.Lines.Add(S);
      finally
        CloseFile(UnTypeFile);
      end;
    end;
    参考二:(向串口发送数据)
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Comm1.CommName:=edit1.Text;
      Comm1.BaudRate:=strtoint(edit2.Text);
      Comm1.ByteSize:=Tbytesize(3);
      Comm1.StopBits:=Tstopbits(0);
      Comm1.Parity:=tparity(0);
      try
        self.Comm1.StartComm;
      except
        raise exception.Create('打开串口失败!');
      end;    StatusBar1.Panels[0].Text:=edit1.text+'已打开';
      StatusBar1.Refresh;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      Comm1.StopComm;
      StatusBar1.Panels[0].Text:=edit1.text+'已关闭';
      StatusBar1.Refresh;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      str:Pchar;
      count:integer;
    begin
      str:=pchar(edit3.Text);
      count:=length(str);
      if Comm1.WriteCommData(str,count) then
        Memo1.Lines.Add('已发送'+inttostr(count)+'个字符')
      else
        raise  exception.Create('发送错误');
    end;