procedure SendData1;
var
Str1Freq:String;
ViewStr:String;
CommFlag:Boolean;
begin
Str1Freq:=Form1.EditFreq.Text;Viewstr:='';
CommFlag:=true;
if not Form1.Comm1.WriteCommData(Pchar(Str1Freq),2)then
begin
CommFlag:=false;
end;
ViewStr:='send frequency data'+Str1Freq;
Form1.Memo1.Lines.Add(ViewStr);
if not CommFlag then messagedlg('sending falied' ,mterror,[mbyes],0);
end;
为什么我在editfreq里输入的23,只会显示00?怎么才能传输23(10进制的23,不是无意思的23).谢谢。新手,能留下QQ知道最好。
var
Str1Freq:String;
ViewStr:String;
CommFlag:Boolean;
begin
Str1Freq:=Form1.EditFreq.Text;Viewstr:='';
CommFlag:=true;
if not Form1.Comm1.WriteCommData(Pchar(Str1Freq),2)then
begin
CommFlag:=false;
end;
ViewStr:='send frequency data'+Str1Freq;
Form1.Memo1.Lines.Add(ViewStr);
if not CommFlag then messagedlg('sending falied' ,mterror,[mbyes],0);
end;
为什么我在editfreq里输入的23,只会显示00?怎么才能传输23(10进制的23,不是无意思的23).谢谢。新手,能留下QQ知道最好。
解决方案 »
- 改变当前进程
- progressbar 进度条满了程序还没完
- 如何去掉childform最大化后右上角的3个按钮?
- 层应用中,使用TSocketConnection连接,获取服务器端多个接口的问题
- 各位网友,那位知道有一个专门讨论BusinessSkinForm的专门论坛?谢谢!
- shelltreeview问题?
- FastReport怎么将没有记录的地方也画上格子?
- Delphi 入门,Form.show; 与form.free;
- idhttp提交出现http/1.1 405 method not allowed(xe,indy10)
- 如何得到程序的实际工作路径???
- EXE转成服务运行的问题
- Delphi2010有这种控件吗
//发送时字节间的延时 sleep(2); viewstring:=viewstring+' '+inttohex(sbuf[i],2)+'';
end; viewstring:=viewstring;Form1.RichEdit2.lines.add(viewstring);Form1.RichEdit1.lines.add(''); if not commflg then messagedlg('设备尚未就绪,请您检查设备是否连接或者串口是否打开!' ,mterror,[mbyes],0); end;
我也发现这个问题,可是我不知道如何在能读取edit里消息的时候,再发现数字23.能说详细点吗?谢谢
你的Str1Freq是字符串,我之前用串口发字符串总有一些问题,我解决方法是顶一个array of Char,将字符串写到这样一组字符组中,再发送。
procedure TForm3.Button4Click(Sender: TObject); //按下按钮发送字符串
var
ii,len:Integer;
sendbuf:array[1..30] of Char;
str:string;
begin
str:=Edit4.Text; //提取输入内容
len:=Length(Edit4.Text); //输入长度
for ii:=1 to len do
begin
sendbuf[ii]:=str[ii]; //字符串转化成array of char
end;
SpComm1.WriteCommData(@Sendbuf,len); //发送
end;
这段代码是我发送在edit4中所输入的内容,要是不转化成array of Char;直接发送字符串是不会有反应的。