操作系統(tǒng)課程設(shè)計報告---文件資源管理器_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課 程 設(shè) 計</b></p><p>  課程名稱___操作系統(tǒng) _____</p><p>  題目名稱___文件系統(tǒng)管理______</p><p>  學生學院__計算機學院_________</p><p>  專業(yè)班級_計算機科學與技術(shù)</p><p&

2、gt;  學 號 </p><p>  學生姓名_____ __________</p><p>  指導教師____________</p><p>  200 7 年 6 月 30 日</p><p><b>  文件管理系統(tǒng)</b></p><p>  <&

3、lt;操作系統(tǒng)>>1</p><p><b>  課程設(shè)計報告1</b></p><p><b>  設(shè)計目的2</b></p><p><b>  總體設(shè)計思想2</b></p><p><b>  系統(tǒng)結(jié)構(gòu)設(shè)計:3</b><

4、/p><p><b>  數(shù)據(jù)結(jié)構(gòu)說明:4</b></p><p>  模塊的算法流程圖:6</p><p><b>  程序的運行:10</b></p><p>  部份源程序清單:(主要的部份)15</p><p><b>  使用說明書:23</b

5、></p><p><b>  體會,建議24</b></p><p><b>  設(shè)計目的</b></p><p>  通過課程設(shè)計, 加深對操作系統(tǒng)各資源管理模塊的理解,掌握操作系統(tǒng)的基本原理及功能,具有初步分析實際操作系統(tǒng)、設(shè)計、構(gòu)造和開發(fā)現(xiàn)代操作系統(tǒng)的基本能力。</p><p>&l

6、t;b>  設(shè)計內(nèi)容要求:</b></p><p>  編寫并調(diào)試一個樹型目錄結(jié)構(gòu)的文件系統(tǒng),模擬文件管理工作流程。</p><p>  1).設(shè)計多用戶文件系統(tǒng),采用多級文件目錄。</p><p>  2).至少要有十個以上的實用命令,應(yīng)設(shè)置文件保護措施。</p><p>  3).設(shè)計一個較實用的用戶界面,方便用戶使用,

7、界面要為用戶提供足夠的選擇信息,不需用戶打入冗長的命令。</p><p><b>  設(shè)計環(huán)境與工具</b></p><p> ?。?)計算機及操作系統(tǒng):PC機,Windows Advance Server 2000</p><p> ?。?)程序設(shè)計語言:VC++</p><p> ?。?)開發(fā)平臺:Microsoft

8、 Visual C++ 6.0</p><p> ?。?)運行平臺:Windows Advance Server 2000</p><p><b>  總體設(shè)計思想</b></p><p>  多級文件管理系統(tǒng)中包含的關(guān)系很多,主要是由樹型目錄引起的嵌套關(guān)系,所以為了實現(xiàn)樹型目錄,嵌套調(diào)用是其中的一個方法并且能比較好處理這種目錄與文件的存儲關(guān)系

9、。這次課程設(shè)計主要是利用兩種數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)了這個要求。一個是隊列,一個是棧。實現(xiàn)樹型目錄主要是在其中每個節(jié)點都有父指針,子指針和兄弟指針,其中子指針指向該目錄下的第一個子節(jié)點,而該子節(jié)點的父指針則指向它的上級目錄。目錄下各子節(jié)點用兄弟指針連接起來。在各命令功能模塊實現(xiàn)過程中也是主要運用指針鏈接實現(xiàn)。這次主要的功能包括:</p><p>  多用戶管理,每個用戶可以設(shè)置自己的密碼。</p><p

10、>  多目錄管理,每個用戶可以建立多個目錄,多個文件。</p><p>  用戶界面管理,主要采用Windows 的單文檔窗口,樹型目錄。</p><p>  功能管理:用戶主要可以實現(xiàn)的功能包括有建立文件,文件夾,文本文件,可執(zhí)行文件,設(shè)置讀寫和執(zhí)行權(quán)限,可讀寫文件,復制,粘貼,移動文件,可以以不同的視圖瀏覽文件,這些視圖有小圖標,列表,詳細列表和樹型目錄顯示(默認),還有可以把文

11、件放到回收站,也可以在回收站中恢復文件,當然還有刪除文件的功能。</p><p>  小功能管理:一部分功能不是這次設(shè)計所要求的,但很容易實現(xiàn),如退出程序,向前向后,地址欄的實現(xiàn),選擇與反選。</p><p><b>  系統(tǒng)結(jié)構(gòu)設(shè)計:</b></p><p>  這次設(shè)計主要采用樹型目錄的結(jié)構(gòu),模擬文件管理系統(tǒng)設(shè)置多個用戶進行管理操作,當選擇

