如E盤的文本檔案中有以下數字,每個數字兩邊都有兩個逗號,用VB如何只讀取數字,并把數字存入數值陣列。
,25,
,30,
,10,
,23,
,22,
,31,
,2,
,2,
,8,
,15,
,12,
,8,
,4,
,27,
,30,
,18,
uj5u.com熱心網友回復:
用split 函式,試試吧uj5u.com熱心網友回復:
Open "E:\資料庫.txt" For Input As #1St = ""
Z = ""
Do Until EOF(1)
Line Input #1, Z
St = St & Z & Chr(13) '第一步
Loop
Close #1
shuzhu = Split(St, ",", -1) '第二步
Print shuzhu(0)
Print shuzhu(1)
Print shuzhu(2)
Print shuzhu(3)
Print shuzhu(4)
Print shuzhu(5)
Print shuzhu(6)
Print shuzhu(7)
Print shuzhu(8)
Print shuzhu(9)
Print shuzhu(10)
Print shuzhu(11)
Print shuzhu(12)
Print shuzhu(13)
用split 函式分割出來的,有些陣列是空的,并且要把陣列命名為字串陣列。我想要陣列陣列但是不會啊!求教!
uj5u.com熱心網友回復:
把軟體工程放在你這E盤相同的目錄然后運行
Private Sub Command1_Click()
Dim Sz '陣列
Dim Str '檔案內容
Str = OpenFile(App.Path & "\檔案1.txt")
Str = Replace(Str, ",", "") '把沒用的數字替換掉
Sz = Split(Str, vbCrLf) '字符轉成陣列
MsgBox "陣列的第一第二個內容是:" & Sz(0) & "--" & Sz(1)
MsgBox "陣列的所有內容是:" & vbCrLf & Join(Sz, vbCrLf)
End Sub
'┏〓〓〓〓〓〓〓〓〓 OpenFile,start 〓〓〓〓〓〓〓〓〓┓
'[簡介]:
'打開檔案
Function OpenFile(FileName, Optional ErrInfo As String) As String
'[mycode_id:19],edittime:2012/9/5 19:48:31
On Error GoTo Err1
Dim Fs, TextFile
Set Fs = CreateObject("Scripting.FileSystemObject")
Set TextFile = Fs.OpenTextFile(FileName)
OpenFile = TextFile.ReadAll ' 讀取整個檔案的資訊
Exit Function
Err1:
ErrInfo = Err.Description
End Function
'┗〓〓〓〓〓〓〓〓〓 OpenFile,end 〓〓〓〓〓〓〓〓〓┛
uj5u.com熱心網友回復:
結合樓上的大師可以了,問題是 shuzhu 為字串陣列,請教下怎么樣把它轉化為數值陣列?Private Sub Form_Click()
Dim shuzhu() As String
St = ""
Z = ""
Open "E:\資料庫\尾數\資料庫01\002\檔案1.txt" For Input As #1
Do Until EOF(1)
Line Input #1, Z
St = St & Z & Chr(13) '第一步
Loop
Close #1
St = Replace(St, ",", "") '把沒用的數字替換掉
shuzhu = Split(St, Chr(13), -1)
Print shuzhu(0)
Print shuzhu(1)
Print shuzhu(2)
Print shuzhu(3)
Print shuzhu(4)
Print shuzhu(5)
Print shuzhu(6)
Print shuzhu(7)
Print shuzhu(8)
Print shuzhu(9)
Print shuzhu(10)
Print shuzhu(11)
Print shuzhu(12)
Print shuzhu(13)
End Sub
uj5u.com熱心網友回復:
結合樓上的大師可以了,問題是 shuzhu 為字串陣列,請教下怎么樣把它轉化為數值陣列?Private Sub Form_Click()
Dim shuzhu() As String
St = ""
Z = ""
Open "E:\資料庫\尾數\資料庫01\002\檔案1.txt" For Input As #1
Do Until EOF(1)
Line Input #1, Z
St = St & Z & Chr(13) '第一步
Loop
Close #1
St = Replace(St, ",", "") '把沒用的數字替換掉
shuzhu = Split(St, Chr(13), -1)'''問題是 shuzhu 為字串陣列,請教下怎么樣把它轉化為數值陣列?
uj5u.com熱心網友回復:
Private Sub Command1_Click()
Open "F:\data.txt" For Input As #1
Dim shuzhu() As Single
Dim Count As Single
Count = 0
Do Until EOF(1)
Line Input #1, z
ReDim Preserve shuzhu(Count) As Single
shuzhu(Count) = CSng(Mid(z, 2, Len(z) - 2)) '第一種方法
Count = Count + 1
st = st & z & Chr(13) '第一步
Loop
Close #1
'shuzhu = GetData(st) '第二種方法
Print shuzhu(0)
Print shuzhu(1)
Print shuzhu(2)
Print shuzhu(3)
Print shuzhu(4)
Print shuzhu(5)
Print shuzhu(6)
Print shuzhu(7)
Print shuzhu(8)
Print shuzhu(9)
Print shuzhu(10)
Print shuzhu(11)
Print shuzhu(12)
Print shuzhu(13)
End Sub
Private Function GetData(ByVal Data As String) As Single()
Dim BakArr() As String
Dim DataArr() As Single
Dim i As Single
Data = Replace(Data, ",", "")
BakArr = Split(Data, Chr(13))
ReDim DataArr(UBound(BakArr)) As Single
For i = 0 To UBound(BakArr) - 1
DataArr(i) = CSng(BakArr(i))
Next
GetData = DataArr
End Function
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/144972.html
標籤:VB基礎類
上一篇:跪求GDI+在VB6.0環境下 畫扇形的函式及使用方法
下一篇:VB運行完后如果自動退出
