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

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

vb get 函數(shù)?

vb get 函數(shù)?

郎朗坤 2019-02-08 11:07:30
Option ExplicitPrivate Type recordID As Integername As String * 5End TypePublic Sub wrong()MsgBox "發(fā)生錯誤" & vbCrLf & Err.Description, 0 + 16, "錯誤"End SubPrivate Sub Form_Click()On Error GoTo tag1Dim myrecord As record, positionOpen "C:\Users\stoplee\Desktop\新建文本文檔 (2).txt" For Random As #1 Len = Len(myrecord)'Debug.Print Len(myrecord)position = 1Get #1, position, myrecordPrint myrecord.nameClose #1Exit Subtag1:wrongEnd Sub這個例子是書上的 主窗體過程里 那個調(diào)試注釋是我自己加的 為毛len(myrecord)等于7 ???
查看完整描述

2 回答

?
四季花海

TA貢獻1811條經(jīng)驗 獲得超5個贊

Get 語句

將一個已打開的磁盤文件讀入一個變量之中。

語法

Get [#]filenumber, [recnumber], varname

Get 語句的語法具有以下幾個部分:

部分 描述
filenumber 必要。任何有效的文件號。
recnumber 可選。Variant (Long)。記錄號(Random 方式的文件)或字節(jié)數(shù)(Binary 方式的文件),以表示在此處開始讀出數(shù)據(jù)。
varname 必要。一個有效的變量名,將讀出的數(shù)據(jù)放入其中。

說明

通常用 Put 將 Get 讀出的數(shù)據(jù)寫入一個文件。

文件中第一個記錄或字節(jié)位于位置 1,第二個記錄或字節(jié)位于位置 2,依此類推。若省略 recnumber,則會讀出緊隨上一個 Get 或 Put 語句之后的下一個記錄或字節(jié)(或讀出最后一個 Seek 函數(shù)指出的記錄或字節(jié))。所有用于分界的逗號都必須羅列出來,例如:

Get #4,,FileBuffer

下列規(guī)則適用于以 Random 方式打開的文件:

如果要讀出的數(shù)據(jù)的長度小于 Open 語句的 Len 子句中所指定的長度,Get 會在某個邊界之內(nèi)讀出隨后的記錄,在這里,邊界的長度等于記錄的長度。將此文件緩沖區(qū)內(nèi)的現(xiàn)有內(nèi)容填入到一個空間之內(nèi),該空間介于一個記錄的結(jié)尾與下一個記錄的開頭之間。因為無法確定填入的數(shù)據(jù)量,所以,應(yīng)設(shè)法使記錄的長度與讀出的數(shù)據(jù)長度一致,這通常是個好辦法。

如果讀出的變量是一個可變長度字符串,則 Get 語句先讀出一個含有字符串長度的雙字節(jié)描述符,然后讀出放入變量中的數(shù)據(jù)。所以,Open 語句中的 Len 子句所指定的記錄長度必須至少比字符串的實際長度多兩個字節(jié)。

如果讀出的變量是一個數(shù)值類型的 Variant,則 Get 先讀出兩個字節(jié),識別 Variant 的 VarType,然后讀出放入此變量中的數(shù)據(jù)。例如,在讀出 VarType 3 的 Variant 時,Get 讀出六個字節(jié):前兩個字節(jié)說明 Variant 為 VarType 3 (Long),后四個字節(jié)則包含 Long 類型數(shù)據(jù)。Open 語句中的 Len 子句所指定的記錄長度必須至少比儲存變量所需的實際長度多兩個字節(jié)。
注意 可以使用 Get 語句從磁盤中讀出一個 Variant 數(shù)組,但不能使用它讀出包含數(shù)組的標(biāo)量 Variant。也不能使用 Get 從磁盤中讀出對象。

如果讀出的變量是 VarType 8 (String) 的 Variant,則 Get 先讀出兩個字節(jié),識別 VarType,接下來的兩個字節(jié)指出字符串的長度,然后讀出字符串?dāng)?shù)據(jù)。Open 語句中的 Len 子句所指定的記錄長度必須比實際字符串的長度至少多四個字節(jié)。

如果讀出的變量是一個動態(tài)數(shù)組,則 Get 會讀出一個描述符,其長度等于 2 加上 8 乘以維數(shù),即 2 + 8 * NumberOfDimensions。讀出數(shù)組數(shù)據(jù)和數(shù)組描述符就需要占據(jù)字節(jié),而 Open 語句中的 Len 子句所指定的記錄長度必須大于或等於這些字節(jié)數(shù)的總和。 例如,在將數(shù)組寫入磁盤時,下列數(shù)組聲明需要 118 個字節(jié):
Dim MyArray(1 To 5,1 To 10) As Integer

這 118 個字節(jié)的分配情況如下:18 個字節(jié)用于描述符 (2 + 8 * 2),100 個字節(jié)用于數(shù)據(jù) (5 * 10 * 2)。

如果讀出的變量是一個大小固定的數(shù)組,則 Get 只讀出數(shù)據(jù)。它不讀出描述符。

如果讀出的變量是任何其他類型的變量(不是可變長度的字符串或 Variant£?,則 Get 只讀出變量數(shù)據(jù)。Open 語句中的 Len 子句所指定的記錄長度必須大于或等於要讀出的數(shù)據(jù)的長度。

Get 在讀出用戶定義類型的元素時,好象是單獨地讀出每一個元素,只是不在元素之間進行填充。在磁盤上,(用 Put 寫入的)用戶定義的類型的動態(tài)數(shù)組之前有一個描述符,其長度等于 2 加上 8 乘以維數(shù),即 2 + 8 * NumberOfDimensions。Open 語句中的 Len 子句所指定的記錄長度必須大于或等於讀出個別元素(包括任何數(shù)組及其描述符在內(nèi))所需的全部字節(jié)數(shù)總和。
對于以 Binary 方式打開的文件,Random 的所有規(guī)則都適用,但以下情況除外:

當(dāng) Open 語句中的 Len 子句不起作用時,Get 連續(xù)從磁盤中讀出所有變量;也就是說,兩個記錄之間沒有任何填充。

對于任何不屬于用戶定義的類型的數(shù)組,Get 只讀出數(shù)據(jù)。它不會讀出描述符。

Get 讀出可變長度字符串,不管這些字符串是否具有長度為 2 字節(jié)的描述符,它們都不是用戶定義的類型的元素。所讀出的字節(jié)數(shù)等於字符串已包含的字符數(shù)。例如,下列語句從文件號為 1 的文件中讀出十個字節(jié):
VarString = String(10, )
Get #1,,VarString

Get 語句示例
本示例使用 Get 語句來將數(shù)據(jù)從文件讀到變量中。示例中假設(shè) TESTFILE 文件中含有五個用戶自定義類型的記錄。

Type Record ' 定義用戶自定義的數(shù)據(jù)類型。
ID As Integer
Name As String * 20
End Type

Dim MyRecord As Record, Position ' 聲明變量。
' 為隨機訪問打開樣本文件。
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
' 使用 Get 語句來讀樣本文件。
Position = 3 ' 定義記錄號。
Get #1, Position, MyRecord ' 讀第三個記錄。
Close #1 ' 關(guān)閉文件。



查看完整回答
反對 回復(fù) 2019-03-10
  • 2 回答
  • 0 關(guān)注
  • 1313 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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