12、已有用戶時便可進入其該用戶的文件管理界面,用戶可以進行相應(yīng)的操作。主要的結(jié)構(gòu)是用戶可以建立多個文件夾,多個文件,文件夾里可以包含文件,也可以不包含文件。用戶可建立的文件類型有三種,文件夾,文本文件和可執(zhí)行文件。用戶對文件的管理主要是復制文件,粘貼文件,刪除文件,可以把文件移到回收站。用戶可以對自己的文件進行權(quán)限的管理,可以設(shè)置自己的文件為可讀,可寫,可執(zhí)行,或只可以寫,不可以讀。當用戶不需要某文件時,可以把文件放到回收站里。也可以把文件

13、從回收站里恢復或刪除,當用戶真的不想要這個文件了,就可以把它刪除。還有用戶瀏覽文件的過程中,可以對自己的操作進行前進或返回。除此之外,用戶還可以對自己的登錄設(shè)置密碼,密碼沒有經(jīng)過加密處理,因為只是一個小系統(tǒng),沒必要用到加密算法。下面主要是文件管理系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖:</p><p><b>  數(shù)據(jù)結(jié)構(gòu)說明:</b></p><p>  本設(shè)計主要設(shè)置三種數(shù)據(jù),用戶信息

14、,文件信息,回收站信息,考慮到Microsoft Access 的簡單易用性,選擇用它來做為主要的數(shù)據(jù)操作。</p><p>  數(shù)據(jù)庫由三個表組成: UserFolder(目錄)表、Userfile(文件)表、Gabage(回收站)表,其中,目錄表包括用戶表,本程序中,用戶被當成特殊的目錄處理,其表目如下:</p><p><b>  數(shù)據(jù)項說明如下:</b><

15、;/p><p>  UserfolderID 用戶文件ID號,也是用戶號</p><p>  Username 用戶文件名稱,也是用戶名稱 </p><p>  Read讀權(quán)限</p><p>  Write寫權(quán)限</p><p>  Bexec可執(zhí)行權(quán)

16、限</p><p>  Parentid父節(jié)點號</p><p>  Createtime創(chuàng)建時間</p><p>  Modifytime修改時間</p><p>  PWD用戶密碼</p><p>  Userfile是文件表,保存用戶的文件,其結(jié)構(gòu)如下:</p>

17、<p><b>  數(shù)據(jù)項說明如下:</b></p><p>  ID 用戶文件ID號</p><p>  name 用戶文件名稱</p><p>  Read讀權(quán)限</p><p>  Write寫權(quán)限</p><p&g

18、t;  Bexec可執(zhí)行權(quán)限</p><p>  Parentid父節(jié)點號</p><p>  Data_length文件長度</p><p>  Time_span運行時間</p><p>  Createtime創(chuàng)建時間</p><p>  Modifytime修改時

19、間</p><p>  Gabage 表是對回收站進行管理的表:</p><p><b>  數(shù)據(jù)項說明如下:</b></p><p>  ID 用戶文件ID號</p><p>  name 用戶文件名稱</p><p>  srcID原

20、文件ID</p><p>  Parid父節(jié)點號</p><p>  Delete_time刪除時間</p><p><b>  模塊的算法流程圖:</b></p><p>  由于本系統(tǒng)的主要目的是設(shè)計一個多用戶,多目錄的文件系統(tǒng),下面主要對涉及到文件操作的主要算法畫出它的流程圖。</p>

21、<p><b>  創(chuàng)建用戶和文件夾</b></p><p><b>  創(chuàng)建文件</b></p><p><b>  刪除文件夾和文件</b></p><p>  復制,剪切,對文件和目錄的移動(因為后面三個操作都只涉及到簡單的指針修改,故只畫右邊一個圖。)</p><

22、;p><b>  設(shè)置文件權(quán)限</b></p><p>  打開文件(加執(zhí)行文件)</p><p>  回收站(移至,和恢復)(還有刪除和清空,算法結(jié)構(gòu)差不多,在這里省略)</p><p><b>  登錄</b></p><p><b>  程序的運行:</b><

23、/p><p><b>  主界面</b></p><p>  創(chuàng)建一個用戶(new user)</p><p>  重命名(newuser)</p><p>  4. 對用戶處理的快捷菜單</p><p><b>  加密</b></p><p>  打開

