|
发表于 2008-12-18 23:08:41
|
显示全部楼层
081218 调整界面为自适应,同时自动显示第一个单词的解释。
看了一下小程序,模仿了一个,原理就是读取文本文件,添加到列表。比较原始。
改进:1.原程序点击单词列表最后一个会出错。
2.如果只有一个单词符合,自动显示解释。
代码如下:
借用linsi为uv制作的图标,感谢。程序很简单,对于新手,估计几个小时就可以写出来,献丑了。
Sub lstWords_Click()
Dim f As String, tmp As String, bFound As String
txt = LCase$(txt)
If Left$(txt, 1) >= "a" And Left$(txt, 1) <= "z" Then
'打开对应的文件
f = App.Path & "\" & Left$(txt, 1) & ".txt"
Open f For Input As #1
Do While EOF(1) = False
Line Input #1, tmp
If tmp = lstWords.List(lstWords.ListIndex) And Left$(tmp, 1) <> " " Then
'找到对应的单词了
lst.Clear
lst.AddItem tmp
Line Input #1, tmp
While Left$(tmp, 1) = " "
'逐个添加解释
lst.AddItem tmp
If EOF(1) = False Then Line Input #1, tmp '原程序点击最后一个会出错。
Wend
Exit Do
End If
Loop
Close #1
End If
End Sub
Sub txt_Change()
Dim f As String, tmp As String, bFound As Boolean
txt = LCase$(txt)
If Left$(txt, 1) >= "a" And Left$(txt, 1) <= "z" Then
lstWords.Clear
'打开对应的文件
f = App.Path & "\" & Left$(txt, 1) & ".txt"
Open f For Input As #1
Do While EOF(1) = False
Line Input #1, tmp
If Left$(tmp, 1) <> " " Then '是词条还是解释
If InStr(LCase$(tmp), txt) = 1 Then
'找到对应的词条,就添加
lstWords.AddItem tmp
bFound = True
ElseIf bFound = True Then
'如果没有找到就直接跳过
Exit Do
End If
End If
Loop
Close #1
End If
'如果只有一个单词,自动显示
If lstWords.ListCount = 1 Then lstWords.ListIndex = 0: lstWords_Click
End Sub |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|