資源簡介
.eap文件使用Enterprise architect打開。
項目是模擬cmd功能實現的,主要是在虛擬文件系統中實現cd、dir、mkdir、rmdir、copy、compare、del等命令。

代碼片段和文件信息
#include?“stdafx.h“
#include?“CdCmd.h“
bool?CdCmd::Execute(Dirobject*?rootDir?MyListject>*?workingPath)
{
??bool?flag?=?true;
??
??Dirobject*?curPosition?=?rootDir;
??Dirobject*?dirNode?=?NULL;
??MyString?tempDirName;
??//路徑類型
??int?dirType?=?this->path1Type;
??switch(dirType)
??{
??case?msg.FLOD_PATH://相對路徑
????//遍歷workingPath定位到當前目錄
????workingPath->InitList();
????while(workingPath->GetNextNode()?!=?NULL)
????{
??????tempDirName?=?workingPath->GetCurNode()->GetDirName();
??????curPosition?=?curPosition->Find(tempDirName);
??????if(curPosition?==?NULL)
??????{
????????flag?=?false;
????????break;
??????}
????}
????//遍歷pathElesList找到指定位置,沒有找到,返回false
????if(flag)
????{
??????pathElesList.InitList();
??????while(pathElesList.GetCurNode()?!=?NULL)
??????{
????????tempDirName?=?pathElesList.GetCurNode()->GetDirName();
????????if(curPosition->Find(tempDirName)!=NULL)
????????{
??????????//更新工作目錄
??????????Dirobject*?dirNode?=?new?VirtualFold(tempDirName);
??????????workingPath->AddNode(*dirNode);
????????}
????????else
????????{
??????????//路徑不存在
??????????flag?=?false;
??????????break;
????????}
????????pathElesList.GetNextNode();
??????}
????}
????break;
??case?msg.FLOD_WHOLE_PATH://絕對路徑
????workingPath->Empty();
????pathElesList.InitList();
????//添加盤符
????tempDirName?=?pathElesList.GetCurNode()->GetDirName();
????dirNode?=?new?VirtualFold(tempDirName);
????workingPath->AddNode(*dirNode);
????while(pathElesList.GetNextNode()?!=?NULL)
????{
??????tempDirName?=?pathElesList.GetCurNode()->GetDirName();
??????if(curPosition->Find(tempDirName)!=NULL)
??????{
????????//創建目錄
????????dirNode=?new?VirtualFold(tempDirName);
????????workingPath->AddNode(*dirNode);
????????curPosition?=?curPosition->Find(tempDirName);
??????}
??????else
??????{
????????flag?=?false;
????????break;
??????}
????}
????break;
??case?msg.BACK_TO_PARENT://返回到上一目錄?
????workingPath->InitList();
????while(workingPath->GetNextNode()?!=?NULL)
????{
??????dirNode?=?workingPath->GetCurNode();
????}
????workingPath->DelNode(*dirNode);
????break;
??case?msg.BACK_TO_ROOT://返回到根目錄
????workingPath->InitList();
????//添加盤符
????tempDirName?=?workingPath->GetCurNode()->GetDirName();
????dirNode?=?new?VirtualFold(tempDirName);
????workingPath->Empty();
????workingPath->AddNode(*dirNode);
????break;
??default:
????flag?=?false;
??}??
??if(flag)
??{
????std::cout?<“命令執行成功“?<??}
??else
??{
????std::cout?<“命令執行失敗“?<??}
??return?flag;
}
void?CdCmd::SetPath1Type(int?path1Type)
{
??this->path1Type?=?path1Type;
}
int?CdCmd::GetPath1Type()
{
??return?path1Type;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????67584??2015-02-15?14:38??虛擬磁盤項目\1虛擬磁盤項目——任務.doc
?????文件????2803712??2015-02-15?00:12??虛擬磁盤項目\VirtualDisk.eap
?????文件?????114688??2015-02-15?14:03??虛擬磁盤項目\代碼\virtualDiskSys\Debug\virtualDiskSys.exe
?????文件?????802340??2015-02-15?14:03??虛擬磁盤項目\代碼\virtualDiskSys\Debug\virtualDiskSys.ilk
?????文件????1108992??2015-02-15?14:03??虛擬磁盤項目\代碼\virtualDiskSys\Debug\virtualDiskSys.pdb
?????文件???????2798??2015-02-13?18:05??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CdCmd.cpp
?????文件????????325??2015-02-13?14:29??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CdCmd.h
?????文件????????242??2015-02-13?14:29??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\Cmd.cpp
?????文件????????416??2015-02-13?16:14??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\Cmd.h
?????文件???????1076??2015-02-12?20:27??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdElement.cpp
?????文件????????324??2015-02-12?17:27??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdElement.h
?????文件???????2017??2015-02-15?12:13??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdFactory.cpp
?????文件????????528??2015-02-13?11:15??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdFactory.h
?????文件????????249??2015-02-13?12:03??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdFormatCheck.cpp
?????文件????????607??2015-02-13?12:03??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdFormatCheck.h
?????文件???????1341??2015-02-13?11:34??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdParaAnalysis.cpp
?????文件????????382??2015-02-13?11:15??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdParaAnalysis.h
?????文件???????2519??2015-02-14?12:34??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdSplit.cpp
?????文件????????334??2015-02-12?17:50??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdSplit.h
?????文件???????1261??2015-02-14?15:21??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdTypeAnalysis.cpp
?????文件????????203??2015-02-12?21:29??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CmdTypeAnalysis.h
?????文件???????6901??2015-02-15?12:36??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CompareCmd.cpp
?????文件????????733??2015-02-15?07:39??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CompareCmd.h
?????文件??????15442??2015-02-15?11:38??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CopyCmd.cpp
?????文件???????1082??2015-02-15?08:58??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CopyCmd.h
?????文件????????966??2015-02-15?10:25??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CreateNewCmd.cpp
?????文件????????602??2015-02-15?10:24??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\CreateNewCmd.h
?????文件???????8556??2015-02-15?14:03??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\Debug\BuildLog.htm
?????文件??????57114??2015-02-15?12:29??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\Debug\CdCmd.obj
?????文件??????27116??2015-02-15?12:29??虛擬磁盤項目\代碼\virtualDiskSys\virtualDiskSys\Debug\Cmd.obj
............此處省略97個文件信息
評論
共有 條評論