麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

遞歸過程在VB中的應用實例

2019-11-18 17:52:07
字體:
來源:轉載
供稿:網友

 簡言之,遞歸過程就是子程序自己調用自己。在編程有時采用遞歸的思路進行編程往往能夠起到事半功倍的作用。

  Win95的資源管理器具有界面直觀、操作簡便的特點,深受廣大電腦愛好者的歡迎和喜愛。

  下面就采用遞歸過程模擬Windows的資源管理器。

  遞歸過程實現的思路:

  由于磁盤上的目錄是樹形結構,而樹形的節點和節點級數是不受限定的,如把目錄名放入一維或多維數組中則難度較大,不易實現。如采用VB的TreeView控件的Node對象,那就比較方便了。編一子程序,給定目錄,并建立當前節點,加入Node對象中,根據Dir1控件判斷給定目錄下是否有下級目錄,如有,添加下級節點,并加入Node對象中;如無則退出子程序。即子程序的功能是:如給定目錄有子目錄存在,則展開當前目錄求子目錄。如果在給定目錄展開完成后,把下級目錄當成給定目錄,并調用子程序進行展開,即可把給定目錄下的數級子目錄全部展開完畢。

  利用VB提供的TreeView控件完全可以把磁盤上的目錄(包括子目錄)放入Node對象中,其界面具有資源管理器的特點。把磁盤上的目錄放入Node對象有多種方法,應該說采用遞歸方法是比較簡潔的。

  實現的過程:

  1、添加TreeView控件到窗體中:單擊—“工程”—“部件”,選擇MicrosoftWindows

CommonControl5.0”復選框,單擊—“確定“按鈕,TreeView控件即可出現在工具箱中。

  2、在窗體中添加Drive、DirListBox、ImageList控件。

  3、控件名及主要屬性如下:

-width="23">控件及窗體名->-width="11">屬性->-width="16">設置值->-width="50">備注->-width="23">Form->-width="11">Name->-width="16">Form1->-width="50">->-width="23">TreeView->-width="11">Name->-width="16">TreeView->-width="50">->-width="23">Drive->-width="11">Name->-width="16">Drive1->-width="50">獲得當前電腦的盤符->-width="23">DirListBox->-width="11">Name->-width="16">Dir1->-width="50">->-width="23">ImageList->-width="11">Name->-width="16">ImageList->-width="50">給TreeView1的Node對象圖標->
  實現的源程序如下:->

DimnodxAsNode

Drive1.List(DriverCount),1)

GivePath=Drive1.List(DriverCount) "/"

CallSSplitNode(GivePath)

NextDriverCount

EndSub

SubSSplitNode(GivePathAsString)‘子過程

'把給定目錄下的子目錄全部加入Node對象中

DimSDIAsInteger

DimSDCountAsInteger

DimDString(1000)AsString

‘以下為展開給定目錄的下級子目錄

Dir1.Path=GivePath‘給定目錄

SDCount=Dir1.ListCount‘利用Dir1控件判斷是否有下級目錄

IfSDCount=0ThenExitSub

‘如無同退出子程序,即為遞歸出口。否則會形成死循環。

ForSDI=0ToSDCount-1

DString(SDI)=Dir1.List(SDI)

Setnodx=TreeView1.Nodes.Add(GivePath,tvwChild,_

DString(SDI),FOnlyPath(DString(SDI)),1)

NextSDI

‘調用遞歸(子程序自己調用自己)

ForSDI=0ToSDCount-1

CallSSplitNode(DString(SDI))

NextSDI

EndSub

FunctionFOnlyPath(DStringAsString)AsString

'功能是去掉上級目錄,只留下當前目錄名

'DString為給定的全路徑目錄名

IfDString=""ThenExitFunction

DimDLengthAsInteger

DLength=Len(DString)

DimDDAsInteger

ForDD=DLengthTo1Step-1

IfMid(DString,DD,1)="/"ThenExitFor

NextDD

FOnlyPath=Mid(DString,DD 1)

EndFunction

->

  本程序在Win95,VB5.0中文版下通過。

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色免费在线视频网站 | 亚洲成人免费视频在线 | 黄色av免费电影 | 久久国产免费 | 在线天堂中文字幕 | www日韩大片 | 久久精品2019中文字幕 | 久久亚洲视频网 | 国产人成精品一区二区三 | 国产精品剧情一区二区在线观看 | 激情影院在线观看 | 孕妇体内谢精满日本电影 | 特黄一级小说 | 欧美高清另类自拍视频在线看 | 91色一区二区三区 | 激情网站视频 | 在线亚洲欧美 | 国产成人精品免费视频大全最热 | 国产成人在线观看免费网站 | 亚洲精品久久久久www | 色欧美视频 | 黄wwww| 姑娘第四集免费看视频 | 成人福利视频网站 | 激情小说激情图片激情电影 | 亚洲成a人在线 | 欧产日产国产精品v | 在线播放亚洲视频 | 人人玩人人爽 | 伊人网站 | 激情小说激情图片激情电影 | 一夜新娘第三季免费观看 | 毛片a级毛片免费播放100 | 国产精品视频海角社区88 | 亚洲一区二区免费 | 成人一级黄色片 | 国产人成免费爽爽爽视频 | 亚洲精品无码不卡在线播放he | 久久影院国产精品 | 青草久久久久 | 成人精品一区二区 |