1课程设计报告文件管理系统计算机操作系统Word下载.docx

上传人:b****2 文档编号:4596100 上传时间:2023-05-03 格式:DOCX 页数:20 大小:51.51KB
下载 相关 举报
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第1页
第1页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第2页
第2页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第3页
第3页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第4页
第4页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第5页
第5页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第6页
第6页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第7页
第7页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第8页
第8页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第9页
第9页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第10页
第10页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第11页
第11页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第12页
第12页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第13页
第13页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第14页
第14页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第15页
第15页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第16页
第16页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第17页
第17页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第18页
第18页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第19页
第19页 / 共20页
1课程设计报告文件管理系统计算机操作系统Word下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

1课程设计报告文件管理系统计算机操作系统Word下载.docx

《1课程设计报告文件管理系统计算机操作系统Word下载.docx》由会员分享,可在线阅读,更多相关《1课程设计报告文件管理系统计算机操作系统Word下载.docx(20页珍藏版)》请在冰点文库上搜索。

1课程设计报告文件管理系统计算机操作系统Word下载.docx

文件属性管理功能

帮助功能

2.2.2功能描述

(1)用户管理功能

允许用户进行注册,管理不同用户。

允许注销用户,即删除该用户。

(2)身份验证功能

用户登陆,系统验证其合法性。

(3)目录管理功能

目录管理,进行创建,删除…..等操作。

(4)文件管理功能

管理文件,可进行创建文件,删除,打开,关闭,读,写等操作。

(5)文件属性管理功能

设置文件属性,如读写文件,只读文件,可写文件。

(6)帮助功能

为用户提供使用帮助。

2.3外部接口需求分析

2.3.1用户界面

采用WINDOWS的通用图形界面,对用户友好,且对鼠标和键盘提供帮助,界面的设计遵循以下规则:

a.界面要具有一致性,界面规范遵循WINDOWS软件的界面规范;

b.提供简单的错误处理

c.提供信息反馈,用信息提示用户当前用户软件运行状态,软件界面元件的功能;

d.操作可逆,其动作可以是单个的操作,或是一个相对独立的操作序列;

e.显示启动画面,画面简洁明快,富有时代气息,不太过花哨;

f.遵循国家关于计算机词汇的标准,用词准确,无二义,图形意义明朗;

2.3.2接口需求

(1)硬件接口

支持一般的PⅡ或更高档微机,笔记本电脑。

(2)软件接口

运行于WINDOWS95/98/ME/2000/NT/XP,且具有WIN32API的操作系统上。

(3)故障处理

正常使用时不应出错,就算出现出错,也应该保证数据库无损。

2.4性能需求及软件属性需求

2.4.1性能需求

(1)数据精确性

(2)时间特性:

对一般操作的响应时间不超过1-2秒。

(3)适应性:

满足用户使用需求,对运行环境应不存在困难。

2.4.2软件属性要求

(1)正确性:

所开发软件达到预期目标,运行不出错。

(2)可靠性:

不应出现故障。

(3)完整性:

在出现错误情况下,保证数据不丢失。

(4)易用性:

几面使用当前流行规范,方便用户。

(5)安全性:

提供身份验证,保证安全。

(6)其他特性:

可维护性,可理解性,可测试性等。

第三部分概要设计

3.1总体设计

3.1.1处理流程

系统运行的处理流程如下:

(1)系统启动时,激活身份验证模块。

A.若用户不存在,则进行注册。

B.若用户已存在,则登录系统。

(2)通过身份验证后,系统初始化。

根据系统配置将数据导入。

(3)进入消息循环状态,通过事件驱动机制激活功能模块,并执行指定模块。

(4)各功能执行完毕后,重新进入消息循环状态。

(5)由关闭事件激活关闭功能,退出系统。

3.1.2总体结构和模块外部设计

A.总体结构图(见2页)

B.模块设计表

模块编号

模块名称

备注

M1.1

系统初始化模块

系统初始化

M1.2

关闭系统模块

关闭并退出系统

M1.3

身份验证模块

验证用户身份

M1.4

用户管理模块

管理系统用户

M2

目录管理模块

创建,删除目录

M3

文件管理模块

创建,删除文件

M4

文件属性管理模块

修改文件属性

M5

帮助模块

增加,删除,修改记录

3.2结构设计

3.2.1控件的关联

void__fastcallTfrmMain:

:

mmuExitClick(TObject*Sender)

{

}

关联退出事件;

void__fastcallTfrmMain:

FormCreate(TObject*Sender)

