procedure TForm1.btn1Click(Sender: TObject);var
m, n, j : Integer;
str : String;
begin
m := StrToInt(Edit1.Text);
n := StrToInt(Edit2.Text);
str := '';
for j:=m+1 to n-1 do begin
if (j
Kenneth程序员可以预见和处理的问题,就不要用异常处理了吧,这个问题其实很简单,第一,如果edit1和edit2为空时就不进入循环。第二,分别在edit1和edit2的退出事件中用trystrToint()函数检查一下输入字符是否合法,就可以了,轻易的抛出异常,是不可取的,因为异常框中的提示多是洋文,一般用户根本搞不懂,只能骂娘了。
0 19
Natalie程序本身没有错,你检查一下是不是你在运行的时候,在edit1和2中输入数字输入错了,那只能输入普通的数字比如10或234之类的
另外你的str没有间隔,Continue用法也不是太适合(虽然运行没错),建议改成
for j:=m+1 to n-1 do
begin
if (j mod 4)<>0 then str := str + IntToStr(j)+',';
end;
0 13
Everlyiohjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhnojl
0 10
一言堂m := StrToInt(Edit1.Text);
n := StrToInt(Edit2.Text);
改为下面这样,有错就提示,非常人性。
if not trystrtoint(edit1.text, m) then
begin
showmessage('你输入的EDIT1不能转换为整数,请重新输入!');
Exit;
end;
if not trystrtoint(edit2.text,
0 8