VB编程 提取文本里面的数据生成矩阵并保存
要求1:文本文档类型不是txt,是mca,但是可以用记事本打开,需要提取里面的数据生成矩阵要求2:提取文本文档时候,能够自己选择文本文档所在的位置导入,而不是直接编程的时...
要求1:文本文档类型不是txt,是mca,但是可以用记事本打开,需要提取里面的数据生成矩阵
要求2:提取文本文档时候,能够自己选择文本文档所在的位置导入,而不是直接编程的时候写地址提取
要求3:保存数据,能自己自由选择保存数据文本所在的地址
难点1:主要是文本文档里面还有一些字符,需要跳过几行字符开始提取数据
难点2:希望能够自由的选择导入和保存的地址!而不是直接输入地址
多谢各位大神的指点,对于其他语言编程不是很熟悉,目前只学过VB,而且也不精通,也是菜鸟一枚,所以希望得到各位大师的帮助!!!采纳之后再给100分!!!! 展开
要求2:提取文本文档时候,能够自己选择文本文档所在的位置导入,而不是直接编程的时候写地址提取
要求3:保存数据,能自己自由选择保存数据文本所在的地址
难点1:主要是文本文档里面还有一些字符,需要跳过几行字符开始提取数据
难点2:希望能够自由的选择导入和保存的地址!而不是直接输入地址
多谢各位大神的指点,对于其他语言编程不是很熟悉,目前只学过VB,而且也不精通,也是菜鸟一枚,所以希望得到各位大师的帮助!!!采纳之后再给100分!!!! 展开
2个回答
展开全部
打开选择/保存文件可以自己选择,可以先引用Microsoft Comm Dialgo Control 6.0控件
下面是打开文件选择框
private strData as string '提取的数据
Private Sub Command1_Click() '选择文件
On Error GoTo err
CommonDialog1.FileName = ""
CommonDialog1.Filter = "*.mca|*.mca|*.*|*.*"
CommonDialog1.CancelError = True
CommonDialog1.ShowOpen '打开文件选择对话框
If CommonDialog1.FileName <> "" Then
Text1.Text= CommonDialog1.FileName '选择的文件名
GetData(Text1.Text) '提取数据
End If
err:
End Sub
下面是保存文件对话框
Private Sub Command2_Click()
On Error GoTo err
CommonDialog1.FileName = ""
CommonDialog1.Filter = "*.mca|*.mca|*.*|*.*"
CommonDialog1.CancelError = True
CommonDialog1.ShowSave '打开保存文件对话框
If CommonDialog1.FileName <> "" Then
Text2.Text= CommonDialog1.FileName '保存的文件名
'以下保存文件代码
dim intFNo as long
open Text2.Text for Output as #intFno
print #intFno,strD '保存到文件
Close #intFno
End If
err:
End Sub
提取文本资料代码:
private sub GetData(byval strFile as string)
dim intFNo as long
dim strD as string
dim isData as Boolen
dim lngIndex as Long
strData =space(100000) '提前申请内存,要大于最大的数据量的2倍,因为数据后在有加分号(;)
intFno=freefile
open strfile for Input as #intFno
lngIndex =1
do while Not Eof(intFno)
line input #intFno,strD
if isData then
if strD<>"<<END>>" then
mid(strData ,lngIndex ,len(Trim(strd))+1)=trim(strD) & ";" '提取数据
'数据格式为:data;data;data;data;
'如果要转换成数据:bytd=split(strdata,";")
lngIndex =lngIndex +len(Trim(strd))+1
else
msgbox "数据提取完成,请保存"
exit do
end if
else
if strD="<<Data>>" then
isData=True
end if
end if
Loop
close #intFno
end sub
追问
还有一些细节的问题不是很清楚,私信交流么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询