當前位置:編程學習大全網 - 編程語言 - 無標度編程

無標度編程

類別:計算機IT

四、數組中常見的錯誤及註意事項

1.靜態數組聲明下標變量。

N = InputBox("輸入數組的上限")

Dim a(1到n)為整數

2.數組下標越界

聲明數組時,引用的下標大於或小於下標範圍。

Dim a(1到30)為長,I為整數

a(1)= 1:a(2)= 1

對於i = 3到30

a(i) = a(i - 2) + a(i - 1)

接下來我

3.數組維數錯誤

數組聲明的維度與引用數組元素的維度不壹致。

Dim a(3,5)壹樣長

a(I)=10

4.Arry函數的使用

只能給變量或變量的動態數組賦值。

5.獲取數組的上下界。

UBound和Lbound函數

1.Dim數組聲明

有時用戶聲明數組的上界由程序通用性的變量表示,如下面的程序段所示:

N=InputBox("輸入數組的上限")

Dim a(1到n)為整數

程序運行時,Dim語句會顯示錯誤信息“需要常量表達式”。也就是說,Dim語句中聲明的數組的上下限必須是常量,而不是變量。

解決程序常見的問題,壹是聲明數組非常大,浪費了壹些存儲空間;第二種是使用動態數組將上面的例子修改如下:

將()作為整數變暗

N=InputBox("輸入數組的上限")

將a(1到n)作為整數重新定義

2.數組下標越界

引用了不存在的數組元素,即聲明數組時下標大於或小於下標範圍。例如,用以下30項組成斐波納契數列:

1,1,2,3,5,8,13,21,34,…,317811,514229,832040

正確的程序段如下:

Dim a(1到30)壹樣長,i%

如果For i=3到30改為For i=1到30,程序運行時會顯示“下標越界”的錯誤信息,因為循環開始時i=l,執行循環體語句a(i)=a(i-2)+a(i-1),數組下標i-2和I。

同樣,如果把上面的例子:a(i)=a(i-2)+a(i-1)改成:a(i+2)=a(i)+a(i+1)。

當程序運行時,當數組下標大於上限30時,也會顯示錯誤消息“下標越界”。

3.數組維數錯誤

數組聲明的維度與引用數組元素的維度不壹致。例如,下壹個程序段將形成並顯示壹個3×5的矩陣:

dim a(3.5)壹樣長

對於i=1到3

對於j=1到5

a(i)=i*j

打印a(壹);"";

下壹個j

打印

接下來我

當程序運行到語句a(i)=i*j時,出現“dimension error”的消息,因為Dim聲明時是二維數組,引用時是下標。

4.4的使用。數組函數

Array函數可以很容易的給整個數組賦值,但是此時只能聲明Variant或者只括在括號裏的動態數組的變量。賦值後的數組大小由賦值次數決定。

例如,將1,2,3,4,5,6,7的值賦給數組A,表2.5.1列出了三種錯誤以及相應的正確賦值方法。

表2.5.1數組函數表示方法

錯誤的數組函數賦值

修正了阿裏函數分配

Dim a(1到8)

a =數組(1,2,3,4,5,6,7,8)

Dim a( ) a=Array(1,2,3,4,5,6,7)

Dim a為整數a=Array(1,2,3,4,5,6,7)

Dim a a =數組(1,2,3,4,5,6,7)

暗淡的

a()=Array(1,2,3,4,5,6,7)

Dim a a =數組(1,2,3,4,5,6,7)

5.如何得到壹個數組的上下界?

Array函數可以很容易地給整個數組賦值,但是如何在程序中獲取數組的-上界和-下界以保證訪問的數組元素在合法的範圍內,可以通過使用UBound和LBound函數來確定。

在上面的例子中,如果妳想打印數組A的值,妳可以通過下面的程序段來完成:

對於i=Lbound(A)至Ubound(A)

打印a(i)

接下來我

6.給數組賦值

VB6.0提供了給整個數組賦值的新功能,方便了數組到數組的賦值操作。但是真正使用起來並沒有那麽方便,限制也很多。數組賦值形式如下:

數組名2=數組名1

我們來討論壹下這種形式:這裏的數組名2,實際上只能在聲明前壹個數組時聲明為Variant變量,被賦值的數組2的大小、維數、類型與數組名1相同;否則,如果它被聲明為動態或靜態數組,例如:

