请教关于DELPHI编程问题附源码(急)

dgtfn 2009-08-07 04:51:37
小弟最近刚开始学习DELPHI,遇到点难题,请高手们指点一下

我想在输入数字的地方只能让他输入数字与删除,还有限制只能输入11位!不知道代码,请赐教!

还有一个问题,此软件有一进度条,能不能加一段代码,让他在规定的时候停下来,(比较走到一半的时候停下)弹出错误提示
如下图所示

谢谢了




unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, ComCtrls,shellapi, StdCtrls, XPMan, Mask;

type
TForm1 = class(TForm)
Edit1: TEdit;
ProgressBar1: TProgressBar;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
procedure Button3Click(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure Image3Click(Sender: TObject);
procedure Image4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
shellexecute(handle,'open','http://user.qzone.qq.com/178324102',nil,nil,SW_show);
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
shellexecute(handle,'open','www.baidu.com',nil,nil,SW_show);
end;

procedure TForm1.Image3Click(Sender: TObject);
var i:integer;
begin
if Length(Edit1.Text)<=4 then
begin
ShowMessage('输入手机号');
Edit1.SetFocus;
Exit;
end;
image3.Enabled:=false;
ProgressBar1.Min:=0; ProgressBar1.Max:=700;
for i:=1 to 700 do
begin
ProgressBar1.Position:=i;
Application.ProcessMessages;
sleep(10);
end;
form2.ShowModal;
image3.Enabled:=true ;


//ProgressBar1.Enabled:=false;
//单确定
//showmessage('成功! ');
//确定取消图标
//messagebox(handle,'成功!','温馨提示',65);
//确定图标
//messagebox(handle,'成功!','温馨提示',64);
// image3.Enabled:=true;

end;



procedure TForm1.Image4Click(Sender: TObject);
begin
//image3.Enabled:=false;
ProgressBar1.TabStop:=false;
showmessage('请等待进程终止!');
image3.Enabled:=true;
halt;

end;

end.
...全文
111 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zz1001 2009-08-08
  • 打赏
  • 举报
回复
牛逼啊,哥们
zhuang_bx 2009-08-08
  • 打赏
  • 举报
回复
点出OK后,没有跳出循环
dgtfn 2009-08-08
  • 打赏
  • 举报
回复
showmessage('ok'); 加了这段代码后弹出OK就死机了,必须在任务管理器中结束进程,这个怎么解决啊
dgtfn 2009-08-07
  • 打赏
  • 举报
回复
showmessage('ok');

我不想让他出现提示框,让他返回值写在TForm1.Image4Click指向我预留的提示框,我该怎么写呢
SuperTitan001 2009-08-07
  • 打赏
  • 举报
回复
晕,你改成showmessage('ok');
sanguomi 2009-08-07
  • 打赏
  • 举报
回复
2楼的冒问题
dgtfn 2009-08-07
  • 打赏
  • 举报
回复
以上两步都对,就是到第三步的时候
showmessage; 这个出现致命错误,不知道怎么解决呢
SuperTitan001 2009-08-07
  • 打赏
  • 举报
回复
1:将edit的maxlength设置为11可以让最多输入11位
至于是否满了11位的情况可以在edit的onexit事件中判断
if length(trim(edit1.text))<11 then
begin
showmessage('位数少了');
edit1.SetFocus;
end;
2:只能让他输入数字与删除,可以在edit的onkeypress事件中
if not (key in ['0'..'9',#8]) then
key:=#0;
3:规定的位置停下来
ProgressBar1.Min:=0; ProgressBar1.Max:=700;
for i:=1 to 700 do
begin
//这里加一句
if ProgressBar1.Position>=你要的数值 then
begin
showmessage;
end;
ProgressBar1.Position:=i;
Application.ProcessMessages;
sleep(10);
end;

dgtfn 2009-08-07
  • 打赏
  • 举报
回复
高人都吃饭去了吗

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