24、用戶,新建一個文件夾,文本文件,可執(zhí)行文件</p><p>  讀取文件夾和用戶的權(quán)限(用戶可以修改文件夾和用戶的信息)</p><p>  用戶文件的權(quán)限和信息</p><p><b>  讀寫文本文件</b></p><p><b>  讀寫執(zhí)行文件</b></p><p&g

25、t;<b>  把文件放到回收站</b></p><p><b>  從回收站里恢復</b></p><p><b>  點擊恢復:</b></p><p>  復制,粘貼,刪除文件的運行都很簡單,在這里就不貼圖出來了,具體的運行過程和使用說明將在使用說明書那里作說明。</p><

26、p>  部份源程序清單:(主要的部份)</p><p><b>  對數(shù)據(jù)庫的連接:</b></p><p><b>  while(1)</b></p><p>  {CString strCon = "Driver=Microsoft Access Driver (*.mdb);DBQ="+s

27、trFile+";UID=admin;PSW=;Persist Security Info=False";</p><p>  pWnd->m_db.OpenEx(strCon,CDatabase::noOdbcDialog|CDatabase::openExclusive);</p><p>  if(!pWnd->m_db.IsOpen())</p

28、><p>  {if(MessageBox("連接數(shù)據(jù)庫失敗!請確定數(shù)據(jù)庫文件是否存在. \n再?",NULL,MB_ICONSTOP|MB_YESNO)!=IDYES) exit(0);</p><p>  CFileDialog dlg(true);</p><p>  if(dlg.DoModal()!=IDOK)exit(0);</p&

29、gt;<p>  strFile = dlg.GetPathName();</p><p>  }else break;</p><p><b>  }</b></p><p><b>  回收站的恢復:</b></p><p>  BOOL CMainFrame::Restore

30、As(ClipData *pData)</p><p>  {int i = 0;</p><p>  CString szID,szName,szType,szParID,szSrcID;</p><p>  while(pData->itemid[i] !=0)</p><p>  {DWORD data = pData->

31、itemid[i];</p><p>  if( (data & 3) == 2)</p><p>  {szID.Format("%d", data/4);</p><p>  szType.Format("%d",data&3);</p><p>  rs.Close();<

32、/p><p>  rs.Open(RS_DEF,"select * from Gabage where ID="+szID);</p><p>  rs.GetFieldValue("name",szName);</p><p>  szParID = GetCurDirID();</p><p>  rs

33、.GetFieldValue("srcID",szSrcID);</p><p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select * from Userfolder where parentID="+szParID+" and Username='"+szName+"

34、'");</p><p>  if(rs.GetRecordCount()>0)</p><p>  {MessageBox("你不能存儲文件 \""+szName+"\" 在這里,已經(jīng)有一個同名文件!",NULL,MB_ICONSTOP);</p><p>  i++ ;c

35、ontinue;</p><p><b>  }</b></p><p>  m_db.ExecuteSQL("update Userfolder set parentID="+szParID+",Modifytime='"+GetTimeStr()+"' where UserfolderID=&quo

36、t;+szSrcID);m_db.ExecuteSQL("delete from Gabage where ID="+szID);}</p><p>  else{szID.Format("%d", data/4);</p><p>  szType.Format("%d",data&3);</p&

37、gt;<p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select * from Gabage where ID="+szID);</p><p>  rs.GetFieldValue("name",szName);</p><p>  szParID = GetCurDi

38、rID();</p><p>  rs.GetFieldValue("srcID",szSrcID);</p><p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select * from Userfolder where parentID="+szParID+" and Use

39、rname='"+szName+"'");</p><p>  if(rs.GetRecordCount()>0)</p><p>  {MessageBox("不能存儲在這里, \""+szName+"\" 已經(jīng)存在!",NULL,MB_ICONSTOP);</p>

40、;<p>  i++ ;continue;</p><p>  }m_db.ExecuteSQL("update Userfile set parentID="+szParID+",Modifytime='"+GetTimeStr()+"' where ID="+szSrcID);</p><p&g

41、t;  m_db.ExecuteSQL("delete from Gabage where ID="+szID);</p><p><b>  }i++;</b></p><p>  }GetDirView()->ReloadSubDir(GetCurDirID());</p><p>  return TRUE;&