Dim數組名2()或Dim數組名2(下標)

當程序運行到上面的賦值語句時,顯示錯誤信息“無法給數組賦值”。

所以為了程序的安全可靠,建議讀者忍痛割愛,少用VB6.0的這個新功能,使用傳統的循環結構給數組賦值。為此,我們不會在教程中展開它。

動詞 (verb的縮寫)過程中的常見錯誤及註意事項

1.編程算法問題

這壹章的編程比較難,主要是算法難構思,這也是編程中最難學的階段。經驗告訴每壹個編程初學者,沒有捷徑,只要多看,多練,知難而進。電腦開機前,壹定要寫好程序,認真分析檢查,提高在電腦上調試的效率。每當壹個程序經過努力調試通過,來之不易的喜悅讓妳壹言難盡。

2.確定定制流程是子流程還是功能流程。

實際上,進程是壹個獨立的程序單元,具有壹定的功能,可以多次調用。子流程和函數流程的區別在於,前壹個子流程名沒有值,後壹個函數流程名有值。如果過程有返回值,習慣上使用函數過程;如果過程沒有返回值,則使用子過程;如果過程返回多個值,壹般用來通過真實參與參數的組合帶回結果,當然也可以通過函數過程名帶回壹個,其余的結果可以通過真實參與參數的組合帶回。

3.過程中形式參數個數和傳遞方式的確定。

對於初學者來說,在定義過程的時候無法確定形參的個數和傳遞方式。

流程中參數的作用是實現流程和調用者之間的數據通信。壹方面,調用方為子進程或函數進程提供初始值,通過將實參傳遞給形參來實現;另壹方面,子進程或函數進程將結果傳遞給調用者,這是通過地址傳遞實現的。所以形參的個數是由以上兩個方面決定的。對於初學者來說,他們往往喜歡把流程體中使用的所有變量都作為形式參數,這增加了調用者的負擔和出錯概率。有些初學者省略了所有的形參,所以無法實現數據傳輸,既不能從調用者那裏得到初始值,也不能將計算結果傳遞給調用者。

在VB中,參與實參數組合的方式有兩種:值傳遞和地址傳遞。區別如下:

(1)在定義的形式上,前者前面是ByVal關鍵字。

(2)效果上,值傳遞只能從外部傳遞初始值給進程,不能傳遞結果,地址傳遞可以傳入傳出。

(3)如果參數是數組、自定義類型、對象變量等。,形參只能通過地址傳遞。

4.真正參與形式參數類型的對應問題

當傳遞地址時,調用過程中涉及的形參類型應該是壹致的。例如:

功能過程定義如下:

公共函數f!(x!)

f=x+x

結束功能

主要調諧過程如下:

Privme Sub Commandl _ Click()

模糊y%

y=3

打印f(y)

末端接頭

在前面的例子中,形參X是單精度類型,實參Y是整數類型。程序運行時,會顯示“ByRef參數類型不匹配”的編譯錯誤信息。

當傳遞值時,如果值是數字,則實參將根據其類型將值傳遞給形參。例如:

功能過程定義如下:

公共函數f!(ByVal x%)

f=x+x

結束功能

主要調諧過程如下:

Priva ~ SubCommandI _ Click()

Dim y!

Y=3.4

打印f(y)

末端接頭

程序運行後顯示的結果是6。

5.變量的範圍

局部變量,調用過程時,分配變量的存儲空間;過程調用結束時,回收分配的存儲空間,即調用壹次,初始化壹次,變量不保留;加載表單時,分配變量的存儲空間,然後回收變量分配的存儲空間。

例如,如果您想通過文本框輸入幾個值,請為每個輸入按Eeter鍵,直到輸入值為9999。輸入結束後,求輸入數字的平均值。

Private Sub Textl_Key Press(鍵Ascii為整數)

點心!,n%

如果KeyAscii=13,則

如果Val(Text1)=9999,則

總和=總和/n

打印總和

其他

Sum=sum+Text1

n=n+1

Text1= " "

如果…就會結束

如果…就會結束

末端接頭

在這個過程中沒有語法錯誤。運行程序時可以輸入幾個數字,但當輸入9999時,程序顯示“溢出”錯誤。原因sum和n是局部變量,每按壹次鍵,局部變量就初始化為0,所以會出現上面的錯誤。