主窗体的创建生成;

mmuRegClick(TObject*Sender)

用户注册的关联;

mmuLogClick(TObject*Sender)

用户登陆关联;

PageControl1Change(TObject*Sender)

用户登陆页;

btnRegClick(TObject*Sender)

对注册单击事件的实现;

btnLogClick(TObject*Sender)

对用户登陆单击事件的实现;

mmuCreateDirClick(TObject*Sender)

目录创建的关联;

mmuDelDirClick(TObject*Sender)

删除目录的关联;

update()

返回上层目录;

DisplayFile()

显示文件;

DisplayDir()

显示目录;

ListView1DblClick(TObject*Sender)

列表显示双击的实现;

pmuDelClick(TObject*Sender)

目录搜索删除然后修改列表;

3.2.2存储结构

在secret.txt文件中,unum为当前用户数,占2个字符;

每个用户的用户名和用户密码各用10个字符来表示。

在user1.txt文件,dnum为该用户下的目录数;

fnum为该用户下的文件数;

dir1……dir10为该用户下的目录,每个用户名占10个字符,剩下的5个字符用以存放这个目录下一级的文件数;

sfile1……sfile10为dir1下的文件,每个文件名用10个字符,文件类型用10个字符;

sfile11……sfile20为dir2下的文件,sfile21……sfile30为dir3下的文件,依此类推。

3.2.3程序的主要结构

(1)用户登陆

FILE*fp=fopen();

//分配空间

for()

