微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题菜鸟捉虫(31)
栏目软件世界
发布2001年31期
  上期正确答案:
  要找到List1与List2中相同的城市名称,必须将List1的每一项与List2中的所有项进行比较,由于List1与List2中的城市名不可能完全相对应,所以第二个循环中List1.List(j)=List2.List(j)这样的作法不对,应该改成List1.List(i)=List2.List(j),这样就可以将List1的每一项与List2中的所有项进行比较,就不会遗漏相同的了。在程序中,还有一处错误在“MsgBox( “找到” + k + “个相同的城市!”, vbOKOnly + vbInformation,“结果”)”这一句中,错误的原因就是K是一个整型变量,要将值显示在MsgBox中,必须将这个类型转换成字符型才行,因此,将k写成Str(k)就可以了。
  获奖名单:
  江苏 陈震宇    山西 何 彬
  辽宁 吴海正    四川 王中渝
  重庆 任宏志
  以上幸运读者将获得电脑报最新出版的《电脑报系列配套光盘》杂志一套。
  本期题目:
  这是一个关于Delphi的题目,要求列出指定目录中的所有文件(包括文件夹)。加入一个ListBox控件及一个Button控件,并将Button的Caption改为“列出所有文件”。实现这一功能的源代码如下:
  function ListAllFiles:Integer;stdcall;
  var
  SearchRec: TSearchRec;
  ReValue:Integer;
  begin
  ListBox1.Clear;
  ReValue:=FindFirst('C:\*.*',faAnyFile,SearchRec);
  While ReValue=0 Do
  Begin
  if SearchRec.Size =0 then
  begin
  if SearchRec.Attr >2 then //如果是文件夹将加上[]表示是文件夹
  ListBox1.Items.Add('['+SearchRec.Name+']')
  else
  ListBox1.Items.Add(SearchRec.Name+'文件大小:'+IntToStr(SearchRec.Size)+'KB');
  end
  else
  ListBox2.Items.AddSearchRec.Name + '文件大小:' + IntToStr(SearchRec.Size)+ ' KB');
  FindNext(SearchRec);
  End;
  Result:=1;
  end;
  procedure TForm1.Button1Click(Sender:TObject);
  begin
  ListAllFiles;
  end;