改進方法:將待對沖的局部變量聲明為Static靜態變量或表單級變量。要對沖的變量也可以在通用聲明部分聲明為表單級變量。

6.遞歸調用“堆棧溢出”

階乘的遞歸函數過程如下:

Public Functionfac(n為整數)為整數

如果n=1,則

fac=1

其他

fac=n*fac(n-1)

如果…就會結束

結束功能

Private Sub Commandl _ Click()'調用遞歸函數,顯示fac(5)=120。

打印“fac(5)”;外交事務委員會(五)

末端接頭

調用主程序時,當n的值為5時,會顯示120的結果;當n的值為-5時,會顯示“堆棧空間溢出”的錯誤消息。

實際上,每次進行遞歸調用時,系統都會堆棧當前狀態信息(形參、局部變量、調用結束時的返回地址),直到達到遞歸結束條件。在前面的例子中,當n=5時,每次遞歸調用參數n-l,直到n=l的遞歸調用結束,然後不斷從堆棧中彈出當前參數,直到堆棧為空。但當n=-5時,參數n-1為-6,stack被壓下,然後遞歸調用n-1,直到棧滿,永遠達不到n=l的終止條件,導致棧溢出的錯誤信息。

所以在設計遞歸進程時,壹定要考慮終止的條件,終止的值或者進程中的某個操作,並且每次調用遞歸時,其中的參數都要收斂到終止方向,否則會發生堆棧溢出。

不及物動詞常見錯誤及常見控制難點分析

1.缺少對象名稱

在VB編程中,初學者常犯的壹個錯誤是省略對象名,尤其是在使用列表框時。例如,如果要引用列表框(List1)中當前選中的項目,則listl . list(list index)是錯誤的。即使當前焦點在Listl上,VB也不認為Listlndex是List l的屬性,而是變量。所以正確的引用方式是:listl . 1 ist(listl . listlndex)。

2.列表框的Columns屬性

列表框的Columns屬性確定列表框是水平滾動還是垂直滾動,以及如何顯示列中的項目。如果水平滾動,Columns屬性確定顯示多少列,如表2.7.2所示。圖2.7.1是壹個兩列水平滾動的列表框。

在程序運行期間,該屬性是只讀的,即不能在運行時將多列列表框更改為單列列表框,也不能將單列列表框更改為多列列表框。

表2.7.2列表框的列屬性

列數的虧格

0(默認值)1到n項壹列排列,列表框垂直滾動項多列排列。先填第壹欄,再填第二欄...列表框水平滾動並顯示指定的列數。

3.域級驗證

域級驗證是指對輸入到獨立域的數據進行驗證,在域級驗證的過程中壹般不考慮表單中其他字段的內容。域級驗證的適當時間是:

(1)在域中輸入鍵時,會涉及鍵盤事件(KeyDown、KeyUp和KeyPress)。

(2)當用戶試圖離開壹個域時,涉及CansesValidate屬性和Validate事件。

(3)當壹個域的內容發生變化時,涉及到變化事件。

CausesValidation屬性和Validate事件通常壹起工作。

CausesValidate屬性確定Validate事件是否發生。如果控件的CausesValidate屬性為False,則控件的Validate事件永遠不會發生。如果控件的cause validate屬性為Tree,當焦點試圖移動到另壹個cause Validate屬性為True的控件時(可以說離開之前),會發生原控件的Validate事件:當焦點試圖移動到另壹個cause Validate屬性為False的控件時,原控件的Validate事件暫時不會發生,什麽時候會發生?直到焦點移到CausesValidate屬性為True的控件時,才會發生這種情況。

例如,假設有壹個如圖2.7.2所示的程序。當焦點試圖從text 1移動到Text2時,發生text 1的Validate事件;當焦點試圖從Text2移動到text 1時,發生Text2的Validate事件。當焦點試圖從text 1移動到Text3時,text 1的Validate事件暫時不會發生,因為Text3的CausesValidate為False,然後text 1的Validate事件不會發生,直到焦點試圖移動到Text2。

圖2.7.2導致驗證屬性和驗證事件

CausesValidate屬性和Validate事件的這壹特性經常應用於程序中,如圖2.7.3所示。當文本框中輸入了無效數據,而妳又不知道如何輸入有效數據時,用戶往往會選擇Help命令來尋求幫助,或者選擇Cancel命令來結束數據輸入,所以他們不想執行驗證程序。因為如果執行驗證程序,發現無效數據,不能選擇幫助或取消,用戶就被困住了。現在,只要將文本框的cause validate屬性設置為True,將命令按鈕的cause Validate屬性設置為False,並將驗證器放入驗證過程中,問題就解決了。默認情況下,所有控件的CausesValidation屬性都是Tree。

