相關(guān)教程vb6visual basic實(shí)用編程_第1頁
相關(guān)教程vb6visual basic實(shí)用編程_第2頁
相關(guān)教程vb6visual basic實(shí)用編程_第3頁
相關(guān)教程vb6visual basic實(shí)用編程_第4頁
相關(guān)教程vb6visual basic實(shí)用編程_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第9章如果你不能創(chuàng)建循環(huán)代碼結(jié)構(gòu),往往不得不編寫成百上千行代碼。所有類型的循環(huán)的基本作用是相同的,那就是減少重復(fù)執(zhí)行一項(xiàng)任務(wù)時需要的代碼語句的數(shù)目。循環(huán)結(jié)構(gòu)有著許多不同的類型,應(yīng)該根據(jù)不同的情況使用相應(yīng)的循環(huán)類型。有些循環(huán)能夠執(zhí)行規(guī)定的次數(shù),而另一些循環(huán)則執(zhí)行到出現(xiàn)某種條件時為止。將正確的循環(huán)用于某項(xiàng)作業(yè),意味著它是個更加健壯、有效和易讀的代碼。注 使用For...Next循環(huán)的最基本類型是oret循環(huán),它能夠循環(huán)運(yùn)行規(guī)定的次數(shù)。當(dāng)?shù)竭_(dá)最大的迭代次數(shù)時,便繼續(xù)執(zhí)行et語句后面的語句。創(chuàng)建一個o...et循環(huán)時,要規(guī)定用于計數(shù)的起始數(shù)字和最終數(shù)字。也可以使用teFor...Next循環(huán)結(jié)構(gòu)的句法Forcounter=startToend[Stepstep][statements][Exit[statementsNext[counterFor...Next循環(huán)結(jié)構(gòu)具有下counter(計數(shù)器)一個必須有的數(shù)字變量,用作循環(huán)計數(shù)器。該變量不能是布爾變量或start(起始值)計數(shù)器必須有的初始值。end(結(jié)束值)計器必須有的最終值。當(dāng)計數(shù)器到達(dá)最終數(shù)字時,循環(huán)中的語句最后執(zhí)行一次,然后從NextendNextStep(遞增量)一個可有可無的數(shù)字,用于規(guī)定計數(shù)器每次運(yùn)行循環(huán)時遞增的數(shù)量。如果For...Next循環(huán)中的大部分編程工作是在啟動循環(huán)的For語句中進(jìn)行的。For...Next循環(huán)的大部分代碼是相當(dāng)簡單的,循環(huán)計數(shù)器按照遞增量1從一個數(shù)字跳到另一個數(shù)字。將遞增量設(shè)置DimintCounterAsIntegerForintCounter=1To10Next若要使計數(shù)器按1以外的遞增量進(jìn)行遞增,就必須在r語句中設(shè)置ep參數(shù)。例如,若要按遞增量21到10orDimintCounterAsForintCounter=1To10StepDebug.PrintNext若要創(chuàng)建按你的要求來運(yùn)行的循環(huán),必須全面理解Step參數(shù)的作用。如果按遞增量2計數(shù)啟動一個帶有For語句的循環(huán)時,計數(shù)器變量將被初始化為它的起始值。在上面的例子中,起始值是1Step的值來遞增(如果遞增量為負(fù)值,則遞減9并且11。由于11超過了結(jié)束值1,因此該循環(huán)就不再重復(fù)運(yùn)行。有些編程人員不理解這個運(yùn)行特性。例如,當(dāng)下面的代碼運(yùn)行時,調(diào)試窗口中輸出DimintCounterAs‘*Loop10ForintCounter=1ToNextDebug.Print如果你的是它輸出10,那么你就錯了,不過你并不是唯一這樣想的人。當(dāng)運(yùn)行到NextintCounter是9,那么intCounter10,同時該循環(huán)再次運(yùn)行。當(dāng)intCounter的值是10時遇到NextintCounter的值遞增為11,代碼的運(yùn)行再次返回到For語句。當(dāng)For語句計算intCounter的值并且發(fā)現(xiàn)它的值超過結(jié)束值時,代碼的執(zhí)行轉(zhuǎn)到緊靠Next語句后面的這個語句,并輸出intCounter的值。輸出的intCounter值是1。 實(shí)際應(yīng)用舉例1說明了當(dāng)你用常量取代For除了幻數(shù)和常量外,還可以將變量或控制值用作起始值和結(jié)束值等參數(shù)。例如,下面的代碼將變量值用作上限:DimintCounter DimintupperLimitAs‘*Initializeupperlimit.Thisvaluecancomefromanywhere,‘*upperLimit=100ForintCounter=1ToNextDimintCounter DimintupperLimitAs‘*Initializeupperlimit.Thisvaluecancomefromanywhere,‘*UpperLimit=-5ForintCounter=1ToNext這個循環(huán)根本就不能執(zhí)行。初次遇到For語句時,intCounter被初始化為1,并且與每個For語句必須有一個對應(yīng)的NextNext語句,不過你應(yīng)該將它納入該語句。省略計數(shù)器變量對只有一個循環(huán)的簡單過程來說,不是個大問題。但是,隨著過程的規(guī)模變得越來越大和越來越復(fù)雜,或者隨著嵌套式循環(huán)的創(chuàng)建,使用DimintCounter DimintSecondCounterAs‘*CreatetheouterForintCounter=1To‘*CreateanestedloopalongwithanewForintSecondCounter=1To‘*PrintthevalueofthesecondDebug.Print這個代碼例子中,一個循環(huán)之中套了一個循環(huán)。由于Next語句沒有計數(shù)器變量,因此究竟是哪個Next語句關(guān)閉哪個循環(huán),這個問題顯得不太清楚。如果在For語句與Next語句之間存在對For語句與Next語句之間的所有語句,你至少應(yīng)該將它們縮進(jìn)一個制表位,使代碼結(jié)構(gòu)(第章詳細(xì)介紹了語句縮進(jìn)的規(guī)則,不過這里也應(yīng)該說明它的重要性開始語句與結(jié)束語句在代碼的層次結(jié)構(gòu)中位于相同層次上,而代碼主體語句則處于從屬層次。For語句后面的第一個語句必須縮進(jìn)一個制表位。主體語句的其余部分的縮進(jìn)要取決于它們與第一個語句的關(guān)系。雖然大多數(shù)oro...xtoTo所示。退出oretExto語句:DimintCounterAs‘*LoopthroughthepossibledaysoftheForintCounter=1To‘*Ifthecounterisequaltothecurrentdayofthe‘*exittheIfintCounter=Format(Date,“d”)ThenExitForDebug.PrintintCounterNext上面這個代碼并沒有特別的作用,不過它說明了一個問題。如果你必須提早退出該循環(huán),請使用ExtFor語句。PrivateFunctionRawNumber(strNumberAsString)As‘*Purpose:Stripsanalphanumericstringdownto itsnumericcomponenttobeusedfor‘*Accepts:strNumber-astringcontainingaphone e.g.,(402)555-‘*Returns:ThestringwithallnonnumericelementsOnErrorGoToDimstrRaw AsStringDimintLocation intLocation=‘*LoopthroughallthecharactersintheDoWhileintLocation<=‘*DeterminewhetherthecurrentcharacterisIfIsNumeric(Mid$(strNumber,intLocation,1))strRaw=strRaw&Mid$(strNumber,intLocation,EndintLocation=intLocation+RawNumber=strRawExitCallShowError(Me.Name,“RawNumber",Err.Number,GoToEndPrivateFunctionRawNumber(strNumberAsString)As‘*Purpose:Stripsanalphanumericstringdownto itsnumericcomponenttobeusedfor‘*Accepts:strNumber-astringcontainingaphone e.g.,(402)555-‘*Returns:ThestringwithallnonnumericelementsOnErrorGoToDimstrRaw AsStringDim As‘*LoopthroughallthecharactersintheForintLocation=1To‘*DeterminewhetherthecurrentcharacterisIfIsNumeric(Mid$(strNumber,intLocation,1))strRaw=strRaw&Mid$(strNumber,intLocation,EndNextintLocationRawNumber=strRawExitCallShowError(Me.Name,“RawNumber",Err.Number,GoToEnd'*Drawverticalgridlinesonthecanvas.ForintCount=0To(intEditWidth+1)Step4‘*usetheAPItomovethedrawingpen.lngResult=MoveToEx(lngScratchPadDC,intCount,0,ByVal‘*DrawastraightlngResult=LineTo(lngScratchPadDC,intCount,NextConstc_Magnification=‘*DrawverticalgridlinesontheForintCount=0To(intEditWidth+1)Step‘*UsetheAPItomovethedrawinglngResult=MoveToEx(lngScratchPadDC,intCount,0,ByVal‘*DrawastraightlngResult=LineTo(lngScratchPadDC,intCount,Next循環(huán)結(jié)束后不要計數(shù)器變量。當(dāng)For...Next循環(huán)結(jié)束時,計數(shù)器變量的最后值不等于endStep的值。如果你希望一個循環(huán)按照規(guī)定的循環(huán)次數(shù)運(yùn)行到結(jié)束,請在循環(huán)結(jié)束之后不要使用計數(shù)器變量。運(yùn)行時,在試圖將輸出放入調(diào)試窗口的語句上會生成一個錯誤。這個錯誤是Error9,即Subscriptoutrange(使用超出范圍),它的發(fā)生是因?yàn)檠h(huán)終止運(yùn)行時intCounter的值實(shí)際上是11(數(shù)組中的最后元素的下標(biāo)是10。PrivateSub‘*Purpose:Fillanarraywithvalues,andprint valueinthelastOnErrorGoToDimintCounter DimaintArray(1To10)As‘*Initializetherandomnumber‘*PopulatethearrayelementswithrandomForintCounter=1To10aintArray(intCounter)=(10*Rnd)+1Next‘*PrintthevalueofthelastDebug.PrintExitCallShowError(Me.Name,“FillArray",Err.Number,GoToEndPrivateSub‘*Purpose:Fillanarraywithvaluesandprint valueinthelastOnErrorGoToDim AsConstc_ArrayMax=Constc_ArrayMin=DimaintArray(c_ArrayMinToc_ArrayMax)As‘*Initializetherandomnumber‘*PopulatethearrayelementswithrandomForintCounter=c_ArrayMinToc_ArrayMaxaintArray(intCounter)=(c_ArrayMax*Rnd)+1Next‘*PrintthevalueofthelastDebug.PrintExitCallShowError(Me.Name,“FillArray",Err.Number,GoToEndConstc_MinPort=Constc_MaxPort=‘*SettheCommportbasedontheselectedoptionForintCounter=c_MinPortTo‘*IfaCommportoptionbuttonisselected,usethatComm‘*andexitthe mPort(intCounter).value=TruemPort=EndIfConstc_MinPort=Constc_MaxPort=‘*SettheCommportbasedontheselectedoptionForintCounter=c_MinPortTo‘*IfaCommportoptionbuttonisselected,usethatComm‘*andexitthe mPort(intCounter).value=TruemPort=EndIfNext為了清楚起見,應(yīng)該對For...Next循環(huán)中的代碼主體語句進(jìn)行縮進(jìn)。每當(dāng)你的代碼結(jié)構(gòu)'*Fillthedateselectioncombobox.ForintYear=1969To2020cboYear.AddItemStr(intYear)Next‘*FillthedateselectioncomboForintYear=1969To2020Next如果你必須提早退出For...Next循環(huán),請使用ExitFor語句。不要使用GoTo和一個標(biāo)注'*Selectthe"unassigned"categorynodeintheTreeviewForlngIndex=1To‘*Checktoseewhetherthisisthe“unassigned”IftreCategory.Nodes(lngIndex).Text=c_strUnassignedtreCategory.Nodes(lngIndex).Selected=‘*Noneedtokeeplooking;getoutoftheGoToEndIf‘*Selectthe“unassigned”categorynodeintheTreeviewForlngIndex=1To‘*Checktoseewhetherthisisthe“unassigned”IftreCategory.Nodes(lngIndex).Text=c_strunassignedtreCategory.Nodes(lngIndex).Selected=‘*Noneedtokeeplooking;getoutoftheEndIfNext使用Do...loop當(dāng)一個循環(huán)開始運(yùn)行時,有時并不知道這個循環(huán)需要運(yùn)行的準(zhǔn)確次數(shù)。你可能啟動一個For...Next循環(huán),并知道它的上限大于它需要重復(fù)運(yùn)行的次數(shù)(如果你知道該值,請查找該循ExitFor語句退出該循環(huán)。不過這樣做的效率極低,常常無法實(shí)現(xiàn),并且明顯是錯的。需要創(chuàng)建一個循環(huán),但是你不知道它要執(zhí)行多少次,那么請使用Do...Loop。Do...Loop結(jié)構(gòu)有著許多不同的形式。最基本的形式采用下面的句法:[statements若要規(guī)定終止Do循環(huán)所需的條件,這通常是在循環(huán)的開始處或結(jié)尾處設(shè)置的。另外,也可以規(guī)定當(dāng)滿足某個條件時使循環(huán)繼續(xù)運(yùn)行,或者等到滿足某個條件時使循環(huán)繼續(xù)運(yùn)行。這些選項(xiàng)使你在編寫循環(huán)代碼時能夠具備更大的靈活性。下面是Do循環(huán)的句法,它使用While關(guān)鍵字DoWhileconditi[statements下面是使用該句法的一個簡單的Do循環(huán)‘*PopulateaTreeviewcontrolwithitemsfromthe‘*codesDoWhileNotSetvntNode=treMarketing.Nodes.Add(intNodeIndex,tvwChild,,rstCodes![MarketingCode],該循環(huán)就繼續(xù)運(yùn)行。請注意,當(dāng)循環(huán)初次啟動時,如果計算的條件值是False,那么Do與LoopUntil關(guān)鍵字用于使Do循環(huán)連續(xù)運(yùn)行,直到滿足一個條件時再終止運(yùn)行。下面的代碼顯示了用Until‘*PopulateaTreeviewcontrolwithitemsfromthe‘*codesDoUntilSetvntNode=treMarketing.Nodes.Add(intNodeIndex,tvwChild,,rstCodes![MarketingCode],這個代碼例子與前面這個代碼的作用完全相同,但是它提供了一個更好的解決方案,因?yàn)樗恍枰箁stCodesEOF的值變反。若要使用DoWhile循環(huán),就必須使用Not可以在Loop語句()中使用While或Until關(guān)鍵字,而不是將它們作為Do語句的一部分。當(dāng)你將它們放入Loop語句中時,條件是在循環(huán)的結(jié)尾處計算,而不是在開始處計算。這可以確保該循環(huán)至少總能執(zhí)行一次。當(dāng)你創(chuàng)建的循環(huán)是在它的結(jié)尾處檢查退出條件時,千萬要謹(jǐn)慎,請看下例:‘*PopulateaTreeviewcontrolwithitemsfromthe‘*codesSetvntNode=treMarketing.Nodes.Add(intNodeIndex,tvwChild,,rstCodes![MarketingCode],LoopUntil請注意,這個代碼非常有可能運(yùn)行失敗。不管記錄集是否位于文件的結(jié)尾,它至少會運(yùn)行一次。當(dāng)循環(huán)啟動時,如果記錄集位于文件的結(jié)尾,那么如果試圖MarketingCode域,就會導(dǎo)致運(yùn)行期錯誤。請使用ExitDo語句。下面這個過程創(chuàng)建了一個不帶ExitDo語句的無限循環(huán)。在每次運(yùn)行該循它刪除。當(dāng)不再能夠找到該字符串時,便退出該循環(huán)。請注意,使用ExitDo語句通常不如將‘*Thevalue“ContactNumber”mightappearmultipletimesinthe‘*box.usealooptoremovealloccurrencesofthisvalue.‘*SelectListItemusestheAPItoperformaquicksearch.lngIndex=SelectListItem(lstAvailableFields,“ContactNumber”)‘*Checktoseewhetherthevalue“ContactNumber”wasfound.IflngIndex>-1‘*Thevaluewasfound;removeitfromthelist.lstAvailableFields.RemoveItemlngIndex‘*Itemnotfound.Alloccurrenceshavebeenremoved,‘*exittheEndIf一般來說,用于確定何時退出循環(huán)的表達(dá)式要使用一個變量,你可以在Do循環(huán)中的某個除非你有理由使用別的操作方法,否則請在循環(huán)的開始處計算Do循環(huán)的退出條件。你常常可以選擇究竟在循環(huán)的開始處還是結(jié)尾處放置退出條件。但是,在循環(huán)的開始處計算退出條件,這樣的循環(huán)比較容易理解,如果退出條件是Fals,那么這些循環(huán)一次也不會執(zhí)行。IfNot(rstReports.EOF)‘*LoopthroughtheRecordsetofreports,addingeachreportto‘*ListViewSetobjItem=objItem.Text=objItem.SmallIcon=LoopUntilrstReports.End‘*LoopthroughtheRecordsetofreports,addingeachreportto‘*ListViewDoUntilSetobjItem=objItem.Text=objItem.SmallIcon=當(dāng)你在While與Until之間進(jìn)行選擇時,請使用能實(shí)現(xiàn)最簡單的條件的這個關(guān)鍵字。在大多數(shù)循環(huán)中,你既可以使用While,也可以使用Until。但是,根據(jù)具體情況,其中的一個關(guān)鍵字(不是另一個關(guān)鍵字)Not運(yùn)算符來計算表達(dá)式的相反值。你應(yīng)該盡可能使用簡單表達(dá)式的值(而不是它的相反值。PrivateSub‘*Purpose:Fillthecontactscomboboxwithall forthecurrentOnErrorGoToDimstrSQL AsStringDimrstContactAsRecordset‘*RetrievethenameofallcontactsforthestrSQL=“SELECT[ContactName]FROMtblContacts“&“WHERE[AccountNumber]=“&m_lngAccountNumber&““&“ORDERBY[ContactSetrstContact=dbSales.OpenRecordset(strSQL,‘*PopulatethecomboDoWhileNot(rstContact.EOF)cboContacts.AddItemrstContact![ContactName]‘*ChecktoseewhetherrstContactissettoan‘*ofaIfNot(rstContactIsNothing)SetrstContact=NothingEndIfExitCallShowError(Me.Name,“cboContacts_Requery",Err.Number,_ResumeEndPrivateSub‘*Purpose:Fillthecontactscomboboxwithall forthecurrentOnErrorGoToDimstrSQL AsStringDimrstContactAsRecordset‘*RetrievethenameofallcontactsforthestrSQL=“SELECT[ContactName]FROMtblContacts“&“WHERE[AccountNumber]=“&m_lngAccountNumber&““&“ORDERBY[ContactSetrstContact=dbSales.OpenRecordset(strSQL,‘*PopulatethecomboDoUntilcboContacts.AddItemrstContact![ContactName]‘*ChecktoseewhetherrstContactissettoan‘*ofaIfNot(rstContactIsNothing)SetrstContact=NothingEndIfExitCallShowError(Me.Name,“cboContacts_Requery",Err.Number,_ResumeEnd盡可能使用Do循環(huán)或For...ext循環(huán),而不要使用Goo和一個標(biāo)注。在許多情況下,你很想用Goo和一個標(biāo)注來創(chuàng)建循環(huán)。但是這種方法創(chuàng)建的循環(huán)很難理解,而運(yùn)行效率往往不高。PrivateFunctionStripDoubleQuotes(ByValstrStringAsString)As‘*Purpose:Locatealldoublequoteswithinastringand themtosingle‘*Accepts:strString-thestringinwhichtosearch double‘*Returns:ThestringpassedhereasstrString,with quotesrecedbysingleConstc_DoubleQuote““““Constc_SingleQuote=“‘“DimintLocationAs‘*LookforadoubleintLocation=InStr(strString,‘*Ifadoublequoteisfound,receitwithasingleIfintLocation>0‘*Adoublequotehasbeenfound.Receit‘*asingleMid$(strString,intLocation,1)=‘*LookforanotherdoubleGoTo‘*Nomoredoublequoteswerefound.Returnthenewstring.StripDoubleQuotes=strStringEndEndPrivateFunctionStripDoubleQuotes(ByValstrStringAsString)As‘*Purpose:Locatealldoublequoteswithinastringand themtosingle‘*Accepts:strString-thestringinwhichtosearch double‘*Returns:ThestringpassedhereasstrString,with quotesrecedbysingleConstc_DoubleQuote=""""Constc_SingleQuote="'"DimintLocationAsInteger‘*LookforadoubleintLocation=InStr(strString,‘*Ifadoublequoteisfound,receitwithasingleIfintLocation>0‘*Adoublequotehasbeenfound.Receit‘*asingleMid$(strString,intLocation,1)=EndLoopWhileintLocation>‘*ReturntheStripDoubleQuotes=End用Do...Loop取代While...Wend循環(huán)已經(jīng)們使用了很長的時間,它早就過時了。Do...Loop具有更大的靈活性,因此你應(yīng)該改用Do...Loop循環(huán)(另外,Wend聽起來讓人感到很奇怪。While...Wend循WhileconditiWhile...Wend循環(huán)的運(yùn)行特性與下面這個Do循環(huán)完DoWhileconditi[statements關(guān)于While...end循環(huán)沒有東西要講了。它的退出條件是在循環(huán)開始時計算的,如果計算的條件是True,那么While...Wend循環(huán)中的代碼就執(zhí)行。當(dāng)執(zhí)行到end語句時,代碼就回到WhileForEach...Next循環(huán)是個功能強(qiáng)大的循環(huán),而編程員卻常常并不重視它們。它能夠循環(huán)運(yùn)行一個數(shù)組或?qū)ο蠹系乃谐蓡T。將ForEach...Next循環(huán)用于對象集合的許多編程員并不知道它也可以用于數(shù)組,這是幸運(yùn)的,因?yàn)閷orEach...Next用于數(shù)組會導(dǎo)致代碼運(yùn)行速度明顯ForEach...Next須是ariant、Object或某些特定的對象類型,然后啟動該循環(huán)。在每次運(yùn)行該循環(huán)時,你的單元變量便對象集合的一個元素。對元變量進(jìn)的操作,就能直接操作合中的該元素。使用ForEach...Next循環(huán)時的運(yùn)行速度往往比使用For...NextFo...Nex下面是ForEach...NextForEachelementIn[statements][ExitFor][statementsNext[element你定義的單元變量必須使用Variant或Object(通用或)數(shù)據(jù)類型。應(yīng)該使用最適合(集合)中的所有對象的特定對象類型。例如,當(dāng)你循環(huán)運(yùn)行窗體上的Controls(控件)集合時,可以使用ariant、Object或Control作為數(shù)據(jù)類型。但是,除非你能確保窗體上只有特定類型的控件,否則就不能使用 、 或 boBox數(shù)據(jù)類型。因此你的合乎邏輯的選擇是Control(控件)數(shù)據(jù)類型。PublicPropertyGetSpecialIsFormDirty(frmFormAsForm)AsBoolean‘*Purpose:Determinewhetheranyofthedataontheformhas ‘*Accepts:frmForm-thenameoftheformto‘*Returns:Trueifevenonecontrol’s hanged isTrue;otherwise‘* :Errorsaretrappedbecauseattemptingto theD hangedpropertyofacontrolthatdoesn’t haveone(suchasaFrame)causesarun-timeerror.OnErrorResumeNextDimintIndex AsIntegerDim AsConstc_NoSuchProperty=Constc_NoError=‘*AssumethattheformisSpecialIsFormDirty=‘*LoopthroughallcontrolsontheForintIndex=0TofrmForm.Controls.Count-1 hanged= ‘*Determinethetypeoferror(ifany)thatwasSelectCaseCaseIs=‘*Thiscontrolhasa hangedIf hangedThenGoToCaseIs=‘*Thiscontroldoesnothavea hangedCase‘*Legitimateerror.SendtoerrorGoToEndSelectNextSpecialIsFormDirty=ExitCallShowError(“clsApplication",“Get_IsFormDirty",Err.Number,_GoToEndPublicPropertyGetSpecialIsFormDirty(frmFormAsForm)AsBoolean‘*Purpose:Determinewhetheranyofthedataontheformhas ‘*Accepts:frmForm-thenameoftheformto‘*Returns:Trueifevenonecontrol’s hanged isTrue;otherwise‘* :Errorsaretrappedbecauseattemptingto theD hangedpropertyofacontrolthatdoesn’t haveone(suchasaFrame)causesarun-timeerror.OnErrorResumeNextDim AsDim AsConstc_NoSuchProperty=Constc_NoError=‘*AssumethattheformisSpecialIsFormDirty=‘*LoopthroughallcontrolsontheForEachctlIn‘*Resettheerror hanged= ‘*Determinethetypeoferror(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論