首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

各位好心的大神,

2013-01-07 
各位好心的大神,求助!怎么实现这样一个小程序,按下键盘上1键,出现1001,接着按1出现1002,再接着按1,出现100

各位好心的大神,求助!
怎么实现这样一个小程序,按下键盘上1键,出现1001,接着按1出现1002,再接着按1,出现1003.。。。。,同理第一次按2键出现,2001,接着按2,出现2002。。。。按3,4,5,6,7,8,9都是同样的道理!
[解决办法]

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
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.你自己 处理下吧。

热点排行