圖2.7.3導致命令按鈕的驗證屬性和驗證事件

並非所有控件都有驗證事件。只有那些可以用來輸入數據的控件(如文本框、復選框、滾動條等。)有這個事件。驗證事件過程如下:

Privme Sub object_Validate(取消為布爾值)

末端接頭

其中,當參數Cancel設置為Tree時,焦點不會離開對象。

如果要將實驗7中的1問題改為Validate事件和CausesValidation屬性實現數據驗證,應該有以下步驟。

Sub txtMath_Validate(取消為布爾值)

If Val(txtMath。正文)& lt0或_

Val(txtMath。Text)>那就100

取消=真

如果…就會結束

末端接頭

1.窗體頂部菜單欄中的菜單項與子菜單中的菜單項之間的區別

表單頂部的菜單欄和子菜單中的菜單項都是在菜單編輯器中定義的,但它們是不同的。

(1)表單頂部菜單欄中的菜單項不能定義快捷鍵,但子菜單中的菜單項可以有快捷鍵。

(2)當字母後有熱鍵字母(菜單標題中的“&”)時,按Alt+熱鍵字母選擇表單頂部菜單欄中的菜單項,按熱鍵字母選擇子菜單中的菜單項(子菜單打開時)。子菜單未打開時,按熱鍵字母無法選擇菜單項。

(3)雖然所有的菜單項都可以響應Click事件,但是窗體頂部菜單欄中的菜單項不需要編寫事件過程。

2.在程序中,常規對話框的屬性設置不起作用。

在程序中,常規對話框的屬性設置不起作用。大多數情況下,屬性設置是在對話框彈出後完成的。比如下面的程序代碼就有這樣的問題,糾正方法是把彈出對話框語句放在最後,也就是放CommonDialogl。所有屬性設置語句後的Action=l。

CommonDialog1。動作=1

ConmaonDialog1。文件名="*。Bmp "

CommonDialogl。InitDir="C:\Windows "

CommonDialog1。Filter= "圖片(*。Bmp)|*。Bmp |所有文件(*。*)|*.*"

CommonDialog1。FilterIndex=1

3.將現有表單添加到項目時出現加載錯誤。

使用“項目”菜單中的“添加表單”命令添加已有表單時,經常會出現加載錯誤,大多數錯誤是由於表單名稱沖突造成的。例如,假設壹個名為Forml的項目當前是打開的,如果妳想加載壹個屬於另壹個項目的Forml表單,妳肯定會得到壹個錯誤。

[註意]

表單名稱和表單文件名的區別。在壹個項目中,可以有兩個表單文件名相同的表單(分布在不同的文件夾中),但不能同時有兩個表單文件名相同的表單。

4.實時菜單的創建

實時菜單由應用程序根據需要動態創建。在VB中,常見的實時菜單是“文件”菜單,顯示最近使用的項目。

要創建實時菜單,必須結合控件數組,用Load語句創建菜單項,用UnLoad清除菜單項。

要創建實時菜單:

(1)在菜單編輯器中創建示例菜單項。

示例菜單項的屬性設置見表2.8.4。將Index設置為0表示示例菜單項是控件數組的壹個元素,其下標為0。示例菜單項的Name屬性是必需的,它將用作控件數組的名稱。讓我們假設數組名為NameArray。Visible可以設置為True,False表示菜單項最初是不可見的。

表2.8.4實時菜單示例菜單項

屬性名稱標題索引可見

需要設置的值可以沒有0 False。

(2)在程序中用Load語句創建壹個菜單項。

例如,loadnameray (1)創建壹個新的菜單項(控件數組中的下標是1),然後將其Visible屬性設置為True,還設置了Caption屬性。

動態創建的菜單項繼承了除Index之外的大多數屬性,因此應該設置Caption和Visible屬性。此外,示例菜單項在菜單系統中的位置決定了新菜單項出現的位置。

(3)為實時菜單項編寫代碼

每個實時菜單項都是控件數組的成員,具有相同的名稱,並享受事件過程。

以下是實時菜單項代碼示例:

SubNameArray_Click(索引為整數)

