第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以下代碼是關(guān)于vb space問題,麻煩大佬幫忙看看~

以下代碼是關(guān)于vb space問題,麻煩大佬幫忙看看~

人到中年有點甜 2021-12-01 15:11:01
Private Sub Command1_Click()Dim fileNum As IntegerDim fileContent As StringDim fileInfo() As StringDim tempData As StringfileNum = FreeFileOpen "C:\form.txt" For Binary As #fileNumfileContent = Space(LOF(fileNum)) ' Get #fileNum, , fileContentClose fileNumfileInfo = Split(fileContent, vbCrLf) 'split函數(shù)根據(jù)vbCrLf(回車換行)來將fileContent分隔成數(shù)組Text1.Text = fileInfo(0)End Sub想問一下高手,因為覺得這句話的Space只是返回空格的長度,為什么上面的程序一定要“fileContent = Space(LOF(fileNum)) ”這句話才能不報錯運行?而下面的fileInfo = Split(fileContent, vbCrLf)這句程序,是將fileContent的內(nèi)容分隔成數(shù)組,與上面fileContent = Space(LOF(fileNum)) 這句程序有必然的關(guān)系嗎?
查看完整描述

2 回答

?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗 獲得超6個贊

fileContent = Space(LOF(fileNum))

只是為了給fileContent這個字符串申請存放"C:\form.txt"這個文件內(nèi)容的空間,
如果不加這句,你的字符串變量fileContent就會因為沒地方放文件內(nèi)容而報錯

你如果只是想顯示文件的一行的話,可以像下面這樣
Private Sub Command1_Click()
Dim fileNum As Integer
Dim fileContent As String
fileNum = FreeFile
Open "C:\form.txt" For Binary As #fileNum
Line Input #fileNum, fileContent
Close fileNum
Text1.Text = fileContent
End Sub
如果想對文件的每行進(jìn)行單獨處理的話就只需將line input這句放在do..loop until eof(filenum)這個循環(huán)中



查看完整回答
反對 回復(fù) 2021-12-07
?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗 獲得超6個贊

因為打開文件的模式是 Binary ,在 Get #fileNum, , fileContent 那兒,
是按“輸入變量的值”占用的空間來決定讀取多少內(nèi)容。
fileContent 是變長字符串,它的初始長度是0,也就是一個空串。
如果不對fileContent進(jìn)行一個“初始化”的操作,那么它在Get語句中,只“讀取”0字節(jié)內(nèi)容。

簡單地說,就是什么東西都不會讀取。
因此,先讓fileContent的“長度”為文件的字節(jié)數(shù),
在Get語句那兒,就會把整個文件內(nèi)容讀入fileContent中。
這個是按“字符個數(shù)”來讀取的,最少會讀取 len(fileContent)字節(jié)。
如果內(nèi)容全是西文的,字節(jié)數(shù)跟字符數(shù)是相同的。
但是,如果文件內(nèi)容中有“中文字符”,那么讀取的字節(jié)數(shù)就會增加(當(dāng)然最多是文件長度)。
你這段代碼的作用,是把整個文件讀取到內(nèi)存(在fileContent的值中),
然后,按“每一行”進(jìn)行一次拆分,形成一個數(shù)組。
最后,這個數(shù)組的每一個元素,就是文件中的每一行的內(nèi)容。
只是這個方法有一點小BUG:
如果文件內(nèi)容中有中文、并且以vbCrLf結(jié)束,最后一個元素會是一串空格。
如果文件內(nèi)容中有中文但結(jié)束處不帶vbCrLf,則“最后一行”就會多出一些空格來。



查看完整回答
反對 回復(fù) 2021-12-07
  • 2 回答
  • 0 關(guān)注
  • 350 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號