寻求一个简洁快速的解决方案(50分)

  • 主题发起人 主题发起人 bearyan
  • 开始时间 开始时间
B

bearyan

Unregistered / Unconfirmed
GUEST, unregistred user!
因为我要向打印机发送代码数据,需要发送的代码就是代码表中的双字节中文代码(假设我要发送的代码范围为B0A1~F1FE)
我需要的变量为两个:一是可以任意选择开始数据位的变量(即假设我要在CC00开始,只要设置i为CC00);
二是可以设置字符长度的变量(即假设我要设置需要的长度为100个字符,只要设置j为100即可);
我原本的设计是想用Chr()进行转换,但是Chr仅能转换单字节数据,对于双字节数据无效;
另外我想设置当设置的开始位+长度超过了F1FE时,即回到B0A1重新开始
现寻求一个简洁快速的解决方案,由于我是初学者,对Delphi不太熟悉,希望各位尽可能详尽的提供解决方案,如能解决,立刻给分~!
 
不会吧???没人会啊??
 
没看明白
你不用 timer ?
 
你是 hook 消息
+ 回放?
 
怎么说呢?
我举个具体一点的例子吧,假设我的程序有Form1~Form3这三个窗体,每个窗体上又各自有10个Button,各自按键对应不同的功能;
假设我在InputBox中输入2,然后我按上Form1中的Button3;
我想的到的效果是:程序先执行Form1中的Button3,然后调用Delay延时,然后再执行一次Button3;(由于我输入为2,假设我输入更多,则按此执行其相应的次数);
再假设我在InputBox中输入10,然后我按上Form3中的Button8;
我想的到的效果是:程序先执行Form3中的Button8,然后调用Delay延时,然后再执行一次Button8,延时,Button8……(循环10次);
 
我看晕了,做一个全局的变量,记住延时值
 
能详细一点说吗???
 
问:inputbox 放在哪个form?
form之间是否自动切换?
如果是手动, 每个form一个timer ,输入数字,按button3 ,开始timer ,按数字 dec ,delay,执行 button3.click ,如果要做个通用函数
var icount:integer;

procedure xxx.DelayClick(Sender:TObject);
begin
if icount > 0 then
begin
if not timer1.enabled then
timer1.enabled :=true;
dec(icount);
end
else

begin
timer1.enabled := false;
exit;
end;

//处理什么事情
end;

将这个处理函数 给每个按钮的onclick
timer1 的ontimer
某个button 的 .click
 

Similar threads

回复
0
查看
856
不得闲
回复
0
查看
1K
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部