選擇案例索引

案例0

MsgBox("NameArmy(0)(示例菜單項)被點擊!")

案例1

Msgbox ("Nameray (1)(實際購買的第壹個菜單項)被點擊!")

案例2

Msgbox ("Nameray (2)(第二個實時菜單項)被點擊!")

結束選擇

末端接頭

(4)刪除實時菜單項

雖然Visible設置為False,但程序運行時不會顯示實時菜單項,有時需要從內存中銷毀實時菜單項。使用UnLoad語句刪除實時菜單。例如,loadnamerray (1)。

有關建立實時菜單的詳細信息,請參考本教程的第4.3節。

5.“常規”對話框的CancelError屬性和Err對象

當常規對話框的CancelError屬性為True時,每當選擇“取消”按鈕時,都會生成壹個錯誤32755(cdlCancel),即Err的Number屬性將被設置為32755。

Err是VB的壹個系統對象,記錄程序運行過程中出現的錯誤。

Err對象的重要屬性是Number(默認屬性)和Description。當錯誤發生時,錯誤生成器將錯誤號和錯誤描述分別存儲在Number和Description屬性中。例如,當在CancelError屬性為True的常規對話框中選擇“取消”按鈕時,將生成壹個錯誤,err對象的Number和Description屬性將設置為32755和“選擇'取消'”。

在程序運行過程中,經常會出現各種錯誤。有關錯誤處理的詳細信息,請參考本教程的第9.6節。

下面是當程序產生cdlCancel錯誤時,結束程序的運行。

子窗體_ClickO

CommonDialogl。CancelError=True

出錯時轉到錯誤處理程序

CommonDialogl。動作=l

用於處理文件的語句

錯誤處理程序:

如果錯誤。Number=cdlCancel然後

結束

Endlf

末端接頭

6.與表單相關的事件

當壹個窗體(假設該窗體尚未在內存中創建)第壹次用load語句加載到內存中時,Initialize和Load事件依次發生。當使用UnLoad從內存中卸載窗體時,QueryUnLoad和UnLoad事件依次發生,當使用Set form name =Nothing語句取消初始化時,會發生Terminate事件。

Initialize是創建窗體時發生的事件。Initialize事件在窗體的生命周期中只觸發壹次。用戶可以多次將表單加載到內存中或從內存中刪除,但表單只創建壹次。也就是說,當表單用load語句加載到內存時,會觸發Load事件,但不壹定觸發Initialize事件。

用unLoad語句卸載窗體後,如果窗體name =Nothing不用於取消初始化,下次使用Load語句時不會觸發Initialize事件,否則會引發Initialize事件。

假設有兩個窗體,form 1和Form2,並且有以下事件過程:

Forml窗體事件過程

子窗體_Click()

調試。當表單首次加載到內存中時發生的“Print”事件

裝載表單2

調試。使用unload卸載表單時發生“Print”事件

卸載表單2

調試。第二次將窗體加載到內存中時發生的“Print”事件

裝載表單2

調試。使用unload卸載表單時發生“Print”事件

卸載表單2

調試。用Set form name =Nothing語句初始化時發生的Print "事件

設置Form2 =無

調試。Print "當窗體第三次加載到內存中時發生的事件(在取消初始化後):"

裝載表單2

末端接頭

Form2窗體事件過程

Sub Form_Initialize()

調試。打印“初始化事件”

末端接頭

子窗體_Lond()

調試。Pnnt“加載事件”

末端接頭

Sub Form_QueryUnload(Cancel為hteger,UnloadMode為Integer)

調試。打印“QueryUnload”

末端接頭

Sub Form_Unlond(取消為整數)

調試。打印“卸載”

末端接頭

子窗體_Terminate()

調試。打印“終止”

末端接頭

當用戶單擊Form1時,調試窗口中會顯示以下信息:

當窗體首次傳輸到內存時發生的事件:

初始化事件

加載事件

使用unload卸載窗體時發生的事件:

查詢卸載

傾銷

當窗體第二次加載到內存中時發生的事件:

加載事件

使用unload卸載窗體時發生的事件:

QueryUnload

傾銷

使用Set form name =Nothing語句初始化時發生的事件:

結束的

第三次將窗體加載到內存中時發生的事件(在取消初始化之後):

初始化事件

加載事件

7.7的序列。MouseDown、MOUSeUp和C1ick事件。

