2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

VB6的文件操作

 nxhujiee 2019-10-10

    總結(jié)一下VB6的文件操作,省得要用的時(shí)候又到處查找。

一、文件類型

1、順序文件(文本文件) :以ASCII碼形式存放的文件。似乎還有Unicode碼存放的,有沒有BCD碼的呢?

2、隨機(jī)訪問文件:這種文件格式很有特點(diǎn):文件中存放若干條等長(zhǎng)的單元(也可以說是記錄);每個(gè)單元包含同類型、等數(shù)量、等長(zhǎng)度的數(shù)據(jù)項(xiàng);文件中,除了字符串以ASCII碼存放之外, 其它都以二進(jìn)制形式直接存放,節(jié)省存儲(chǔ)空間。這種文件類型非常適合存儲(chǔ)需要和軟件交互的數(shù)據(jù),如結(jié)構(gòu)體數(shù)據(jù)、類數(shù)據(jù)等。這也是VB特有的文件訪問方式。

3、二進(jìn)制文件:以二進(jìn)制形式存放,PE程序文件一般都是這個(gè)類型。

二、操作方法

1、順序文件

打開Open 文件名 For Input | Output | Append As [#]文件號(hào)   

         Input打開讀入,文件不存在報(bào)錯(cuò)。Output打開覆蓋寫入,文件不存在則創(chuàng)建。Append打開追加寫入,文件不存在則創(chuàng)建。  

Line Input #文件號(hào), 字符串變量

        讀一行數(shù)據(jù)存入字符串變量,數(shù)據(jù)包括空格、Tab、等,不包括回車符和換行符,所以要顯示文件的換行效果,要手動(dòng)添加回車符和換行符(vbCrLf

        Input #文件號(hào), 變量1[, | ;] [變量2]...

        這種方式可以存入多個(gè)變量,而且變量類型不限于字符串型。

Print #文件號(hào), 參數(shù)1[, | ;] [參數(shù)2]...

        將各參數(shù)逐個(gè)寫入文件。參數(shù)間用逗號(hào)隔開時(shí),文件中相應(yīng)插入多個(gè)空格;用分號(hào)隔開時(shí),插入一個(gè)空格??梢杂肧pc(n)、Tab(n)等進(jìn)行排版。

        Write #文件號(hào), 參數(shù)1[, | ;] [參數(shù)2]...

        這種寫入方式將自動(dòng)添加界定符,對(duì)不同參數(shù)的類型加以界定。

2、隨機(jī)訪問文件

打開Open 文件名 [For Random] As [#]文件號(hào) Len = 記錄長(zhǎng)度

         For Random可以省略,文件不存在則創(chuàng)建,讀寫都是這種打開方式。   Len是文件中記錄的一條長(zhǎng)度,用以識(shí)別記錄的開始與結(jié)束,經(jīng)常用Len(記錄名)來獲取長(zhǎng)度。

Get [#]文件號(hào), [記錄號(hào)], 變量

        讀一條記錄存入變量,可以是系統(tǒng)類型的Integer、Single、String等等,也可以是自定義類型結(jié)構(gòu)體、類等。記錄號(hào)省略時(shí)從打開以后最后一次讀取的末端開始讀取記錄。

Put [#]文件號(hào), [記錄號(hào)], 表達(dá)式

        將表達(dá)式中的數(shù)據(jù)寫入文件,表達(dá)式可以是各種變量的組合,中間用逗號(hào)隔開。該組數(shù)據(jù)寫入記錄號(hào)對(duì)應(yīng)的位置,記錄號(hào)省略時(shí)從打開以后最后一次寫入的末端開始寫入記錄。

3、二進(jìn)制文件

打開Open 文件名 For Binary As [#]文件號(hào)

         文件不存在則創(chuàng)建,讀寫都是這種打開方式。當(dāng)然也可以用來打開文本文件,讀出來將不知所云

        讀一條記錄存入變量,可以是系統(tǒng)類型的Integer、Single、String等等,也可以是自定義類型結(jié)構(gòu)體、類等。記錄號(hào)省略時(shí)從打開以后最后一次讀取的末端開始讀取記錄。

Get [#]文件號(hào), [讀位置], 變量

         從“讀位置”開始讀取數(shù)據(jù),讀入的長(zhǎng)度等于變量的長(zhǎng)度,一次讀一個(gè)?!白x位置”以字節(jié)為單位?!白x位置”省略時(shí)從打開以后最后一次寫入的末端開始讀入。

Put [#]文件號(hào), [寫位置], 表達(dá)式

        將表達(dá)式中的數(shù)據(jù)寫入文件,表達(dá)式可以是各種變量的組合,中間用逗號(hào)隔開。該組數(shù)據(jù)寫入“寫位置”,“寫位置”以字節(jié)為單位?!皩懳恢谩笔÷詴r(shí)從打開以后最后一次寫入的末端開始寫入。

三、操作權(quán)限

        使用Input、Binary、Random模式訪問,可以同時(shí)對(duì)單個(gè)文件打開多個(gè)實(shí)例。使用Append和Output模式之前則必須確定文件

        Open 文件名 For 模式 [Access access] [lock ] As [#]文件號(hào) [len = 記錄長(zhǎng)度]

        對(duì)隨機(jī)存儲(chǔ)文件和二進(jìn)制文件,可以設(shè)置文件的讀寫權(quán)限。access可寫成Read、Write、 Read Write,對(duì)應(yīng)只讀、只寫、讀寫兼?zhèn)洹4隧?xiàng)功能不適用于順序文件。

         Lock | Unlock 文件號(hào), [記錄| [起始記錄 To終止記錄]]

        當(dāng)指明lock標(biāo)識(shí)后,可用以上代碼設(shè)置文件的共享權(quán)限。對(duì)順序文件, [記錄| [起始記錄 To終止記錄]]不起作用,將對(duì)整個(gè)文件生效;對(duì)隨機(jī)存儲(chǔ)文件,將對(duì)記錄標(biāo)識(shí)中的部分進(jìn)行權(quán)限鎖定或解鎖。

四、文件操作函數(shù)

        以上部分可以實(shí)現(xiàn)文件操作的一些功能,但要完成如拷貝整個(gè)文件、查找文件是否已建立、取文件長(zhǎng)度等功能,還需要一些文件操作函數(shù)來方便地實(shí)現(xiàn)。

Seek Seek(文件號(hào))

        返回文件正在訪問的位置,返回值為長(zhǎng)整型。對(duì)順序文件和二進(jìn)制文件,返回值以字節(jié)為單位;對(duì)隨機(jī)訪問文件,返回值以記錄號(hào)為單位。

Seek Seek [#]文件號(hào),位置

        定位文件到指定位置。位置單位同上所述。

Input Input (字節(jié)數(shù),[#]文件號(hào))

        從文件的訪問當(dāng)前位置讀入指定字節(jié)數(shù)的數(shù)據(jù)。僅適用于順序文件和二進(jìn)制文件。

EOF EOF(文件號(hào))

        判斷文件的訪問位置是否在文件尾,如果是,返回True,否則,返回False。

LOF LOF(文件號(hào))

        返回文件長(zhǎng)度,單位為字節(jié)。

FileLen FileLen (文件名)

        返回文件名對(duì)應(yīng)文件的長(zhǎng)度,單位是字節(jié)。該函數(shù)取磁盤文件標(biāo)識(shí)中的長(zhǎng)度,即文件打開前的長(zhǎng)度,可以取未打開的文件長(zhǎng)度。

GetAttr GetAttr (Pathname)

        返回指定文件或文件夾的屬性。

FileAttr FileAttr (文件號(hào))

        返回文件號(hào)對(duì)應(yīng)文件的打開方式。

GetDateTime GetDateTime (Pathname)

        返回文件被創(chuàng)建或修改的最后日期和時(shí)間。

Free FreeFile[(0|1)]

        返回未被占用的文件號(hào),F(xiàn)ree或Free(0)返回1~255之間未占用的文件號(hào),F(xiàn)ree(1)返回256~511之間未占用的文件。

Dir Dir (Pathname [,Attributes])

        測(cè)試指定路徑是否有某文件,Attributes附加文件屬性條件,取值vbNormal、vbReadOnly、vbHidden、vbSystem、vbVolume、vbDirectory。

Kill Kill (文件名)

        刪除指定文件,文件名可包含路徑。

FileCopy FileCopy 源文件,目標(biāo)文件

        拷貝文件。

Name Name 舊文件名 As 新文件名

        文件重命名。前后路徑不一致時(shí),操作為移動(dòng)文件并重命名。

MkDir MkDir path

        新建文件夾。

RmDir Rmdir path

        刪除文件夾。

ChDrive ChDrive Drive

        改變當(dāng)前驅(qū)動(dòng)器 ChDrive "D"

CurDir CurDir [(driver)] 

      返回當(dāng)前工作路徑,指定driver則返回目標(biāo)驅(qū)動(dòng)器的當(dāng)前工作路徑。

五、文件操作實(shí)戰(zhàn)

1、新建文本文件a.txt,寫入數(shù)據(jù),關(guān)閉。打開該文件,全部讀入到新建文件b.txt,關(guān)閉。

'新建文件,并寫入數(shù)據(jù),關(guān)閉
Open "a.txt" For Output As #1
Print #1, "ABCDEFG"; vbCrLf; "HIJK"
Close #1

'打開文件,并全部寫入新文件,關(guān)閉
Open "a.txt" For Input As #2
Open "b.txt" For Output As #3
Dim str As String
While (Not EOF(2))
    Line Input #2, str
    Print #3, str
Wend
Close

2、新建隨機(jī)存儲(chǔ)文件a.dat,寫入數(shù)據(jù),關(guān)閉。打開該文件,讀入到新建文件b.dat,關(guān)閉。

'以下代碼位于Module模塊
'定義自定義類型結(jié)構(gòu)體
Public Type Struct
    elem1 As Integer
    elem2 As String * 5
End Type

'以下代碼位于窗體模塊
'新建文件,并寫入記錄,關(guān)閉
Open "a.dat" For Random As #1 Len = Len(st)
Put #1, , st
Close #1

'打開文件,并寫入新文件,關(guān)閉
Open "a.dat" For Random As #2 Len = Len(st)
Open "b.dat" For Random As #3 Len = Len(st)
Dim st2 As Struct
Get #2, , st2
Put #3, , st2
Close

3、二進(jìn)制文件操作類似于隨機(jī)存儲(chǔ)文件,不再舉例。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多