新人求教
vb吧
全部回复
仅看楼主
level 2
想问一下大佬们,vb6.0里怎么实现一个按钮打开任意路径下的一个文件,并从中读取数据
2021年01月31日 11点01分 1
level 6
那得看读取什么数据了,如果是读取txt数据那应该是很简单的吧
如果是乱七八糟的格式 那我就不知道了
2021年01月31日 13点01分 2
读取txt就行,大佬能说说怎么弄吗?越简单越好
2021年02月01日 02点02分
吧务
level 13
' 通用对话框的 ActiveX 文件(COMDLG32.OCX)
' 添加项目:Microsoft Common Dialog Control 6.0(Sp6)
Private Sub Command1_Click() ' 【打开文件】按钮
Dim cBL As String, cLJ As String
Dim cWJ As String, n1 As Integer
On Error GoTo CW001
cBL = "文本文件(*.TXT)|*.TXT|"
cBL = cBL & "所有文件(*.*)|*.*|"
With CommonDialog1
.CancelError = True ' 允许按【Esc】
.Filter = cBL ' 扩展名表
.FilterIndex = 1 ' 扩展名序号
.InitDir = mPath ' 默认路径
.Flags = 6 ' 隐藏只读框
.DialogTitle = "打开文件" ' 标题
.ShowOpen ' 打开文件窗体
End With
cWJ = CommonDialog1.FileName ' 获得文件名
n1 = FreeFile ' 空闲的文件通道号
Text1.Text = "" ' 清空多行文本框:Text1
Open cWJ For Input As #n1
Do While Not Eof(n1)
Line Input #n1, cBL
Text1.Text = Text1.Text & cBL & vbCrLf
Loop
Close #n1
Exit Sub
CW001:
cWJ = "打开文件错误!"
MsgBox cWJ, 0 + 64, "系统提示"
End Sub
2021年02月01日 03点02分 3
你需要一个多行文本框【Text1】来存放和显示TXT文件的内容。
2021年02月01日 03点02分
吧务
level 13
2021年02月01日 03点02分 4
使用【通用对话框】可以方便地打开(TXT)文件。打开文件后,要注意内部变量【App.Path】的值将发生变化。
2021年02月01日 03点02分
@Luosen56 感谢大佬,问题我已经解决了,现在的新问题是我用input #函数读文件里的内容时,该怎么把一行里的七个数据读入到7个变量里去,我这边总是显示输入超出文件尾的报错
2021年02月01日 06点02分
level 11
回复 充钱使人进步😞 :超出文件尾,有几种情况。①最后少一个换行。②每行数据个数不同。③多读一次。
2021年02月01日 10点02分 5
问题已经解决了,感谢大佬。能否再问个问题,就是列表框里的文本选中时的高亮颜色怎么改,我选择的高亮文本,每次列表框禁用的话字就看不清了,您有什么方法解决吗
2021年02月03日 16点02分
level 2
就像这样
2021年02月03日 16点02分 6
我想改掉那个高亮颜色,或者其他办法使我能看清那个高亮文本就行
2021年02月03日 16点02分
level 11
有办法呀。原理就是用vb实际可以修改windows的一些常数值。其中就有你说的“高亮颜色”,有人也叫“反显”,windows里可能叫做“已选定项目”。
在这里里面你可以选择改背景颜色,也可以选择改字体,或者修改文字颜色。
这里注意,修改前要记录要windows的原来设置,本程序运行完后,再恢复原来的值。
具体做法,①先声明:
Private Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function SetSysColors Lib "user32" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
第一个函数是获取当前系统颜色的,第二个设置系统颜色的。
②实际使用
例如
c=GetSysColor(i)'i从0到20,其中选中项目背景色是13,选中字体颜色是14
k=SetSysColors( n,a,c)'其中n是要修改的个数;a是一个整数数组,元素个数就是n,数值都是0到20,就是上行代码的i的意思;c也是一个long类型数组,元素个数也是n个,数值就是应该的颜色的rgb值。返回值k表示十分执行成功。
2021年02月05日 01点02分 7
1