怎么实现这样一个小程序,按下键盘上1键,出现1001,接着按1出现1002,再接着按1,出现1003.。,同理第一次按2键出现,2001,接着按2,出现2002。按3,4,5,6,7,8,9都是同样的道理!
解决方案 »
- 兄弟们有大问题了!!!站等!!!!!!站等!!!!!!!站等!!!!!!!!站等!!!!!!!!站等!!!!!!!!!!!1
- 简单的一个SOCKET API(sendto)的测试,怎么就发不出去呢?
- Delphi2005的奇怪问题
- 高级文本拖放的问题,是高手的就请进
- 请问怎么把adoquery中的数据导入到一个临时表中?
- 100分奉送--function comparedate(A,B:Tdatetime)
- 怎么才能截取程序运行的错误,并加上自己写的提示信息。用try...except..可以吗?
- 出错处理不执行,应该是个简单问题。
- 如何在Access(ADO连接)中实现模糊查询?好象用like % %不行
- 来的有分给
- 关于读取二进制文件的问题
- delphi客户端如何应对webservice服务器回应太慢或不回应的问题……
var
iTmp: Integer;
begin
if not(key in ['1'..'9']) then
begin
key := #0;
Exit;
end; iTmp := StrToIntDef(TEdit(sender).Text,0); if StrToInt(Key) = (iTmp div 1000) then
TEdit(sender).Text := IntToStr(iTmp+1)
else
TEdit(sender).Text := IntToStr(strtoint(key)*1000+1);
Key := #0;
TEdit(sender).SelStart := Length( TEdit(sender).text);
end;
有个BUG就是,比如输入1 然后到了1999再住上就会到1001.你自己 处理下吧。
var iTmp,i,Len,sum: Integer;
myinfile:TIniFile;
file_path:string;begin
file_path:=extractfilepath(application.ExeName)+'setup.ini';
if not FileExists(file_path) then
begin
myinfile:=TIniFile.Create(file_path);
myinfile.WriteInteger('长度设置','长度',4);
//ForceDirectories(Edit1.Text); 创建目录
end;
myinfile:=TIniFile.Create(file_path);
Len:=myinfile.readinteger('长度设置','长度',4);
sum:=1;
for i:=1 to Len-1 do
begin
sum:=sum*10
end;
if not(key in ['1'..'9']) then
begin key := #0;
Exit;
end;
iTmp := StrToIntDef(TEdit(sender).Text,0);
if StrToInt(Key) = (iTmp div sum) then
TEdit(sender).Text := IntToStr(iTmp+1)
else
TEdit(sender).Text := IntToStr(strtoint(key)*sum+1);
Key := #0;
TEdit(sender).SelStart := Length( TEdit(sender).text);
end;
end.这是一个医院登记叫号要求实现的功能,那个号的长度由配置文件自己配置,根据3楼的代码,我基本上实现了想要的功能非常感谢3楼对我这个delphi新手的帮助!