42、lt;/p><p><b>  }</b></p><p><b>  新建用戶和文件夾</b></p><p>  void CMainFrame::OnEditNewDir()</p><p>  {CString pID = GetCurDirID();</p><p>

43、  if(pID.IsEmpty())</p><p>  {MessageBox("請先輸入一個目錄名稱!",NULL,MB_ICONWARNING);</p><p><b>  return;</b></p><p>  }rs.Close();</p><p>  rs.Open(RS_D

44、EF,"select Write from Userfolder where UserfolderID="+pID);</p><p>  CString szAccess;</p><p>  rs.GetFieldValue("Write",szAccess);</p><p>  if(szAccess != "

45、;1") </p><p>  {MessageBox("當前的文件不可讀!","Error!",MB_ICONSTOP);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  CStri

46、ng name =( GetDirView()->IsRootSelected()&&</p><p>  !GetDirView()->IsDiskSelected()) ? "new user":"new folder";</p><p>  int iCount = 2;</p><p>  

47、CString str_name=name;</p><p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select * from Userfolder where parentID="+pID+" and Username='"+str_name+"'");</p>

48、;<p>  while(rs.GetRecordCount()>0)</p><p>  {str_name.Format("%s(%d)",name,iCount);</p><p><b>  iCount++;</b></p><p>  rs.Close();</p><p

49、>  rs.Open(RS_DEF,"select * from Userfolder where parentID="+pID+" and Username='"+str_name+"'");</p><p><b>  }</b></p><p>  name = str_name;

50、</p><p>  CString nID;</p><p>  CString szCt = GetTimeStr();CString szSQL = "insert into Userfolder(Username,parentID,Createtime,Modifytime) values('"+name+"',"+pID+

51、",'"+szCt+"','"+szCt+"')";</p><p>  m_db.ExecuteSQL(szSQL);</p><p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select UserfolderID from

52、 Userfolder where Username='"+name+"' and parentID="+pID);</p><p>  rs.GetFieldValue("UserfolderID",nID);</p><p><b>  int iImg;</b></p><p&

53、gt;  if(pID == GetDirView()->GetRootID()) iImg = IMG_DISK;</p><p>  else iImg = IMG_DIR1;</p><p>  HTREEITEM p = GetDirView()->GetTreeCtrl().InsertItem(name,iImg,iImg,</p><p>

54、  GetDirView()->GetTreeCtrl().GetSelectedItem());</p><p>  GetDirView()->GetTreeCtrl().SetItemData(p,atoi(nID));</p><p>  int nItem = GetFileView()->GetListCtrl().InsertItem(</p>

55、<p>  GetFileView()->GetListCtrl().GetItemCount(),name,iImg);</p><p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select UserfolderID from Userfolder where parentID="+pID+" and

56、 Username='"+name+"'");</p><p>  rs.GetFieldValue("UserfolderID",pID);</p><p>  GetFileView()->GetListCtrl().SetItemData(nItem,atoi(pID)*4+2);</p><

57、p>  SelectListItem(nItem);</p><p>  OnEditRename();</p><p><b>  }</b></p><p><b>  //刪除用戶</b></p><p>  void CMainFrame::OnUpdateEditDelDir(CCm

58、dUI* pCmdUI) </p><p>  {DWORD data = 0;</p><p>  if(GetFileView()->GetListCtrl().GetSelectedCount()==1)</p><p>  {POSITION pos = GetFileView()->GetListCtrl().GetFirstSelect

59、edItemPosition();</p><p>  int nItem = GetFileView()->GetListCtrl().GetNextSelectedItem(pos);</p><p>  data = GetFileView()->GetListCtrl().GetItemData(nItem);</p><p>  data =

60、(data & 03);</p><p><b>  }</b></p><p>  if(data == 2 && !GetDirView()->IsDeskTopSelected()) pCmdUI->Enable(TRUE);</p><p>  else pCmdUI->Enable(FALSE

61、);</p><p><b>  }</b></p><p><b>  //刪除文件</b></p><p>  void CMainFrame::OnUpdateEditDelete(CCmdUI* pCmdUI) </p><p>  {DWORD data = 0;</p>&

62、lt;p>  if(GetFileView()->GetListCtrl().GetSelectedCount()==1)</p><p>  {POSITION pos = GetFileView()->GetListCtrl().GetFirstSelectedItemPosition();</p><p>  int nItem = GetFileView()-&

63、gt;GetListCtrl().GetNextSelectedItem(pos);</p><p>  data = GetFileView()->GetListCtrl().GetItemData(nItem);</p><p>  data = data & 03;</p><p>  if(data==2) data = 0;</p>

64、;<p>  else data = 1;</p><p><b>  }</b></p><p>  if(data && !GetDirView()->IsDeskTopSelected()) pCmdUI->Enable(TRUE);</p><p>  else pCmdUI->Enabl

