您的位置
 
 

对VB中最新文件列表的谈讨

淄博市张店
高卫国

---- 读了贵报1999年8月30日第33期B版《电脑与生活》中的编程技巧栏目刊登的“VB中实现最新文件列表”一文,试着运行了一下,基本能实现,但还有一些地方不尽完善,写出来与大家共享。

---- 1、如果要打开的文件在文件列表菜单中,则可以直接从文件列表菜单中单击选取,但上文中却没有调整文件列表菜单中文件的顺序。其实只需把子程序mnuRecentFile_click中加入以下语句调整顺序的语句即可:

For i = index To 1 Step -1
  mnuRecentFile(i).Caption = "&" & Format$(i + 1) 
& " " & filenamearray(i - 1, 1)
  filenamearray(i, 1) = filenamearray(i - 1, 1)
Next i
mnuRecentFile(0).Caption = "&" & Format$(1) & "
 " & TFlexCADFileName
filenamearray(0, 1) = TFlexCADFileName
---- 2、过程GetRecentFiles()中语句:MainForm.mnuRecentFile(i+1).Caption = "&" & Format$(i + 1) & " " & filenamearray(i, 1)中第一个i+1应改为i才是正确的。

---- 3、在子程序Updatefilemenu(filename As String)开始部分应加上判断是否是第一次执行程序,如是则应加上创建主键 "Recent Files"和键值名“RecentFile1-6”,而且应提前给filenamearray赋值,否则执行到函数Onrecentfileslist中的语句“If filenamearray(i, 1) = filename Then”则发生“数据类型不一致”的错误,所加上的语句如下:

   filenamearray = GetAllSettings(thisapp, thiskey)
    If  VarType(filenamearray) = 0 Then
     For i = 0 To maxfilenumber - 1
      SaveSetting thisapp, thiskey, 
"RecentFile" & Format$(i + 1), ""
     Next i
    End If
   filenamearray = GetAllSettings(thisapp, thiskey)