| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 837 人关注过本帖
标题:DELPHI初学者的问题
只看楼主 加入收藏
lin8812290
Rank: 2
等 级:论坛游民
帖 子:12
专家分:20
注 册:2011-4-3
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:1 
DELPHI初学者的问题
procedure TForm1.Timer2Timer(Sender: TObject);
var   
    I,N: INTEGER;
begin   TIMER2.Enabled:=FALSE;   
    str:=hexstrtostr(data.Items.Strings[line]);  //data是listbox   
    line:=line+1;                                //line是listbox的行数 全局变量前面已经赋值为0了
    N:= length(str);                             //N是一行中的字符个数
    for i:=1 to N do   
    begin   
        buf[i] := strtoint(strtohexstr(str[i])); //把每一行中的字符存到发送缓冲区  
    end;   
    timer1.Enabled:=true;
end;  

procedure TForm1.Timer1Tim(Sender: TObject);
begin     
    TIMER1.Enabled:=FALSE;
   
    ToWrite := CurrentDevice.Caps.OutputReportByteLength;     
    CurrentDevice.WriteFile(Buf, ToWrite, Written);     //发送一行数
   
    CurrentDevice.OnData := ShowRead;                   //发送出去后等待接收到后读出返回来的数据
    timer2.Enabled:=true;
end;  

需要实现发送完第一行后接着发送第二行 用了line:=line+1
为什么执行data中第一行是对的 到了第二行和第二行以后就不对了?

各位大哥帮帮小弟!

[ 本帖最后由 lin8812290 于 2011-4-8 12:23 编辑 ]
搜索更多相关主题的帖子: 缓冲区 
2011-04-08 11:19
asd491694657
Rank: 2
等 级:论坛游民
帖 子:3
专家分:14
注 册:2011-4-11
收藏
得分:14 
不清梦
2011-04-11 17:13
快速回复:DELPHI初学者的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016688 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved