欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      VB遍歷文件目錄的實(shí)現(xiàn)方法總結(jié)

      時(shí)間:2019-05-12 13:36:50下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《VB遍歷文件目錄的實(shí)現(xiàn)方法總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《VB遍歷文件目錄的實(shí)現(xiàn)方法總結(jié)》。

      第一篇:VB遍歷文件目錄的實(shí)現(xiàn)方法總結(jié)

      VB遍歷文件目錄的實(shí)現(xiàn)方法總結(jié)

      2009-04-25 20:44VB遍歷文件夾的實(shí)現(xiàn)方法總結(jié)一共三種,如下: 使用FSO對(duì)象模型

      '=============================== '描述:需要Scripting類型庫(Scrrun.dll)支持。實(shí)際使用時(shí)需要引用Microsoft Scripting Runtime '優(yōu)點(diǎn):測試當(dāng)中沒有錯(cuò)誤??梢詸z測隱藏文件。

      '示例:一個(gè)文本標(biāo)簽、一個(gè)ListBox、一個(gè)命令按鈕。都取默認(rèn)名稱即可

      '=============================== Dim fso As New FileSystemObject Dim fld As Folder

      Private Sub Command1_Click()

      Dim nDirs As Long, nFiles As Long, lSize As Currency

      Dim sDir As String, sSrchString As String

      sDir = InputBox(“Type the directory that you want to search for”, _

      “FileSystemObjects example”, “C:”)

      sSrchString = InputBox(“Type the file name that you want to search for”, _

      “FileSystemObjects example”, “vb.ini”)

      MousePointer = vbHourglass

      Label1.Caption = “Searching ” & vbCrLf & UCase(sDir)& “...”

      lSize = FindFile(sDir, sSrchString, nDirs, nFiles)

      MousePointer = vbDefault

      MsgBox Str(nFiles)& “ files found in” & Str(nDirs)& _

      “ directories”, vbInformation

      MsgBox “Total Size = ” & lSize & “ bytes” End Sub

      Private Function FindFile(ByVal sFol As String, sFile As String, _

      nDirs As Long, nFiles As Long)As Currency

      Dim tFld As Folder, tFil As File, FileName As String

      On Error GoTo Catch

      Set fld = fso.GetFolder(sFol)

      FileName = Dir(fso.BuildPath(fld.Path, sFile), vbNormal Or _

      vbHidden Or vbSystem Or vbReadOnly)

      While Len(FileName)<> 0

      FindFile = FindFile + FileLen(fso.BuildPath(fld.Path, _

      FileName))

      nFiles = nFiles + 1

      List1.AddItem fso.BuildPath(fld.Path, FileName)' Load ListBox

      FileName = Dir()' Get next file

      DoEvents

      Wend

      Label1 = “Searching ” & vbCrLf & fld.Path & “...”

      nDirs = nDirs + 1

      If fld.SubFolders.Count > 0 Then

      For Each tFld In fld.SubFolders

      DoEvents

      FindFile = FindFile + FindFile(tFld.Path, sFile, nDirs, nFiles)

      Next

      End If

      Exit Function Catch: FileName = “"

      Resume Next End Function Api方法

      '================================== '描述:使用Api。

      '備注:使用過程中出現(xiàn)錯(cuò)誤。未加分析。忽略錯(cuò)誤即可。'

      可查看隱藏文件。

      '示例:2個(gè)listbox、2個(gè)命令按鈕、6個(gè)文本框、一個(gè)模塊

      =================================== '模塊代碼

      Option Explicit

      Declare Function FindFirstFile Lib ”kernel32“ Alias _

      ”FindFirstFileA“(ByVal lpFileName As String, lpFindFileData _

      As WIN32_FIND_DATA)As Long

      Declare Function FindNextFile Lib ”kernel32“ Alias ”FindNextFileA“ _

      (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA)As Long

      Declare Function GetFileAttributes Lib ”kernel32“ Alias _

      ”GetFileAttributesA“(ByVal lpFileName As String)As Long

      Declare Function FindClose Lib ”kernel32“(ByVal hFindFile As Long)_

      As Long

      Declare Function FileTimeToLocalFileTime Lib ”kernel32“ _

      (lpFileTime As FILETIME, lpLocalFileTime As FILETIME)As Long

      Declare Function FileTimeToSystemTime Lib ”kernel32“ _

      (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME)As Long

      Public Const MAX_PATH = 260

      Public Const MAXDWORD = &HFFFF

      Public Const INVALID_HANDLE_VALUE =-1

      Public Const FILE_ATTRIBUTE_ARCHIVE = &H20

      Public Const FILE_ATTRIBUTE_DIRECTORY = &H10

      Public Const FILE_ATTRIBUTE_HIDDEN = &H2

      Public Const FILE_ATTRIBUTE_NORMAL = &H80

      Public Const FILE_ATTRIBUTE_READONLY = &H1

      Public Const FILE_ATTRIBUTE_SYSTEM = &H4

      Public Const FILE_ATTRIBUTE_TEMPORARY = &H100

      Type FILETIME

      dwLowDateTime As Long

      dwHighDateTime As Long

      End Type

      Type WIN32_FIND_DATA

      dwFileAttributes As Long

      ftCreationTime As FILETIME

      ftLastAccessTime As FILETIME

      ftLastWriteTime As FILETIME

      nFileSizeHigh As Long

      nFileSizeLow As Long

      dwReserved0 As Long

      dwReserved1 As Long

      cFileName As String * MAX_PATH

      cAlternate As String * 14

      End Type

      Type SYSTEMTIME

      wYear As Integer

      wMonth As Integer

      wDayOfWeek As Integer

      wDay As Integer

      wHour As Integer

      wMinute As Integer

      wSecond As Integer

      wMilliseconds As Integer

      End Type

      Public Function StripNulls(OriginalStr As String)As String

      If(InStr(OriginalStr, Chr(0))> 0)Then

      OriginalStr = Left(OriginalStr, _

      InStr(OriginalStr, Chr(0))1

      FindFilesAPI = FindFilesAPI + FindFilesAPI(path & dirNames(i)_

      & ”“, SearchStr, FileCount, DirCount)

      Next i

      End If

      End Function

      Private Sub Command1_Click()

      On Error Resume Next

      Dim SearchPath As String, FindStr As String

      Dim FileSize As Long

      Dim NumFiles As Integer, NumDirs As Integer

      Screen.MousePointer = vbHourglass

      List1.Clear

      SearchPath = Text1.Text

      FindStr = Text2.Text

      FileSize = FindFilesAPI(SearchPath, FindStr, NumFiles, NumDirs)

      Text3.Text = NumFiles & ” Files found in “ & NumDirs + 1 & _

      ” Directories“

      Text4.Text = ”Size of files found under “ & SearchPath & ” = “ & _

      Format(FileSize, ”#,###,###,##0“)& ” Bytes“

      Screen.MousePointer = vbDefault

      End Sub

      Function FindFiles(path As String, SearchStr As String, _

      FileCount As Integer, DirCount As Integer)

      Dim FileName As String

      ' Walking filename variable.Dim DirName As String

      ' SubDirectory Name.Dim dirNames()As String ' Buffer for directory name entries.Dim nDir As Integer

      ' Number of directories in this path.Dim i As Integer

      ' For-loop counter.On Error GoTo sysFileERR

      If Right(path, 1)<> ”“ Then path = path & ”“

      ' Search for subdirectories.nDir = 0

      ReDim dirNames(nDir)

      DirName = Dir(path, vbDirectory Or vbHidden Or vbArchive Or vbReadOnly _ Or vbSystem)' Even if hidden, and so on.Do While Len(DirName)> 0

      ' Ignore the current and encompassing directories.If(DirName <> ”.“)And(DirName <> ”..“)Then

      ' Check for directory with bitwise comparison.If GetAttr(path & DirName)And vbDirectory Then

      dirNames(nDir)= DirName

      DirCount = DirCount + 1

      nDir = nDir + 1

      ReDim Preserve dirNames(nDir)

      'List2.AddItem path & DirName ' Uncomment to list

      End If

      ' directories.sysFileERRCont:

      End If

      DirName = Dir()' Get next subdirectory.Loop

      ' Search through this directory and sum file sizes.FileName = Dir(path & SearchStr, vbNormal Or vbHidden Or vbSystem _

      Or vbReadOnly Or vbArchive)

      While Len(FileName)<> 0

      FindFiles = FindFiles + FileLen(path & FileName)

      FileCount = FileCount + 1

      ' Load List box

      List2.AddItem path & FileName & vbTab & _

      FileDateTime(path & FileName)

      ' Include Modified Date

      FileName = Dir()' Get next file.Wend

      ' If there are sub-directories..If nDir > 0 Then

      ' Recursively walk into them

      For i = 0 To nDir” & Err.Description, , _

      “Unexpected Error”

      Resume AbortFunction

      End If

      End Function

      Private Sub Command2_Click()

      On Error Resume Next

      Dim SearchPath As String, FindStr As String

      Dim FileSize As Long

      Dim NumFiles As Integer, NumDirs As Integer

      Screen.MousePointer = vbHourglass

      List2.Clear

      SearchPath = Text1.Text

      FindStr = Text2.Text

      FileSize = FindFiles(SearchPath, FindStr, NumFiles, NumDirs)

      Text5.Text = NumFiles & “ Files found in ” & NumDirs + 1 & _

      “ Directories”

      Text6.Text = “Size of files found under ” & SearchPath & “ = ” & _

      Format(FileSize, “#,###,###,##0”)& “ Bytes”

      Screen.MousePointer = vbDefault

      End Sub

      Private Sub Form_Load()

      Command1.Caption = “Use API code”

      Command2.Caption = “Use VB code”

      ' start with some reasonable defaults

      Text1.Text = “C:My Documents”

      Text2.Text = “*.*”

      End Sub 使用系統(tǒng)控件

      '=================================== '描述:簡單易于實(shí)現(xiàn)

      '

      不可查看隱藏文件

      '示例:一個(gè)目錄操作經(jīng)典三聯(lián)組合。一個(gè)命令按鈕。

      '===================================

      Private Sub Command1_Click()List1.Clear sosuofile(Dir1.List(Dir1.ListIndex))MsgBox “搜索完畢!,共找到” + Str(List1.ListCount)+ “條記錄?!? vbOKOnly + vbExclamation, “提示” End Sub

      Private Sub Drive1_Change()Dir1.Path = Drive1.Drive End Sub Sub sosuofile(MyPath As String)Dim Myname As String Dim dir_i()As String Dim i, idir As Long If Right(MyPath, 1)<> “" Then MyPath = MyPath + ”“ Myname = Dir(MyPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)Do While Myname <> ”“ If Myname <> ”.“ And Myname <> ”.." Then If(GetAttr(MyPath & Myname)And vbDirectory)= vbDirectory Then '如果找到的是目錄 idir = idir + 1 ReDim Preserve dir_i(idir)As String dir_i(idir1 Call sosuofile(MyPath + dir_i(i))Next i ReDim dir_i(0)As String End Sub

      第二篇:vb程序設(shè)計(jì)方法

      發(fā)表于《中小學(xué)信息技術(shù)教育》雜志2005年第7期 VB程序設(shè)計(jì)方法——今天我來做導(dǎo)演!

      教學(xué)目標(biāo):

      1、知道創(chuàng)建一個(gè)VB程序的基本步驟

      2、了解窗口、事件和消息的含義

      3、培養(yǎng)學(xué)生的自主探究精神

      教學(xué)重點(diǎn)和難點(diǎn):

      1、窗口,事件和消息的關(guān)系

      2、屬性的設(shè)置

      3、代碼的輸入

      學(xué)生分析:

      高一學(xué)生,已經(jīng)學(xué)習(xí)了程序的三種基本結(jié)構(gòu),能辨別三種結(jié)構(gòu),但不會(huì)自己書寫程序。對(duì)VB基本上一無所知。

      教學(xué)方法:

      采用主動(dòng)式任務(wù)驅(qū)動(dòng)的教學(xué)方法,通過創(chuàng)設(shè)情境,激發(fā)學(xué)生對(duì)VB的興趣,使學(xué)生產(chǎn)生動(dòng)手做一個(gè)VB程序的欲望.在布置任務(wù)的時(shí)候,不是教師指定完成什么任務(wù),而是由學(xué)生自己提出想完成一個(gè)樣的任務(wù),即想做一個(gè)什么樣的VB程序,因?yàn)槿蝿?wù)是學(xué)生自己提出來的,所以學(xué)生肯定感興趣的,這就避免了教師布置的任務(wù)不能照顧到全體學(xué)生裝的弊端.而教師作為引導(dǎo)者和技術(shù)幫助者,幫助學(xué)生一步步地完成任務(wù),引導(dǎo)學(xué)生分解任務(wù),分解為界面的創(chuàng)建,屬性的設(shè)置,代碼的輸入等幾部分。在實(shí)踐過程中,使學(xué)生掌握用VB進(jìn)行程序設(shè)計(jì)的步驟和方法。

      教學(xué)過程:

      一、激趣引入

      師:上節(jié)課中我們演示了一個(gè)拋硬幣的VB小程序,大家還有印象嗎?(教師演示這個(gè)程序)師:下面我再來演示幾個(gè)其他VB小程序(教師演示若干個(gè)趣味小程序,如,和劉德華對(duì)話,井字棋,心情好嗎,挖地雷,單選復(fù)選框與字體,測驗(yàn)記憶力,彈球游戲,剪刀包袱,在演示過程中,讓學(xué)生注意鼠標(biāo)單擊按鈕,或者鼠標(biāo)移動(dòng),窗口上會(huì)有什么反應(yīng))

      師:窗口——舞臺(tái),事件——導(dǎo)演的命令,反應(yīng)——演員的表演,控件——演員(以對(duì)比方式說明它們之間的關(guān)系,讓學(xué)生明白,需要哪個(gè)演員(控件)作出什么表演,要對(duì)這個(gè)演員(控件)發(fā)號(hào)施令,導(dǎo)演不能瞎指揮,不然表演要亂套的。)

      師:有了舞臺(tái),演員,導(dǎo)演在哪兒呢?導(dǎo)演就是你!今天就是請(qǐng)大家當(dāng)一回導(dǎo)演(出示課題:今天你來做導(dǎo)演?。┮鈭D:

      1、在演示過程中,提醒學(xué)生注意窗口,事件(點(diǎn)擊按鈕或移動(dòng)按鈕),消息(事件的反應(yīng))。

      2、激發(fā)學(xué)生的興趣,產(chǎn)生自己動(dòng)手做一個(gè)VB程序的欲望。

      二、形成任務(wù) 大屏幕展示:

      一、確定導(dǎo)演的工作目標(biāo),即你想要完成一個(gè)什么樣的VB程序?

      老師引導(dǎo),啟發(fā)學(xué)生,使每個(gè)學(xué)生能確定自己的目標(biāo),即要完成一個(gè)什么樣的VB程序,即名稱是什么?功能是什么?……。(對(duì)于不能確定的學(xué)生,建議參考老師演示的例子,從中選擇一個(gè)自己感興趣的)

      意圖:這是很重要的一個(gè)過程,要很好地引導(dǎo)學(xué)生,使學(xué)生清楚地知道自己的任務(wù),即自己要做什么?

      三、分解任務(wù)

      (以演示中的一個(gè)小例子,來說明如何完成一個(gè)VB程序)大屏幕展示:

      二、導(dǎo)演如何完成任務(wù)?

      師:導(dǎo)演正式上任了,大家都胸有成竹了,明確了要做一個(gè)什么樣的VB程序,首先做什么呢?

      1、界面的設(shè)計(jì)(舞臺(tái)的布置)師:一個(gè)程序,你最先看到是什么?

      師:舞臺(tái)如何布局?演員如何選取?窗口如何布局?上面要放哪些東西?這些東西怎么放比較好看?……

      意圖:引導(dǎo)學(xué)生從界面設(shè)計(jì)入手,學(xué)會(huì)用控件來輸入文字,圖片,通過對(duì)文字的修飾,圖片的插入,引入屬性的設(shè)置,突破這個(gè)難點(diǎn)。

      2、如何讓對(duì)象動(dòng)起來?

      師:窗口布置好了,舞臺(tái)拱建好了,演員也到位了,那么讓演員如何表演呢?每個(gè)演員做什么動(dòng)作呢?導(dǎo)演發(fā)布命令的時(shí)候(輸入代碼)的時(shí)候,一定要看清對(duì)象,不要亂發(fā)命令啊!意圖:

      引入代碼的輸入。為節(jié)省時(shí)間,提供演示程序的代碼,避免自己書寫代碼。

      四、動(dòng)手實(shí)踐

      師:各位躍躍欲試的導(dǎo)演們,按照自己剛才確定的任務(wù),動(dòng)手來完成自己的第一個(gè)VB小程序吧!可能問題:

      有些學(xué)生在輸入代碼的時(shí)候,為分不清代碼需要給哪個(gè)控件加上,這時(shí)一定要讓學(xué)生明白,導(dǎo)演的指令必須是針對(duì)某個(gè)演員發(fā)的,不能亂發(fā)。對(duì)于學(xué)生碰到的問題,老師做好技術(shù)指導(dǎo)工作。

      五、評(píng)價(jià)交流(展示學(xué)生作品,交流評(píng)價(jià))

      師:不同風(fēng)格的導(dǎo)演設(shè)計(jì)的效果是不同的,讓我們來欣賞一下各位導(dǎo)演的作品吧 意圖:

      通過電子教室軟件,轉(zhuǎn)發(fā)一些小組完成的作品,能過交流了解其他同學(xué)的制作成果,吸取他人經(jīng)驗(yàn)

      提醒學(xué)生在程序中加入制作人信息,即導(dǎo)演的信息,有初步的版權(quán)意識(shí)

      有些學(xué)生可能設(shè)計(jì)的任務(wù)比較大,在課內(nèi)無法完成,則鼓勵(lì)在課后繼續(xù)完成,作為拓展作業(yè)。

      五、總結(jié)

      師:各位導(dǎo)演感覺如何?做一個(gè)導(dǎo)演不容易吧,做一個(gè)好的導(dǎo)演更不容易。創(chuàng)建一個(gè)VB程序的基本步驟:界面設(shè)計(jì),屬性設(shè)置,代碼輸入。

      導(dǎo)演有大有小,但是基本工作是一樣的,就是上面這些步驟,今天我們是小導(dǎo)演,明天我們可能是大導(dǎo)演,期待欣賞到同學(xué)們的大作!意圖:回顧過程,總結(jié)提高。

      附:學(xué)案

      今天我來做導(dǎo)演

      ——VB程序設(shè)計(jì)方法

      一、明確目標(biāo)

      身為導(dǎo)演,最重要的一件事,就是明確自己的目標(biāo),請(qǐng)確定你的目標(biāo),即你想做個(gè)什么樣的VB程序?

      提示:如果一時(shí)之間想不出來,可以參考老師演示的例子

      二、設(shè)計(jì)舞臺(tái)(界面的布局)

      1、如果你想在窗口上輸入文字,方法如下:

      (1)用鼠標(biāo)選擇左邊工具欄中的“LABEL”標(biāo)簽

      (2)在窗口上拖出一個(gè)大小合適的矩形(矩形的大小可以用矩形邊上的八個(gè)小方塊進(jìn)行調(diào)整)

      2、如果你想插入一張圖片,方法如下:

      (1)用鼠標(biāo)選擇左邊工具欄中的“IMAGES”標(biāo)簽

      (2)在窗口上拖出一個(gè)大小合適的矩形

      3、如果你想在窗口上增加一個(gè)按鈕,方法如下:

      (1)用鼠標(biāo)選擇左邊工具欄中的“BUTTON”標(biāo)簽

      (2)在窗口上拖出一個(gè)大小合適的矩形

      4、如果你想在窗口上增加一個(gè)文本框,方法如下:

      (1)用鼠標(biāo)選擇左邊工具欄中的“TEXT”標(biāo)簽

      (2)在窗口上拖出一個(gè)大小合適的矩形

      :),增加其他控件的方法類似,相信自己,試一試!

      三、對(duì)演員進(jìn)行分工(屬性的設(shè)置)

      1、如何在窗口上顯示文字?

      方法如下:

      (1)用鼠標(biāo)選中Label控件

      (2)在右邊的屬性窗口中找到“Caption”屬性,在右邊輸入要顯示的文字 思考:如何修改文字的字體?顏色?大小? 提示:修改相應(yīng)的屬性

      2、如何插入圖片?

      方法如下:

      (1)用鼠標(biāo)選中Image控件

      (2)在右邊的屬性窗口中找到“Picture”屬性,點(diǎn)擊旁邊的省略號(hào)按鈕,選擇要插入的圖片

      3、如何修改Text顯示的文字? 方法如下:

      (1)用鼠標(biāo)選中Text控件

      (2)在右邊鼠性中選中Text屬性,輸入要顯示的文字

      4、如何修改按鈕上顯示的文字? 方法如下:

      選中按鈕,修改“Caption”屬性

      四、讓演員動(dòng)起來(輸入代碼)選擇演員,輸入想要演員實(shí)現(xiàn)的代碼

      五、檢查一下導(dǎo)演工作進(jìn)展如何? 方法: 運(yùn)行、播放

      六、你是個(gè)合格的導(dǎo)演?還是個(gè)優(yōu)秀的導(dǎo)演?

      1、你知道如何做一個(gè)VB程序了嗎?(知道/不知道)

      2、你是個(gè)合格的/優(yōu)秀的導(dǎo)演?(是/不是)

      第三篇:黑馬程序員C語言教程:Linux 文件目錄樹的遍歷

      Linux 文件目錄樹的遍歷

      1. linux提供opendir、readdir(readdir_r)、closedir和scandir等接口實(shí)現(xiàn)對(duì)目錄的讀??;

      2. readdir返回指向下一個(gè)目錄項(xiàng)的指針,如果要自己傳入緩沖區(qū)存儲(chǔ)目錄項(xiàng),應(yīng)使用readdir_r代替。readdir的結(jié)果中包含當(dāng)前目錄和上一級(jí)目錄的目錄項(xiàng)信息。

      3. 在遍歷過程中,進(jìn)程的工作目錄不會(huì)改變,在遞歸遍歷的時(shí)候,需要改變工作目錄(chdir)以識(shí)別相對(duì)路徑,或者每次都限定全局路徑。

      4. 深度優(yōu)先遍歷目錄樹采用遞歸實(shí)現(xiàn)易編碼(參見如下代碼),廣度優(yōu)先遍歷則需借助隊(duì)列實(shí)現(xiàn)。當(dāng)目錄下的文件數(shù)量較少時(shí),采用廣度優(yōu)先遍歷效率會(huì)更高,因目錄下的目錄項(xiàng)基本都是連續(xù)存放,減少了很多磁盤尋道;而采用深度優(yōu)先遍歷,結(jié)果的聚合性更高

      1.int dir_traverse(const char *dir_name)2.{

      3.DIR *dirp = opendir(dir_name);4.if(!dirp){

      5.perror(“opendir”);6.return-1;7.} 8.9.struct stat st;10.struct dirent *dir;11.char fullpath[FILENM_MAX];

      12.while((dir = readdir(dirp))!= NULL){

      13.if(!strcmp(dir->d_name, “.”)|| // 考慮當(dāng)前目錄和上級(jí)目錄,否則會(huì)死循環(huán) 14.!strcmp(dir->d_name, “..”)){ 15.continue;16.}

      17.18.sprintf(fullpath, “%s/%s”, dir_name, dir->d_name);//獲取全局路徑 19.printf(“%sn”, fullpath);// 打印路徑 20.if(lstat(fullpath, &st)< 0){ 21.perror(“l(fā)stat”);22.continue;23.}

      24.if(S_ISDIR(st.st_mode)){

      25.dir_traverse(fullpath);// 遞歸遍歷子目錄 26.} 27.28.} 29.30.closedir(dirp);31.32.return 0;33.}

      訪問目錄下某個(gè)文件時(shí),需要逐個(gè)讀取目錄數(shù)據(jù)中的目錄項(xiàng)并與目標(biāo)進(jìn)行匹配獲得文件的inode號(hào),假設(shè)文件的平均長度為10byte,加上inode、type及reclen等信息,每個(gè)目錄項(xiàng)的平均長度為16byte,假設(shè)采用4K的數(shù)據(jù)塊,則一個(gè)塊可以存放256個(gè)目錄項(xiàng),按照ext2文件數(shù)據(jù)索引的方式,當(dāng)目錄下文件數(shù)n少于256*12時(shí),則在目錄下查找文件最多需要訪問n/256(向上取整)個(gè)數(shù)據(jù)塊,當(dāng)目錄下文件數(shù)更多的時(shí)候,需要訪問的塊數(shù)會(huì)更快的增加(后面得到存儲(chǔ)數(shù)據(jù)的物理塊號(hào)需要多級(jí)索引),這也是在目錄下不應(yīng)放太多文件的原因,如果將擁有很多文件的目錄均分成多個(gè)子目錄,多一級(jí)目錄會(huì)多一次(或多次,具體依賴于子目錄下文件數(shù)量)磁盤塊訪問,但在子目錄中查找文件的磁盤訪問開銷會(huì)小很多。

      第四篇:數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告-二叉樹的實(shí)現(xiàn)與遍歷

      《數(shù)據(jù)結(jié)構(gòu)》 第六次實(shí)驗(yàn)報(bào)告

      學(xué)生姓名 學(xué)生班級(jí) 學(xué)生學(xué)號(hào) 指導(dǎo)老師

      重慶郵電大學(xué)計(jì)算機(jī)學(xué)院 計(jì)算機(jī)專業(yè)實(shí)驗(yàn)中心

      一、實(shí)驗(yàn)內(nèi)容

      1)采用二叉樹鏈表作為存儲(chǔ)結(jié)構(gòu),完成二叉樹的建立,先序、中序和后序以及按層次遍歷的操作,求所有葉子及結(jié)點(diǎn)總數(shù)的操作。2)輸出樹的深度,最大元,最小元。

      二、需求分析

      遍歷二叉樹首先有三種方法,即先序遍歷,中序遍歷和后序遍歷。遞歸方法比較簡單,首先獲得結(jié)點(diǎn)指針如果指針不為空,且有左子,從左子遞歸到下一層,如果沒有左子,從右子遞歸到下一層,如果指針為空,則結(jié)束一層遞歸調(diào)用。直到遞歸全部結(jié)束。下面重點(diǎn)來講述非遞歸方法: 首先介紹先序遍歷:

      先序遍歷的順序是根 左 右,也就是說先訪問根結(jié)點(diǎn)然后訪問其左子再然后訪問其右子。具體算法實(shí)現(xiàn)如下:如果結(jié)點(diǎn)的指針不為空,結(jié)點(diǎn)指針入棧,輸出相應(yīng)結(jié)點(diǎn)的數(shù)據(jù),同時(shí)指針指向其左子,如果結(jié)點(diǎn)的指針為空,表示左子樹訪問結(jié)束,棧頂結(jié)點(diǎn)指針出棧,指針指向其右子,對(duì)其右子樹進(jìn)行訪問,如此循環(huán),直至結(jié)點(diǎn)指針和棧均為空時(shí),遍歷結(jié)束。

      再次介紹中序遍歷:

      中序遍歷的順序是左 根 右,中序遍歷和先序遍歷思想差不多,只是打印順序稍有變化。具體實(shí)現(xiàn)算法如下:如果結(jié)點(diǎn)指針不為空,結(jié)點(diǎn)入棧,指針指向其左子,如果指針為空,表示左子樹訪問完成,則棧頂結(jié)點(diǎn)指針出棧,并輸出相應(yīng)結(jié)點(diǎn)的數(shù)據(jù),同時(shí)指針指向其右子,對(duì)其右子樹進(jìn)行訪問。如此循環(huán)直至結(jié)點(diǎn)指針和棧均為空,遍歷結(jié)束。最后介紹后序遍歷:

      后序遍歷的順序是左 右 根,后序遍歷是比較難的一種,首先需要建立兩個(gè)棧,一個(gè)用來存放結(jié)點(diǎn)的指針,另一個(gè)存放標(biāo)志位,也是首先訪問根結(jié)點(diǎn),如果結(jié)點(diǎn)的指針不為空,根結(jié)點(diǎn)入棧,與之對(duì)應(yīng)的標(biāo)志位也隨之入標(biāo)志位棧,并賦值0,表示該結(jié)點(diǎn)的右子還沒有訪問,指針指向該結(jié)點(diǎn)的左子,如果結(jié)點(diǎn)指針為空,表示左子訪問完成,父結(jié)點(diǎn)出棧,與之對(duì)應(yīng)的標(biāo)志位也隨之出棧,如果相應(yīng)的標(biāo)志位值為0,表示右子樹還沒有訪問,指針指向其右子,父結(jié)點(diǎn)再次入棧,與之對(duì)應(yīng)的標(biāo)志位也入棧,但要給標(biāo)志位賦值為1,表示右子訪問過。如果相應(yīng)的標(biāo)志位值為1,表示右子樹已經(jīng)訪問完成,此時(shí)要輸出相應(yīng)結(jié)點(diǎn)的數(shù)據(jù),同時(shí)將結(jié)點(diǎn)指針賦值為空,如此循環(huán)直至結(jié)點(diǎn)指針和棧均為空,遍歷結(jié)束。

      三、詳細(xì)設(shè)計(jì)

      源代碼:

      #include #define MAX 100 //表示棧的最大容量 #define FULL 99//表示棧滿 #define EMPTY-1//表示???/p>

      typedef struct Tnode //定義結(jié)點(diǎn) {

      char data;//存儲(chǔ)結(jié)點(diǎn)數(shù)據(jù)

      struct Tnode *left;//定義結(jié)點(diǎn)左子指針 struct Tnode *right;//定義右子指針

      }Tnode,*Pnode;//聲明Tnode類型的變量和指針 typedef struct Stack//定義棧 { Pnode pnode[MAX];//存放數(shù)據(jù) int p;//棧頂指針

      }Stack,*Pstack;//定義Stack類型的變量和指針 void Push(Pstack pstack,Pnode pnode)//入棧 {

      } Pnode Pop(Pstack pstack)//出棧 { } Pnode Top(Pstack pstack)//看棧頂元素 { } int Isempty(Pstack pstack)//棧判空 {

      } int Isfull(Pstack pstack)//棧滿 {

      } void Initstack(Pstack pstack)//初始化棧 if(pstack->p==FULL)else return 0;return 1;if(pstack->p==EMPTY)else return 0;;return 1;return pstack->pnode[pstack->p];return pstack->pnode[pstack->p--];pstack->p ++;pstack->pnode[pstack->p] = pnode;//賦值

      { } void Inittnode(Pnode root,Pnode left,Pnode right,char data)//初始化結(jié)點(diǎn) {

      } void PreorderR(Pnode proot)//遞歸先序遍歷算法 {

      } void InorderR(Pnode proot)//遞歸中序遍歷算法 {

      } void PostorderR(Pnode proot)//遞歸后序遍歷算法 {

      } void PreorderI(Pnode proot,Pstack pstack)//非遞歸先序遍歷算法 {

      Initstack(pstack);//初始化棧

      while(proot||!Isempty(pstack))//如果棧空并且結(jié)點(diǎn)指針空,則結(jié)束循環(huán) {

      if(proot){ printf(“%2c”,proot->data);if(proot){

      } PostorderR(proot->left);PostorderR(proot->right);printf(“%2c”,proot->data);if(proot){

      }

      InorderR(proot->left);printf(“%2c”,proot->data);InorderR(proot->right);if(proot){

      } printf(“%2c”,proot->data);PreorderR(proot->left);PreorderR(proot->right);root->left=left;root->right = right;root->data = data;pstack->p=EMPTY;

      }

      }

      } else {

      } if(Isfull(pstack))//如果棧滿不能執(zhí)行入棧操作 {

      } Push(pstack,proot);//入棧 proot=proot->left;//指針指向左子 printf(“棧滿,不能執(zhí)行入棧操作!”);return;if(Isempty(pstack))//棧空時(shí)不能出棧 {

      } proot = Pop(pstack);//執(zhí)行出棧操作 proot=proot->right;//指針指向右子 printf(“???,不能執(zhí)行出棧操作!”);return;void InorderI(Pnode proot,Pstack pstack)//非遞歸中序遍歷算法 {

      Initstack(pstack);//初始化棧

      while(proot||!Isempty(pstack))//循環(huán)結(jié)束條件 {

      if(proot){

      } else {

      if(Isempty(pstack)){

      } proot = Pop(pstack);//出棧

      printf(“%2c”,proot->data);//打印數(shù)據(jù) printf(“??眨荒軋?zhí)行出棧操作!”);return;if(Isfull(pstack)){

      } Push(pstack,proot);//執(zhí)行入棧操作 proot = proot->left;//指針指向左子 printf(“棧滿,不能執(zhí)行入棧操作!”);return;

      }

      } } proot=proot->right;//指針指向右子

      void PostorderI(Pnode proot,Pstack pstack)//非遞歸后續(xù)遍歷算法 {

      } void main(){ int flags[MAX];//定義標(biāo)志位棧 int p =-1;//初始化標(biāo)志位棧 int flag;//存放標(biāo)志位 Initstack(pstack);//初始化棧

      while(proot||!Isempty(pstack))//循環(huán)結(jié)束條件 {

      } if(proot){

      } else {

      } proot = Pop(pstack);//指針出棧 flag = flags[p--];//相應(yīng)標(biāo)志位出棧

      if(flag==0)//如果標(biāo)志位為0表示右子還未訪問過 {

      } else {

      } printf(“%2c”,proot->data);//打印數(shù)據(jù) proot = NULL;//將結(jié)點(diǎn)指針置空 flag =1;//將標(biāo)志位置1,右子已訪問 flags[++p] = flag;//標(biāo)志位入棧 Push(pstack,proot);//結(jié)點(diǎn)入棧 if(Isfull(pstack)){

      } flags[++p] = 0;//標(biāo)志位置0,并入棧 Push(pstack,proot);//結(jié)點(diǎn)入棧 proot=proot->left;//指針指向左子 printf(“棧滿,不能執(zhí)行入棧操作!”);return;

      proot = proot->right;//指針指向右子

      Tnode A,B,C,D,E,F,G;//聲明結(jié)點(diǎn)變量 Stack stack;//聲明棧

      Inittnode(&A,&B,&C,'A');//初始化結(jié)點(diǎn) Inittnode(&B,NULL,&D,'B');Inittnode(&C,&E,&F,'C');Inittnode(&D,NULL,NULL,'D');Inittnode(&E,NULL,NULL,'E');Inittnode(&F,&G,NULL,'F');Inittnode(&G,NULL,NULL,'G');printf(“你定義的樹的結(jié)構(gòu)是:n”);printf(“A(B(D)C(E F(G)))n”);printf(“=====================下面是遍歷結(jié)果====================n”);printf(“=====================遞歸先序遍歷:====================n”);PreorderR(&A);printf(“n”);printf(“=====================非遞歸先序遍歷:==================n”);PreorderI(&A,&stack);printf(“n”);printf(“=====================遞歸中序遍歷:====================n”);InorderR(&A);printf(“n”);printf(“=====================非遞歸中序遍歷:==================n”);InorderI(&A,&stack);printf(“n”);PostorderR(&A);printf(“n”);PostorderI(&A,&stack);

      printf(“n”);

      /*一下是調(diào)用相應(yīng)的函數(shù)輸出遍歷結(jié)果*/

      }

      printf(“=====================遞歸后序遍歷:====================n”);

      printf(“=====================非遞歸后序遍歷:==================n”);

      五、遇到的問題及解決辦法

      這部分我主要遇到如下兩個(gè)問題,其內(nèi)容和解決方法如下所列:

      執(zhí)行程序時(shí)程序停止運(yùn)行,其效果如圖:

      解決方法:看到程序停止運(yùn)行,推測可能的原因:遇到死循環(huán)、參數(shù)設(shè)置不合理或者結(jié)構(gòu)體沒有造好。首先對(duì)結(jié)構(gòu)體進(jìn)行了檢查,各個(gè)成員聲明正常無誤,在對(duì)程序進(jìn)行調(diào)試,程序正常跳出循環(huán),因此最可能是自定義函數(shù)的參數(shù)設(shè)置的不合理,因此對(duì)調(diào)用的自定義函數(shù)進(jìn)行相應(yīng)的改動(dòng),將參數(shù)由具體類型改為指針類型后,程序正常運(yùn)行。

      程序不停的輸出同一個(gè)結(jié)點(diǎn)的數(shù)據(jù),其效果入圖:

      解決方法:分析運(yùn)行結(jié)果可知,第一不停的輸出證明遇到了死循環(huán),第二輸出的是同一個(gè)結(jié)點(diǎn)的數(shù)據(jù),表示指針沒有按預(yù)期進(jìn)行指向,首先對(duì)程序進(jìn)行調(diào)試,發(fā)現(xiàn)程序沒有添加循環(huán)結(jié)束條件,添加循環(huán)結(jié)束條件后,只能輸出樹的部分結(jié)點(diǎn)的數(shù)據(jù),對(duì)標(biāo)志位進(jìn)行修改后,程序運(yùn)行正常,也能正確輸出遍歷結(jié)果。

      六、心得體會(huì)

      通過這次作業(yè)真的受益匪淺,感觸良多:

      首先,要提高編程能力,必須多動(dòng)手,多實(shí)踐,而不是僅僅局限在書本上,更不能眼高手低。眼高手低,懶得動(dòng)手,這就犯了編程人員的大忌。大一我們開始接觸C語言,這是我們接觸到的第一種編程語言,但是當(dāng)時(shí)徒有對(duì)編程的興趣,卻沒有付諸行動(dòng),動(dòng)手少,結(jié)果考試險(xiǎn)過,通過這次作業(yè),我再次看了C語言課本,邊看邊寫代碼,理解快,印象深刻,思維也活躍許多,狀態(tài)也好,真正的意識(shí)到,編程能力需要靠實(shí)踐來提升。當(dāng)自己寫出意想的程序后,真的有些成就感。再者,在吳老師的指導(dǎo)和要求下,我們改掉了很多的編程壞習(xí)慣的同時(shí)也養(yǎng)成了良好的編程習(xí)慣,另一方面我們態(tài)度端正了很多,認(rèn)真完成好每一項(xiàng)任務(wù),這樣無形中提高了對(duì)自己的要求,同時(shí)也增強(qiáng)了我們的動(dòng)手能力和編程能力。

      七、附錄 運(yùn)行結(jié)果截圖。

      第五篇:ATM系統(tǒng)實(shí)現(xiàn)報(bào)告(VB)

      面向?qū)ο蠓椒ㄔO(shè)計(jì)與實(shí)現(xiàn)報(bào)告

      —ATM機(jī)系統(tǒng)

      軟件0802班

      高曉亮

      200807040203

      一、概要

      根據(jù)ATM的需求分析,該系統(tǒng)設(shè)計(jì)為2個(gè)子系統(tǒng):用戶系統(tǒng)、銀行工作人員系統(tǒng)。其中用戶系統(tǒng)主要使用戶在ATM上完成一些基本操作,例如:存款、取款、轉(zhuǎn)賬、查詢余額、修改賬戶密碼等銀行工作人員系統(tǒng)主要用來管理用戶賬戶、ATM機(jī)、事務(wù)。其具體功能和界面及代碼將在下文敘述。

      說明:該系統(tǒng)主要代碼是用vb編寫,數(shù)據(jù)庫使用的是單機(jī)數(shù)據(jù)庫access。

      二、用戶系統(tǒng)

      A:主要界面介紹: 一)、待機(jī)界面:

      1、功能:系統(tǒng)歡迎界面,點(diǎn)擊模擬按鈕開始模擬ATM機(jī)工作。

      2、說明:由于沒有找到合適的廣告圖片,所以待機(jī)默認(rèn)先用藍(lán)色背景代替。

      3、界面文字動(dòng)畫代碼如下:If Label5(0).Left > Me.ScaleWidth Then

      Label5(0).Left = Me.Left100 End If

      Label5(1).Move Label5(1).Left + 120

      4、界面截圖如下:

      二)、登陸界面:

      1、功能:a、密碼框設(shè)置只能輸入6位

      B、密碼輸入3次錯(cuò)誤,將凍結(jié)該賬戶

      C、銀行卡號(hào)不存在、凍結(jié)或密碼錯(cuò)誤,均不能進(jìn)入系統(tǒng)

      2、說明:因?yàn)楦縻y行卡號(hào)位數(shù)不太一樣,銀行卡號(hào)位數(shù)并未設(shè)置。

      3、登陸確認(rèn)按鈕代碼如下: Private Sub Command27_Click()If Not Text7.Text = “" And Not Text8.Text = ”“ Then Dim sql As String sql = ”select * from 賬戶 where 銀行卡號(hào)='“ & Trim(Text7.Text)& ”'“

      Adodc1.RecordSource = sql

      Adodc1.Refresh

      If Adodc1.Recordset(”狀態(tài)“)= ”凍結(jié)“ Then '判斷該賬戶狀態(tài)

      MsgBox ”該賬戶已凍結(jié)!“

      Text7.Text = ”“

      Text8.Text = ”“

      Else

      sql = ”select * from 賬戶 where 銀行卡號(hào)='“ & Trim(Text7.Text)& ”' and 密碼=“ & Trim(Text8.Text)& ”“

      Adodc1.RecordSource = sql

      Adodc1.Refresh

      If Adodc1.Recordset.EOF Then

      MsgBox ”密碼錯(cuò)誤!“, 48, ”錯(cuò)誤提示“

      Text8.Text = ”“

      count1 = count1 + 1

      If count1 >= 3 Then '三次輸入錯(cuò)誤凍結(jié)該賬戶

      Adodc1.Refresh

      sql = ”select * from 賬戶 where 銀行卡號(hào)='“ & Trim(Text7.Text)& ”'“

      Adodc1.RecordSource = sql

      Adodc1.Refresh

      Adodc1.Recordset(”狀態(tài)“)= ”凍結(jié)“

      Adodc1.Recordset.Update

      MsgBox(”三次輸入錯(cuò)誤,該賬戶已被凍結(jié)“)

      End If

      Else

      Label10.Visible = False

      Label11.Visible = False

      Text7.Visible = False

      Text8.Visible = False

      Command27.Visible = False Command28.Visible = False Command14.Visible = True Command15.Visible = True Command16.Visible = True Command17.Visible = True Command18.Visible = True Command19.Visible = True Command24.Visible = True Ynum = Text7.Text Adodc2.Refresh ’添加事務(wù) Adodc2.Recordset.AddNew

      Adodc2.Recordset(”銀行卡號(hào)“)= Ynum

      Adodc2.Recordset(”事務(wù)類型“)= ”用戶登錄“

      Adodc2.Recordset(”時(shí)間“)= Now()

      Adodc2.Recordset(”事務(wù)描述“)= ”用戶完成登陸“

      Adodc2.Recordset.Update

      Adodc2.Refresh Text7.Text = ”“ Text8.Text = ”“ End If End If Else MsgBox(”信息不全!請(qǐng)確認(rèn)“)End If End Sub

      4、界面截圖如下:

      三)、系統(tǒng)主界面

      1、功能:ATM的主要功能陳列,供用戶選擇,其中包括存款、取款、轉(zhuǎn)賬、查詢余額、修改密碼、取卡、返回。當(dāng)賬戶登錄時(shí),將在事務(wù)表中記錄登錄時(shí)間。

      2、說明:由于所有按鈕均只是用來調(diào)出對(duì)應(yīng)的功能的界面,并沒有實(shí)際功能,所以在此省略其按鈕代碼。

      3、界面截圖如下:

      四)、存款界面

      1、功能:a、只允許用戶輸入100的整數(shù)值

      b、當(dāng)文本框?yàn)榭諘r(shí)報(bào)錯(cuò)

      c、實(shí)現(xiàn)用戶的存款功能

      d、每存入一筆款,都將在事務(wù)表中記錄該操作

      2、存款代碼如下:If Not Text12.Text = ”“ Then If Val(Text12.Text)Mod 100 = 0 Then Adodc1.Refresh Adodc1.Recordset(”余額“)= Adodc1.Recordset(”余額“)+ Val(Text12.Text)Adodc1.Recordset.Update Adodc1.Refresh Label15.Caption = ”存款成功“ ye = ye + Text12.Text Adodc2.Refresh Adodc2.Recordset.AddNew

      Adodc2.Recordset(”銀行卡號(hào)“)= Ynum

      Adodc2.Recordset(”事務(wù)類型“)= ”存款“

      Adodc2.Recordset(”時(shí)間“)= Now()

      Adodc2.Recordset(”事務(wù)描述“)= ”用戶存入“ & Text12.Text & ”元“

      Adodc2.Recordset.Update

      Adodc2.Refresh Text12.Text = ”“ Command33.Enabled = True Command32.Enabled = False Else MsgBox ”請(qǐng)輸入100的整數(shù)“ End If Else Label15.Caption = ”無款可存“ End If End Sub

      3、界面截圖如下:

      四)、取款界面

      1、功能:a、用戶按相對(duì)應(yīng)數(shù)值的按鈕進(jìn)行取款

      b、每個(gè)賬戶每天取款數(shù)不能超過2500

      c、賬戶余額不足時(shí),報(bào)錯(cuò)

      d、用戶每取走一筆款額,都將在事務(wù)表中記錄取走金額和時(shí)間

      2、說明:由于不同數(shù)值按鈕的代碼很相似,所以這里僅給出100按鈕的代碼

      3、存款代碼如下:Private Sub Command20_Click()Adodc1.Refresh If Adodc1.Recordset(”余額“)>= 100 Then Adodc1.Refresh Adodc1.Recordset(”余額“)= Adodc1.Recordset(”余額“)100 Adodc2.Refresh Adodc2.Recordset.AddNew

      Adodc2.Recordset(”銀行卡號(hào)“)= Ynum

      Adodc2.Recordset(”事務(wù)類型“)= ”取款“

      Adodc2.Recordset(”時(shí)間“)= Now()

      Adodc2.Recordset(”事務(wù)描述“)= ”用戶取走100元“

      Adodc2.Recordset.Update

      Adodc2.Refresh Else Label15.Caption = ”余額不足,取款失敗“ End If End Sub

      4、取款界面截圖如下:

      五)、查詢余額界面

      1、功能:實(shí)現(xiàn)用戶查詢對(duì)應(yīng)賬戶的余額

      2、查詢余額代碼如下:Private Sub Command17_Click()Command14.Visible = False Command15.Visible = False Command16.Visible = False Command17.Visible = False Command18.Visible = False Command19.Visible = False Label6.Visible = False Label7.Visible = False sql = ”select 余額 from 賬戶

      where 銀行卡號(hào)= '“ & Ynum & ”'“ Adodc1.RecordSource = sql Adodc1.Refresh Label8.Caption = Adodc1.Recordset.Fields(”余額“)Adodc2.Refresh Adodc2.Recordset.AddNew

      Adodc2.Recordset(”銀行卡號(hào)“)= Ynum

      Adodc2.Recordset(”事務(wù)類型“)= ”查詢余額“

      Adodc2.Recordset(”時(shí)間“)= Now()

      Adodc2.Recordset(”事務(wù)描述“)= ”查詢余額“

      Adodc2.Recordset.Update

      Adodc2.Refresh Label9.Visible = True Label8.Visible = True End Sub

      3、查詢余額界面截圖如下:

      六)、轉(zhuǎn)賬界面

      1、功能:a、實(shí)現(xiàn)用戶轉(zhuǎn)賬

      b、需2次確認(rèn)賬戶信息,若信息輸入不全,賬戶余額不足,2次輸入不一樣,均不可完成轉(zhuǎn)賬

      c、用戶每轉(zhuǎn)一筆賬,均將在事務(wù)表中記錄轉(zhuǎn)賬金額和時(shí)間

      2、轉(zhuǎn)賬代碼如下:Private Sub Command30_Click()If Not Text11.Text = ”“ And Not Text10.Text = ”“ And Not Text9.Text = ”“ Then If Text10.Text = Text9.Text Then Adodc1.Refresh If Adodc1.Recordset(”余額“)>= Val(Text11.Text)Then Adodc1.Refresh Adodc1.Recordset(”余額“)= Adodc1.Recordset(”余額“)Me.picLOAD.Width)/ 2 'Me.picLOAD.Top = Me.ScaleHeight / 2Me.picLOAD.Width)/ 2 'Me.picLOAD.Top = Me.ScaleHeight / 2Me.picLOAD.Width)/ 2 'Me.picLOAD.Top = Me.ScaleHeight / 2-Me.picLOAD.Height Me.picLOAD.Visible = True 'DoEvents '釋放控制權(quán)

      Me.ListView1.ListItems.Clear Dim addLIST As ListItem Dim ss As String Dim sql As String ss = App.Path + ”datadata.mdb“ Adodc1.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=gxl;Persist Security Info=False;Data Source=“ & ss Adodc1.CommandType = adCmdText sql = ”select * from ATM“ Adodc1.RecordSource = sql Adodc1.Refresh '連接數(shù)據(jù)庫

      Do While Not Adodc1.Recordset.EOF Set addLIST = ListView1.ListItems.Add(, , Adodc1.Recordset!ATM機(jī)編號(hào), , i)addLIST.SubItems(1)= IIf(IsNull(Adodc1.Recordset.Fields(”狀態(tài)“).Value), Adodc1.Recordset.Fields(”狀態(tài)“).Value)addLIST.SubItems(2)= IIf(IsNull(Adodc1.Recordset.Fields(”余額“).Value), Adodc1.Recordset.Fields(”余額“).Value)Adodc1.Recordset.MoveNext Loop Me.picLOAD.Visible = False End Sub

      Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Index

      Case Is = 2 '

      ZhZCfrm.Show 1

      Case Is = 3

      ' ZHZXfrm.Show 1

      Case Is = 4

      Call addLIST End Select End Sub

      3、界面截圖:

      ”“, ”“,六)、單位信息界面

      1、功能:顯示單位信息

      2、代碼: Private Sub cmdBC_Click()'修改銀行信息 Dim s As String If Not Text1(0).Text = ”“ And Not Text1(1).Text = ”“ And Not Text1(2).Text = ”“ And Not Text1(3).Text = ”“ And Not Text1(4).Text = ”“ Then

      s = ”update 銀行信息 set 銀行名稱='“ & Text1(0).Text & ”',銀行地址='“ & Text1(1).Text & ”',郵政編號(hào)='“ & Text1(2).Text & ”',負(fù)責(zé)人='“ & Text1(3).Text & ”', 聯(lián)系電話='“ & Text1(4).Text & ”'“

      Adodc1.RecordSource = s

      MsgBox(”修改成功“)

      Adodc1.Recordset.Update

      Else

      MsgBox ”修改信息不全,請(qǐng)檢查!“

      End If End Sub

      Private Sub Form_Load()Dim ss As String Dim sql As String ss = App.Path + ”datadata.mdb“ Adodc1.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=gxl;Persist Security Info=False;Data Source=“ & ss Adodc1.CommandType = adCmdText sql = ”select * from 銀行信息“ Adodc1.RecordSource = sql Adodc1.Refresh '連接數(shù)據(jù)庫 End Sub

      3、界面截圖:

      七)、下面給出數(shù)據(jù)備份還原的代碼 Private Sub a14_Click()On Error GoTo ERR_line newname = App.Path & ”datadata.mdb“ datapath = App.Path & ”backup“ & Date & ” 備份卡.bak“ FileCopy newname, datapath MsgBox ”數(shù)據(jù)已備份到

      “ & datapath, 64, ”提示“ Exit Sub ERR_line: MsgBox ”不能完成數(shù)據(jù)備份!“, 48, ”運(yùn)行錯(cuò)誤“ End Sub

      Private Sub a15_Click()On Error GoTo ERR_line

      Me.CommonDialog1.ShowOpen

      snewname = Me.CommonDialog1.FileName

      sdatapath = App.Path & ”datadata.mdb“

      If snewname <> ”“ Then

      If MsgBox(”還原后將覆蓋原有數(shù)據(jù),確定還原嗎?“, vbInformation + vbYesNo, ”提示“)= vbYes Then

      FileCopy snewname, sdatapath

      MsgBox ”數(shù)據(jù)已經(jīng)成功還原!請(qǐng)重新登陸 “, 48, ”提示“

      Unload Me

      Formload.Show

      Else

      Exit Sub End If

      End If Exit Sub

      ERR_line: MsgBox ”不能完成數(shù)據(jù)還原,請(qǐng)進(jìn)入系統(tǒng)后未做任何操作時(shí)進(jìn)行!“, 48, ”運(yùn)行錯(cuò)誤" End Sub

      四、數(shù)據(jù)庫

      本系統(tǒng)使用的是access數(shù)據(jù)庫。數(shù)據(jù)庫密碼為gxl。本系統(tǒng)共有5張表,分別為:ATM,事務(wù),系統(tǒng)用戶表,銀行信息,賬戶。

      下面給出數(shù)據(jù)庫的相關(guān)截圖。

      1、表圖:

      2、ATM的設(shè)計(jì)視圖

      3、事務(wù)的設(shè)計(jì)視圖

      4、系統(tǒng)用戶表的設(shè)計(jì)視圖

      5、銀行信息的設(shè)計(jì)視圖

      6、賬戶的設(shè)計(jì)視圖

      下載VB遍歷文件目錄的實(shí)現(xiàn)方法總結(jié)word格式文檔
      下載VB遍歷文件目錄的實(shí)現(xiàn)方法總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        基于VB實(shí)現(xiàn)復(fù)雜報(bào)表設(shè)計(jì)(合集)

        陜西理工學(xué)院畢業(yè)設(shè)計(jì) 基于VB實(shí)現(xiàn)復(fù)雜報(bào)表設(shè)計(jì) (陜西理工學(xué)院 物理系 電子信息科學(xué)與技術(shù)07級(jí)2班,陜西 漢中 723000) [摘要] 本文介紹了報(bào)表設(shè)計(jì)的幾種方法和以往報(bào)表設(shè)計(jì)......

        VB實(shí)習(xí)報(bào)告封面及目錄

        計(jì)算機(jī)上機(jī)實(shí)習(xí)報(bào)告班級(jí): 學(xué)號(hào): 姓名: 班內(nèi)序號(hào): 指導(dǎo)老師: 完成時(shí)間:周老師 任老師 2010/12/31目錄一、實(shí)習(xí)題目-------01 二、實(shí)習(xí)內(nèi)容------01 三、系統(tǒng)功能及流程圖----------......

        vb第9章 文件五篇

        《Visual Basic程序設(shè)計(jì)》精品課程電子教案 第九章 文件 一、教學(xué)內(nèi)容 在這章里要求掌握VB文件控件和文件的基本操作。 二、目的要求 1.熟悉文件處理語句和函數(shù); 2.掌握順序文......

        質(zhì)量體系文件目錄

        德邦公司質(zhì)量體系文件 一、 質(zhì)量手冊(cè)DB/QM2012 二、 程序文件DB/PO 1、文件控制程序2、記錄控制程序3、生產(chǎn)過程控制、 4、設(shè)備管理控制5、采購控制6、不合格品 7、監(jiān)視和測......

        技術(shù)改造有關(guān)文件目錄

        一、技術(shù)改造有關(guān)文件《國務(wù)院關(guān)于投資體制改革的決定》(國發(fā)〔2004〕20號(hào))《企業(yè)投資項(xiàng)目核準(zhǔn)暫行辦法》(國家發(fā)展和改革委員會(huì)令第19號(hào)) 《外商投資項(xiàng)目核準(zhǔn)暫行管理辦法》(國......

        歸檔文件目錄范本doc歸檔文件目錄

        歸 檔 文 件 目 錄 類別:DQ 件號(hào) 責(zé)任者 文號(hào) 題名 日期 頁數(shù) 備注 001 武漢船院黨辦 鄂先組發(fā) [2005]19 號(hào) 關(guān)于成立省委第二批保持共產(chǎn)黨員先進(jìn)性教育活動(dòng)督導(dǎo)組和巡回督查......

        文件目錄[5篇模版]

        目 錄關(guān)于開展土地利用總體規(guī)劃實(shí)施評(píng)價(jià)和修編前期調(diào)研工作的通知(國土資發(fā)〔2004〕133號(hào))錯(cuò)誤!未定義書簽。 《國務(wù)院關(guān)于深化改革嚴(yán)格土地管理的決定》(國發(fā)〔2004〕28號(hào))錯(cuò)誤!......

        投標(biāo)文件目錄

        目錄 一、投標(biāo)書 .......................... 錯(cuò)誤!未定義書簽。 二、開標(biāo)一覽表 .......................... 錯(cuò)誤!未定義書簽。 三、主要材料情況表 ............................