65、e(FALSE);</p><p><b>  }</b></p><p>  void CMainFrame::OnEditDelete() </p><p>  {CString szCurDirID = GetCurDirID();</p><p>  if(szCurDirID.IsEmpty()) retur

66、n;</p><p><b>  // 檢查</b></p><p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select Write from Userfolder where UserfolderID="+szCurDirID);</p><p>  CSt

67、ring szAccess;</p><p>  rs.GetFieldValue("Write",szAccess);</p><p>  if(szAccess != "1") </p><p>  {MessageBox("當前的文件夾只可以讀!","Error!",MB_ICO

68、NSTOP);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  DWORD data = 0;</p><p>  if(GetFileView()->GetListCtrl().GetSelectedCount()==1)<

69、;/p><p>  {POSITION pos = GetFileView()->GetListCtrl().GetFirstSelectedItemPosition();</p><p>  int nItem = GetFileView()->GetListCtrl().GetNextSelectedItem(pos);</p><p>  data

70、= GetFileView()->GetListCtrl().GetItemData(nItem);</p><p>  data = data/4;</p><p>  char szID[10];</p><p>  itoa(data,szID,10);</p><p>  GetFileView()->GetListCtr

71、l().DeleteItem(nItem);</p><p>  m_db.ExecuteSQL("delete from Userfile where ID="+CString(szID));</p><p><b>  }</b></p><p><b>  }</b></p><

72、;p><b>  文件等權(quán)限處理:</b></p><p>  void CMainFrame::OnEditAttrib() </p><p>  {int nItem;</p><p>  char ch[10];</p><p>  DWORD data;</p><p>  CLi

73、stCtrl *plctrl = &GetFileView()->GetListCtrl();</p><p>  POSITION pos = plctrl->GetFirstSelectedItemPosition();</p><p>  switch(plctrl->GetSelectedCount())</p><p>  {

74、case 0 : AfxMessageBox("沒有條目給選到!"); return;</p><p>  case 1 : nItem = plctrl->GetNextSelectedItem(pos);</p><p>  data = plctrl->GetItemData(nItem);</p><p>  if( (dat

75、a & 3) == 2 ) //目錄屬性</p><p>  { data = data/4;</p><p>  if(CDirA().DoModal(itoa(data,ch,10)))</p><p>  { ReloadFile();</p><p><b>  } }</b></p&g

76、t;<p>  else // 文件屬性</p><p>  { data = data/4;</p><p>  if(CFileA().DoModal(itoa(data,ch,10)))</p><p>  { ReloadFile(); } } break;</p><p>  default:

77、 if( GetDirView()->GetTreeCtrl().GetSelectedItem() ==</p><p>  GetDirView()->GetTrashItem() )</p><p>  {AfxMessageBox("Attribute not supported!"); }</p><p>  els

78、e CItemA().DoModal(); break;</p><p><b>  }}</b></p><p>  回收站的恢復,和移動</p><p>  BOOL CMainFrame::MoveTrash(ClipData *pData)</p><p>  {int i = 0;</p&

79、gt;<p>  CString szName,szID,szParID,szType;</p><p>  while(pData->itemid[i] !=0)</p><p>  {DWORD data = pData->itemid[i];</p><p>  if( (data & 3) == 2)</p>

80、<p>  {szID.Format("%d", data/4);</p><p>  szType.Format("%d",data&3);</p><p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select * from Userfolder whe

81、re UserfolderID="+szID);</p><p>  rs.GetFieldValue("Username",szName);</p><p>  rs.GetFieldValue("parentID",szParID);</p><p>  m_db.ExecuteSQL("insert

82、into Gabage(item_type,name,srcID,parID,delete_time) values("+ szType+",'"+szName+"',"+szID+","+szParID+",'"+GetTimeStr()+"')");</p&

83、gt;<p>  GetDirView()->GetTreeCtrl().DeleteItem(</p><p>  GetDirView()->GetDirItem(GetDirView()->GetFullPath(szID)));</p><p>  m_db.ExecuteSQL("update Userfolder set parentI

84、D=0 where UserfolderID="+szID);}</p><p>  else{szID.Format("%d", data/4);</p><p>  szType.Format("%d",data&3);</p><p>  rs.Close();</p>&l

85、t;p>  rs.Open(RS_DEF,"select * from Userfile where ID="+szID);</p><p>  rs.GetFieldValue("name",szName);</p><p>  rs.GetFieldValue("parentID",szParID);</p>

86、<p>  m_db.ExecuteSQL("insert into Gabage(item_type,name,srcID,parID,delete_time) values("+ szType+",'"+szName+"',"+szID+","+szParID+",'"

87、;+GetTimeStr()+"')");m_db.ExecuteSQL("update Userfile set parentID=0 where ID="+szID);</p><p><b>  }i++;}</b></p><p>  return TRUE;</p><p>&

88、lt;b>  }</b></p><p>  BOOL CMainFrame::RestoreTrash(ClipData *pData)</p><p>  {int i = 0;</p><p>  CString szID,szName,szType,szParID,szSrcID;</p><p>  while(

89、pData->itemid[i] !=0)</p><p>  {DWORD data = pData->itemid[i];</p><p>  if( (data & 3) == 2)</p><p>  {szID.Format("%d", data/4);</p><p>  szType.

90、Format("%d",data&3);</p><p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select * from Gabage where ID="+szID);</p><p>  rs.GetFieldValue("parID",szParID

91、);</p><p>  rs.GetFieldValue("srcID",szSrcID);</p><p>  m_db.ExecuteSQL("update Userfolder set parentID="+szParID+",Modifytime='"+GetTimeStr()+"' where

92、 UserfolderID="+szSrcID);</p><p>  m_db.ExecuteSQL("delete from Gabage where ID="+szID);</p><p>  GetDirView()->ReloadSubDir(szParID);</p><p>  }else{szID.Form

93、at("%d", data/4);</p><p>  szType.Format("%d",data&3);</p><p>  rs.Close();</p><p>  rs.Open(RS_DEF,"select * from Gabage where ID="+szID);</p&g

94、t;<p>  rs.GetFieldValue("parID",szParID);</p><p>  rs.GetFieldValue("srcID",szSrcID);</p><p>  m_db.ExecuteSQL("update Userfile set parentID="+szParID+"

95、;,Modifytime='"+GetTimeStr()+"' where ID="+szSrcID);</p><p>  m_db.ExecuteSQL("delete from Gabage where ID="+szID);</p><p><b>  }i++;}</b></p>

96、;<p>  return TRUE;}</p><p><b>  使用說明書:</b></p><p>  下面的說明書主要是對用戶文件的操作的說明:</p><p>  用戶運行程序,里面顯示了一些用戶,有一些是加密的,密碼都是123456,雙擊相應(yīng)的用戶可以進行該用戶的目錄。用戶可以創(chuàng)建新的用戶,具體操作是右擊,選擇新建-

97、>新建用戶或文件夾,輸入用戶的名稱。用戶也可以右擊對用戶加密,輸入用戶的密碼兩次,然后進入該用戶的目錄。</p><p>  在用戶目錄里,用戶可以右擊對文件進行操作,里面有選擇,反選,新建,刷新,新建里有三個操作,新建文件夾,新建文本文件,新建可執(zhí)行文件。</p><p>  選中相應(yīng)的文件,用戶也可以在文檔的菜單欄里對文件進行操作.使用方法跟2里面的一樣。</p>

98、<p>  新建文件夾或文件后,右擊,用戶可以看到的操作有:打開,刷新,復制,剪切,重命名,新建,刪除,移到回收站,屬性,選擇和反選。用戶可以選擇相應(yīng)的操作。</p><p>  在用戶的菜單欄里,查看一欄,用戶可以進行的操作有:狀態(tài)欄,列表,圖標,詳細信息,樹形目錄,定位,選擇和反選。其中,定位,有三種操作,向上,向前,向后,均對用戶的多級目錄進行前后的操作。</p><p>

99、  其中,點擊屬性操作時,用戶可以對文件,文件夾或用戶本身進行權(quán)限的設(shè)置,文件信息的查看,重命名文件。單擊OK 可以保存用戶對文件,文件夾或用戶本身信息的修改。</p><p><b>  體會,建議</b></p><p>  通過本次課程設(shè)計,我深深體會到OS里,文件目錄設(shè)置的精妙和講究。在設(shè)計的過程中,遇到了很多的問題。其中涉及的主要操作是對文件的各個屬性進行的

溫馨提示

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

評論

0/150

提交評論