微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题菜鸟捉虫(43)
栏目软件世界
发布2001年43期
  上期正确答案:
  引起错误的主要原因是没有正确检查变量值,VB的自动类型转换造成了麻烦。要避免这种情况其实很简单,在类型转换时用VB本身的错误捕获就可以了,将上期的那个子程序改为:
  Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)
  Dim i As Integer
  If(KeyCode <> vbKeyReturn)Then Exit Sub
  On Error GoTo ErrorHandle
  i = Text1.Text
  Exit Sub
  ErrorHandle
  If Err.Number = 13 Then '如果输入含有其他字符
  MsgBox “请输入数字!”
  Else '如果出现其他错误,报告错误类型和错误描述
  MsgBox “错误号” + CStr(Err.Number)+ Chr(10)+“错误描述”+Err.Description
  End If
  End Sub
  获奖名单:
  安 徽 马高强
  辽 宁 沈成功
  云 南 王海滨
  上 海 丁 益
  新 疆 刘云飞
  以上幸运读者将获得电脑报最新出品的《电脑报系列配套光盘》杂志一套。
  本期题目:
  下面一段代码用于动态创建三个Image控件,并要求能显示出图示。运行下面的代码时,却不能显示出图来,执行时没有明显的错误。请修改。
  procedure TForm1.Button1Click(Sender: TObject);
  var i,OldTop:integer;
  begin
  FOR i:=0 TO 2 DO BEGIN
  imgCtrl[i]:=TImage.Create(Self);
  WITH imgCtrl[i]: DO BEGIN
  Left:=0; Width:=50;Height:=50;
  IF i=0 THEN
  Top:=0
  ELSE BEGIN
  OldTop:=imgCtrl.Top+Height+2;
  Top:=OldTop;
  END;
  Picture.LoadFromFile(IntToStr(i)+'.bmp');
  END;
  END;
  end;
  
  procedure TForm1.FormDestroy(Sender:TObject);
  var i:integer;
  begin
  FOR i:=0 TO 2 DO
  imgCtrl[i].Free;
  end;