當用戶在窗體或控件上按下鼠標按鈕時,將觸發MouseDown事件。MouseDown事件必須在MouseUp和C1ick事件之前發生。但是,MouseUp和Click事件發生的順序與單擊的對象有關。

當用戶單擊標簽、文本框或表單時,順序是:

(1)鼠標按下

(2)鼠標向上

(3)點擊

當用戶單擊命令按鈕時,順序是:

(1)鼠標按下

(2)點擊

(3)鼠標向上

當用戶雙擊標簽或文本框時,順序是:

(1)鼠標按下

(2)鼠標向上

(3)點擊

(4)DblCUck

(5)鼠標懸停

七、文件常見錯誤及難點分析

1.文件系統的三個控件不能關聯。

即當驅動器改變時,目錄列表框不能相應改變;或者當目錄列表框改變時,文件列表框不能相應改變。若要關聯三個控件,請使用以下兩個事件過程:

私有子驅動器_Change()

迪爾。Path=Drivel。驅動器

末端接頭

私有子目錄_更改()

Filel。Path=Dirl。小路

末端接頭

2.如何在目錄列表框中表示當前選中的目錄?

程序運行時雙擊目錄列表框中的壹個目錄項,該目錄項將變為當前目錄,Diirl的值為。路徑將相應地改變。當您單擊選擇目錄項時,Diirl的值。路徑沒有改變。有時為了對選中的目錄項進行相關操作,對應的是在ListBox控件中選擇壹個列表項,表示如下:

迪爾。列表(目錄。列表索引)

3.當使用文件系統控件打開文件時,會顯示壹條錯誤消息“找不到文件”。

例如,下面的語句:

打開文件。路徑+文件。輸入文件名為#1

當所選目錄為根目錄時,上述語句正確執行,當所選目錄為子目錄時,執行上述語句時顯示錯誤信息“文件未找到”。

其中:Filel。代表當前選擇的路徑。文件名代表當前選擇的文件,它們壹起代表文件標識符。

當選擇的文件在根目錄中時(假設驅動器是C),Filel的值。路徑是“C:\1”,假設選擇的文件名是“t1.txt”,Filel的值。路徑+文件。文件名為“C:\t1.txt”。

當選擇的文件在子目錄中時(假設驅動器是C,子目錄是my),Filel的值。Path為“c: \ my”,filel.path+filel.filename的值為“C:\my tl.txt”,子目錄和文件名之間缺少“\”分隔符。

為了保證程序的正常運行,

open file . path+file . filenameforlnput as # 1更改為:

Dun F$美元

如果正確(Filel。Path,1)" " Then "表示選定的根目錄。

F=Filel。路徑+文件。文件名

' Else '表示選中的子目錄,而“\”則添加在子目錄和文件名之間。

F=Filel。路徑+" \ "+文件。文件名

如果…就會結束

打開F輸入為# 1

4.名字定為4。open語句中打開的可以是常量,也可以是字符串變量,但用戶概念不清,導致出現錯誤信息“文件未找到”

如果從磁盤讀取時文件名為“C:\my\t1.txt”,

正確的常數如下所示:

打開“c: \ my \ t1.txt”作為# 1”輸入不正確的寫入常量缺少雙引號。

或者正確的變量如下所示:

Dim F$

F="C:\my\t1.txt "

Open F For Input As #1 '寫錯變量F兩邊都有雙引號。

5.文件尚未關閉和打開,並顯示錯誤消息“文件已被打開”。

以下聲明:

打開“C:\my\t1.txt”輸入為#1

打印F

打開“C:\my\t1.txt”輸入為#1

打印“2”;F

當執行第二個Open語句時,顯示錯誤消息“文件已被打開”。

6.如何讀取隨機文件中的所有記錄,但不知道記錄號?

如果不知道記錄號,想讀取所有的記錄,只要類似於順序文件的讀取,可以使用循環結構和不帶記錄號的Get語句。節目片段如下:

Do While Not EOF(1)

獲取#1,,j

打印j;

讀寫隨機文件時,不需要寫記錄號,也就是說讀的時候自動讀取下壹條記錄,寫的時候在當前記錄之後插入。

  • 上一篇:計算機類三大熱門專業,妳區別得了嗎?別報考錯了
  • 下一篇:求脫殼教程有誰給我做個教程200分報答
  • copyright 2024編程學習大全網