{//查找用户名,如不存在,需先注册;

if(){} //用户名正确,如果密码错误

if(){}//显示提示消息

else{

//进入该用户目录;

     

fclose();

//关闭文件流

(2)目录的创建和删除

if(){}//c_d是标识是创建还是删除目录;

for()//不允许同名目录的存在;

{}

if(){

}//如果目录已经存在,显示提示消息

else{//创建文件目录

elseif()//如果是删除

{

for()//查找已有目录;

{     //如果目录不存在,删除操作失败;

for()

if()//如果目录不存在改变标识

}

if(){}//目录不存在显示提示消息

else{//查找到文件夹删除它

}

(3)文件的创建和删除

if()//sub是标示是创建一级还是二级文件

FILE*fp4=fopen();

//查找已有文件;

for()//不允许同名文件的存在;

{}

if(){}//如果存在提示

else{//由此创建新文件;

fwrite();

//写如文件流

}

fclose();

}

删除文件与此类似。

第四部分详细设计

1.头文件和全局变量的定义

//////////////////////////////////////////////////////

//头文件

#include<

vcl.h>

#include"

main.h"

stdio.h>

#pragmahdrstop

#pragmapackage(smart_init)

#pragmaresource"

*.dfm"

TfrmMain*frmMain;

//全局变量定义

intunum;

//用户号

intNO=1;

//用户id

intdnum;

//目录号

intfnum;

//文件号

intsfnum;

intc_d=0;

intsub=0;

inttop;

2.用户的注册和登陆

N2->

Enabled=true;

N5->

if(unum==10)

{

ShowMessage("

用户人数己满!

"

);

else

FILE*fp=fopen("

secret.txt"

"

r+"

intj=unum;

intlog=0;

charbuf[10];

AnsiStringtmp1,tmp2;

tmp2=Trim(edtName->

Text);

for(;

j>

0;

j--)////////////////////////名字搜索

fseek(fp,100L*j,0);

for(inti=0;

i<

10;

i++)

buf[i]='

\0'

;

fread(buf,sizeof(char),tmp2.Length(),fp);

tmp1=AnsiString(buf);

if(tmp1==tmp2)

log=1;

if(log==1)

用户名已经存在!

tmp1=Trim(edtName->

///////////////////注册

j=unum+1;

fwrite(tmp1.c_str(),sizeof(char),tmp1.Length(),fp);

tmp1=Trim(edtSec->

fseek(fp,100L*j+10,0);

unum++;

///////////////////////用户增加

tmp2=compute(unum);

fseek(fp,0L,0);

fwrite(tmp2.c_str(),sizeof(char),2,fp);

////////////////////////////////进入该用户目录

NO=unum;

dnum=0;

fnum=0;

TabSheet2->

Caption="

用户:

+edtName->

Text;

TabVisible=true;

StatusBar2->

Panels->

Items[1]->

Text=edtName->

Items[3]->

Text="

Items[5]->

Items[7]->

edtSec->

PageControl1->

ActivePage=TabSheet2;

fclose(fp);

3.文件夹的创建和删除

if(c_d==0)//////////////判断是创建还是删除目录;

{

TListItem*ListItem;

charbuf[10];

AnsiStringtmp1,tmp2;

tmp1=compute2(NO);

FILE*fp2=fopen(tmp1.c_str(),"

tmp1=edtUserName->

 //////查找已存在的目录;

for(intj=dnum;

j--)//////////不允许同名目录的存在;

{

buf[i]='

fseek(fp2,100L+15*(j-1),0);

fread(buf,sizeof(char),tmp1.Length(),fp2);

tmp2=AnsiString(buf);

{

log=1;

if(log==1)ShowMessage("

目录已经存在!

else{

ListItem=ListView1->

Items->

Add();

///////由此创建新目录;

ListItem->

Caption=edtUserName->

ImageIndex=0;

ListView1->

Selected=ListItem;

fseek(fp2,100L+15*dnum,0);

fwrite(ListItem->

Caption.c_str(),sizeof(char),ListItem->

Caption.Length(),fp2);

tmp1=compute(0);

fseek(fp2,100L+15*dnum+10,0);

fwrite(tmp1.c_str(),sizeof(char),2,fp2);

dnum++;

tmp1=compute(dnum);

fseek(fp2,0L,0);

fclose(fp2);

elseif(c_d==1)

chardir[15];

tmp2=edtUserName->

FILE*fp3=fopen(tmp1.c_str(),"

for(intj=dnum-1;

=0;

j--)////////////////查找已有目录;

{ /////////////////////////////如果目录不存在,删除操作失败;

15;

i++)dir[i]='

fseek(fp3,100L+15*j,0);

fread(dir,sizeof(char),tmp2.Length(),fp3);

tmp1=AnsiString(dir);

if(tmp2==tmp1)log=j+1;

}

if(log==0){ShowMessage("

目录名不存在!

!

for(intj=1;

j<

=dnum-log;

j++)///////////由此删除目录;

fseek(fp3,100L+15*(log+j-1),0);

fread(dir,sizeof(char),15,fp3);

fseek(fp3,100L+15*(log+j-2),0);

fwrite(dir,sizeof(char),15,fp3);

dnum--;

tmp1=compute(dnum);

fseek(fp3,0L,0);

fwrite(tmp1.c_str(),sizeof(char),2,fp3);

update();

fclose(fp3);

4.文件的创建和删除

if(sub==0)

{//sub是标示是创建一级还是二级文件;

AnsiStringtmp1,tmp2;

charbuf[10];

intlog=0;

tmp1=compute2(NO);

FILE*fp4=fopen(tmp1.c_str(),"

tmp2=edtFileName->

//////////查找已有文件;

for(intj=fnum-1;

j--)///////////////不允许同名文件的存在;

{

for(inti=0;

i++)

fseek(fp4,3000L+20*j,0);

fread(buf,sizeof(char),tmp2.Length(),fp4);

tmp1=AnsiString(buf);

if(tmp2==tmp1)log=j+1;

}

if(log!

=0){ShowMessage("

文件已存在!

else{

/////////////由此创建新文件;

ListItem=ListView1->

Caption=edtFileName->

ImageIndex=2;

fseek(fp4,3000L+20*fnum,0);

fwrite(ListItem->

Caption.Length(),fp4);

fseek(fp4,3000L+20*fnum+10,0);

tmp1=compute(cbxStyle->

ItemIndex);

fwrite(tmp1.c_str(),sizeof(char),2,fp4);

fnum++;

tmp1=compute(fnum);

fseek(fp4,2L,0);

}

 fclose(fp4);

}  

intlog=0,log2=0;

FILE *fp4=fopen(tmp1.c_str(),"

tmp2=StatusBar2->

for(intj=dnum-1;

j--)///////////////查找已有文件;

{

i++)buf[i]='

fseek(fp4,100L+15*j,0);

fread(buf,sizeof(char),tmp2.Length(),fp4);

if(tmp2==tmp1)log=j;

 }

 tmp2=edtFileName->

for(intj=sfnum-1;

j--)

for(inti=0;

fseek(fp4,1000L+200*log+20*j,0);

fread(buf,sizeof(char),tmp2.Length(),fp4);

tmp1=AnsiString(buf);

if(tmp2==tmp1)log2=j+1;

if(log2!

文件已经存在!

else{

TListItem*ListItem;

////////////////////由此创建新文件

ListItem->

ListView1->

fseek(fp4,1000L+200*log+20*sfnum,0);

fwrite(ListItem-

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2