现在有两个窗体,Form1,Form2(关于奇数,偶数的问题)

Linux2001 2001-08-12 07:33:14
现在在Form1上有五个TEdit,Form2上也有5个TEdti现在在Form1上的五个TEdit上输入数字,然后按下一个Button1,它现判断五个TEdit的Text属性中的东西是不是数字,如果不是,则显示不是数字不行!然后如果是数字,就判断哪些是奇数哪些是偶数,然后奇数放入Form2的TEdit中,是偶数就放在所有奇数后面
...全文
86 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Crob 2001-08-12
  • 打赏
  • 举报
回复
判断是不是数字:
try
StrToInt(Edit1.text);
except
Application.MessageBox('不是数字', nil, MB_OK);
end;

但是你干嘛不在edit中限制用户只能输入数字呢,如下:
procedure TmForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ord(Key)=8 then begin //判断back space
exit;
end;

if ((ord(Key)>=48) and (ord(Key)<=57) or (ord(Key)=8) or (ord(Key)=36) or (ord(Key)=35) or (ord(Key)=38) or (ord(Key)=40) or (ord(Key)=37) or (ord(Key)=39)) then
exit
else Key:=chr(0); //如果不是以上范围的则不输出
end;

奇数和偶数的判断就不用写了吧,呵呵

ch81 2001-08-12
  • 打赏
  • 举报
回复
unit unit1;
uses unit2;
var OuShu:Array[1..5]of integer;
var Edit1Array:Array[1..5]of TEdit;
var Edit2Array:Array[1..5]of TEdit;
procedure Button1Click
var i:integer;
var j:integer;
var k:integer;
var Temp:integer;
begin
Edit1Array[1]:=Edit1;Edit1Array[2]:=Edit2;Edit1Array[3]:=Edit3;
Edit1Array[4]:=Edit4;Edit1Array[5]:=Edit5;
Edit2Array[1]:=Form2.Edit1;Edit2Array[2]:=Form2.Edit2;
Edit2Array[3]:=Form2.Edit3;Edit2Array[4]:=Form2.Edit4;
Edit2Array[5]:=Form2.Edit5;
j:=1;
k:=1;
For i:=1 to 5 do
begin
try
Temp:=StrToInt(Edit1Array[i]);
if (Temp mod 2<>0) then
begin
Edit2Array[j].Text:=Edit1Array[i];
j:=j+1;
else
begin
OuShu[k]:=Temp;
k:=k+1;
end;
except
ShowMessage('Error');
exit;
end;
end;
for i:=1 to k-1 do
begin
EditArray[j].Text:=IntToStr(OuShu[i]);
j:=j+1;
end;
end;
windindance 2001-08-12
  • 打赏
  • 举报
回复
try
n := StrToInt(Edit1.Text);
except
...

if (n MOD 2 == 0) then
...
else
...

5,928

社区成员

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

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