信息与电气工程学院
课程设计说明书
(200 /200 学年第学期)
课程名称:软件程序设计课程设计
题目:图片管理器
专业班级:物联网工程1201班
学生姓名:刘铭
学号: 3
指导教师:赵辉
设计周数:第十九周
设计成绩:
2015年1月9日
1.需求分析
由于对于现在使用电脑的大部份用户来说,在进行图片查看浏览的时候都会用到图片管理器,而对于图片的处理大部份也都是一些具有专业图片处理知识的人才会做的。对于一些特别的观看效果来说,我们用一些专业的看图软件是高射炮打蚊子,仅仅为了看图而用这样一些软件是不合算的,我们必须花费一些时间去学习这些软件,因为越是功能强大的软件,往往使用起来越复杂。这是一个很现实的规律。对于一般的用户来说,他们说不定连这个软件都不知道。我们需要一个简单实用的图片管理器来进行浏览、管理。
本软件为一个简单而且很实用的图片查看工具,不但可以进行图片的一些简单查看,浏览操作,而且还可以进行用户登录、分类、增删等功能,是一款比较适合广大普通用户和非计算机专业的用户的图片查看软件,本软件不但界面简洁,功能齐全,而且操作简单。是款比较容易操作,实用的图片管理软件。
我们从用户角度,把软件功能的实现变得简单,易于操作。
2.开发与运行环境
开发环境:Windows XP、Windows 7
开发工具:Microsoft Visual studio2010 C#、SQL2008
运行环境:Windows XP/7
2.系统设计
.系统流程
3.详细设计 .登陆界面
本系统采用“用户—账号—数据库”一体模式,做到用户登录以后能够浏览与管理的图片及相册都为私人所有,以确保隐私安全。
主界面
添加目录 删除目 导入图片 删除图片
退出
浏览文件
修改名称
导入到目录
图片浏览界面
返 回 目 录
上 一 张 下 一 张
自 动 播 放 时 间 间 隔 实 际 大 小 合 适 大 小 删 除 图 片
菜单栏按钮除了有图标及名称以外,鼠标悬停一秒自动显示提示,主体部分左侧目录列表与缩略图显示区域之间边框位置可调。单击选中列表名称背景自动变蓝,并且在右侧缩略图显示区域显示该目录下的图片缩略图及图片名称,单击选中缩略图会有蓝色边框且支持多选。
目录操作
新增目录时会有窗口提示填写新目录名称,后在目录列表里生成项,并且在系统文件夹下生成相应文件夹。未选定目录情况下删除目录会提示选择一个目录,选定目录情况下删除目录时会有窗口提示操作不可逆是否确认,点击确认后完成删除操作。
图片操作
未选定目录情况下导入图片下拉列表自动显示首个目录名称,选定目录情况下导入图片下拉列表显示所选定目录名称,也可即时选定。支持bmp,jpg,gif,jpeg,ico格式图片。用户可以选定某图片进行改名,若有图片重名将自动改名。状态栏显示所选图片信息。缩略图按比例缩小并在各框中居中显示。导入图片时下方进度条显示进度鼠标形状为漏斗。
.图片浏览界面
本界面与主界面为同一窗口,开始下方工具栏隐藏,双击缩略图进入图片浏览时上方工具栏隐藏显示下方工具栏。鼠标悬停按钮一秒则显示提示。播放幻灯片时可自行选择时间间隔,窗口小于图片大小时可拖动也可选择合适窗口大小显示。
5.调试分析
主界面打不开
出错原因及改正:把lstFolder的SelectedIndexChanged事件的代码没注意写在了lvView
的SelectedIndexChanged中了…使得删除路径不对…导致操作时出现异常…
将两部分代码交换
每次运行时原先保存在lstFolder的文件不显示了
错误原因及改正:要使得上次运行时保存在图片目录文件下的文件在下次运行时也直接显示在lstFolder中…需要在MainForm_Load方法里加上如下代码
6.课程设计总结
通过这次课程设计,实现了一个简单的图片管理系统,而我也对C#软件开发有了更深一步的认识,不论从开始分析到后来编程再到最后调试,也学到了很多在课堂上没有学到的东西。对于VisualStudio2010和SQL2008的使用也更加熟练。系统中存在的一些不足和系统设计上存在的缺憾,说明自己在这些方面还有很多不足之处有待自己进一步学习、提高。在本次课程设计中,赵师赵辉和同组同学给了我很大的指导帮助,从他们哪里我学到了很多,在此表示感谢!
7.参考文献
[1]邱锦伦Visual C#.NET程序设计教程清华大学出版社2006年4月
[2]刘金岭数据库系统及应用教程—SQL Server2008 清华大学出版社2013年9月
[3]陈广C#程序设计基础教程与实训北京大学出版社2013年7月
8.附录
using System;
using;
using图片管理器
{
static class Program
{
[STAThread]
static void Main()
{
();
(false);
(new frmLogin());
}
}
}
using System;
using;
using ;
using ;
using ;
using ;
using;
using ;
namespace图片管理器
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private string path = + "\\图片目录";
private Pen boundPen = new Pen;
private Pen selPen = new Pen, 3);
private SolidBrush textBrush = new SolidBrush;
private SolidBrush bgBrush;
private StringFormat format = new StringFormat();
private Bitmap bmpInPb;
private Point mousePoint = new Point();
private Point pbPoint = new Point();
private bool canDrag;
private bool isDraging;
private int bmpIndex;
private void MainForm_Load(object sender, EventArgs e) {
= ;
= 1;
ShowView();
bgBrush = new SolidBrush;
[0].Visible = false;
= ;
try
{
if (!(path))
{
(path);
}
}
catch (Exception ex)
{
, "错误",
, ;
return;
}
DirectoryInfo dir = new DirectoryInfo(path);
foreach (DirectoryInfo d in ())
{
Folder folder = new Folder, ;
isible = false;
= ;
try
{
if (!(path))
{
(path);
}
}
catch (Exception ex)
{
, "错¨a误¨",
, ;
return;
}
DirectoryInfo dir = new DirectoryInfo(path);
foreach (DirectoryInfo d in ())ext = "名称:êo" + bmpName + "尺寸:êo" + + "x" +
= bmpInPb;
MatchImage();
}
private void MatchImage()
{
if
{emoveAll();
}
[1].Text = "目录" + delFolderName +
"已经被删除";
}
private void tsbtnDel_Click(object sender, EventArgs e)
{
if== 0 || == false)
{
("请选择一张图片再进行删除!", "消息", ,
;
return;
}
Folder folder = (Folder);
try
{
();
while> 0)
{
ListViewItem item = [0];
;
}
}
catch (Exception ex)
{
, "错误",
, ;
return;
}
finally
{
();
}
}
private void添¨a加¨用户ìToolStripMenuItem_Click(object sender, EventArgs e)
{
FormAdd Add = new FormAdd();
();
}
private void关于¨2本à软¨¨a件tToolStripMenuItem_Click(object sender, EventArgs e)
{
frmAbout About = new frmAbout();
();
}
private void退a出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void toolStripButton1_Click_1(object sender, EventArgs e)
{
Folder folder = (Folder);
try
{
();
while> 0)
{
ListViewItem item = [0];
;
}
}
catch (Exception ex)
{
, "错误",
, ;
return;
}
finally
{
();
}
}
}
}
using System;
using;
using ;
using ;
namespace图片管理器
class PicInfo
{
private string _fullName; == -1)
{
_nameNoExtension = value;
}
}
}
public string GetExtension()
{
return (_fullName);
}
public static bool IsImage(string path)
{ MP;*.JPG;*.GIF;*.jpeg;*.ico
string ext = (path).ToUpper();
if (ext == ".BMP" || ext == ".JPG" || ext == ".GIF"
|| ext == ".JPEG" || ext == ".ICO")
{
return true;SQLEXPRESS;AttachDbFilename=|DataDirectory|\;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection conn = new SqlConnection(connString);
();
string sql="select*from UserInfo where UserName='"+"'and UserPwd='"+"'";
SqlCommand cmd=new SqlCommand(sql,conn);
SqlDataReader dr=();
if())
{
MainForm frm=new MainForm();
();
();
}
else
{
("用户名或者密码错误");
}
();
();
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
}
using System;
using;
using ;
using ;
using ;
using ;
using;
using ;
namespace图片管理器
{
public partial class FrmLoadPic : Form
{
public FrmLoadPic()
{
InitializeComponent();
}
public FrmLoadPic(ListBox lst, StatusStrip sta)
{
InitializeComponent();MP;*.JPG;*.GIF;" +
"*.jpeg;*.ico)|*.BMP;*.JPG;*.GIF;*.jpeg;*.ico";
}
private ListBox lstFolder;
private StatusStrip staMsg;
private void frmLoadPic_Load(object sender, EventArgs e)
{
foreach (object o in
{
}
if!= 0)
{
= ;
}
else
{
= 0;
}
}
private void btnSelPic_Click(object sender, EventArgs e)
{
if () ==
{
foreach (string s in
{
if (! && (s)) {
PicInfo picInfo = new PicInfo(s);
true);
}
}
}
}
private void chklsPics_SelectedIndexChanged(object sender, EventArgs e) {
= ((PicInfo).NameNoExtension;
}
private void btnUpdateName_Click(object sender, EventArgs e)
{
if!= 0)
{
((PicInfo).NameNoExtension = ;
}
}
private void btnOK_Click(object sender, EventArgs e)
{
if== 0)
{
return;
}
ArrayList names = new ArrayList();
Folder folder = (Folder);
if (!
{
();
}
string path = ();
(path));
for (int i = 0; i < ; i++)
{
names[i] =
((string)names[i]).ToUpper();
}
();
ToolStripProgressBar bar = (ToolStripProgressBar)[0];
= true;
= ;
try
{
int i = 1;
int count = foreach (PicInfo p in
{
[1].Text = "";
string name = InsertAName, names);
string destFile = path + "\\" + name + ();
, destFile);
(name + ());
= 100 * i / count;
i++;
}
}
catch (Exception ex)
{
, "错误",
, ;
return;
}
finally
{
= ;
= false;
}
int index = ;
if!= index)
{
= index;
}
= ;
}
private string InsertAName(string aName, ArrayList names)
{
int nameExtend = 0;
string tempName = aName;
int namesCount = ;
for (int i = 0; i < namesCount; i++)
{
string name = (string)names[i];
if ().CompareTo(name) == 0)
{
nameExtend++;
tempName = (aName)
+ "-" + ();
}
if ().CompareTo(name) == -1)
{
(i, tempName);
break;
}
if (i == namesCount - 1)
{
(tempName);
}
}
return tempName;
}
private void btnCancel_Click(object sender, EventArgs e)
{
Close();
}
}
}
namespace图片管理器
{
partial class FrmLoadPic
{
/param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
();
}
(disposing);
}
#region Windows Form Designer generated code
MP";
string thumbailFile = _thumbnailPath + "\\" + picName;
if (!(thumbailFile))
{
CreateThumbnail(sourceFile, thumbailFile);
}
(sourceFile), new Bitmap(thumbailFile));
}
_isLoaded = true;
}
private bool ThumbnailCallback()
{
return false;
}
public void Add(string aName)
{
string picName = (aName) + ".BMP";
string sourceFile = _sourcePath + "\\" + aName;
string thumbnailFile = _thumbnailPath + "\\" + picName;
CreateThumbnail(sourceFile, thumbnailFile);
(sourceFile), new Bitmap(thumbnailFile));
}
private void CreateThumbnail(string source, string dest)
{
myCallback =
new (ThumbnailCallback);
Bitmap bmp = new Bitmap(source);
int x = ;
int y = ;
try
{
if (x > 100 || y > 100)
{
float scale = (x > y) (x / 100F) : (y / 100F);
Image aThumbnail =
((int)(x / scale), (int)(y / scale), myCallback,
;
(dest);
}
else
{
(dest);
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
();
}
}
public static Rectangle GetRectFromBounds(Bitmap bmp, Rectangle Bounds) {
int x, y;
x = + - / 2;
y = + (100 /2+ 4;
return new Rectangle(x, y, , ;
}
public static Rectangle GetRectFromBounds(int width, int height, Rectangle Bounds)
{
int x, y;
x = + - width)/2;
y = + (100 - height) / 2 + 4;
return new Rectangle (x,y,width, height);
}
public override string ToString()
{
return _name;
}
public void Remove(string aName)
{
string picName = (aName) +".BMP";
string sourceFile = _sourcePath +"MP";
string sourceFile = _sourcePath + "\\" + aName;
string thumbnailFile = _thumbnailPath + "\\" + picName;
Bitmap bmp = (Bitmap);
();
}
try
{
Directory .Delete (_sourcePath ,true);
Directory .Delete (_thumbnailPath ,true);
}
catch (Exception ex)
{
throw ex;
}
}
}
}
第七章财务管理系统设计与实现 §7.1 财务管理系统业务简介 一、财务管理业务概述 企业财务管理是基于企业再生产过程中客观存在的财务活动和财务关系而产生的,根据企业再生产过程中的资金运动,工业企业财务管理的内容包括:固定资金管理、流动资金管理、专用资金管理、产品成本管理、销售收入管理、企业纯收入和财务支出管理等。其中固定资金管理是指垫支在劳动资料上的资金(包括:厂房、机器设备等固定资产);流动资金是指垫支在劳动对象上的资金(包括:原材料、燃料、在产品、产成品、银行存款及各种结算项目);专用资金是指具有专门用途的资金(包括:生产发展基金、更新改造基金、新产品试制基金、大修理基金等);成本管理将在下一章中详细介绍。 二、财务管理工作的具体内容 1.凭证 凭证的制作和管理是财务工作的一项重要内容,所有的财务活动都要通过制作凭证才能记入相应的帐目。当经济活动发生后,财务人员要收集业务的原始凭证(发票、入出库单等),并根据业务活动涉及的财务科目填写相应的凭证分录,制成记帐凭证。在一段时间后要将凭证归类装订成册以备检查。财务涉及的凭证一般包括:收款凭证、付款凭证和转帐凭证。 2.记帐 在凭证制作完成后,由会计人员对凭证进行审核,检查凭证制作是否正确,然后再根据凭证涉及的科目登记相应的明细分类帐和总帐。 3.银行帐 企业银行帐因为牵涉到流动资金的管理,所以管理起来较为严格,需要计算每天的收入、支出并结出余额。另外银行帐管理还包括银行对帐业务。企业的开户银行为企业设立一本收入、支出明细帐,而企业本身也有银行存款收入、支出的日记帐,这两本张之间就存在着一个对帐问题。银行定期给企业发出银行对帐单,企业根据对帐单上银行帐的收入、支出记录和自己记的银行日记帐记录进行核对,将对上的记录销掉,查找出哪些记录是银行未作登帐的(银行未达帐),哪些记录是企业未登帐的(企业未达帐),并制作出未达帐调节表。 4.往来帐 往来帐是指企业与往来户(客户、供应商)之间发生的应收款、预收款、应付款、预付款业务。往来业务量对企业来说一般是比较多的。要管理好每一个往来户的每一笔往来款,首先要对往来户单独设立帐户,将每一笔应收、应付款详细记录清楚;当收款或付款时,将收到或付出的款项逐笔分配到应收或应付款记录中进行勾对,销掉应收或应付款记录。这是一项比较复杂而繁琐的工作。 5.报表及财务分析 企业每个核算期末都要制作报表,上报上级单位和财政税务部门。各类财务报表从不同角度反映企业的经营和财务状况,报表主要有:资产负债表、利润表和财务状况变动表。 财务工作还能及时为企业领导提供相关的财务数据信息,如:资金使用情况,企业赢利
《UML建模技术课程设计》 课题名称: 专业: 班级: 学号: 姓名: 指导教师: 成绩: 第一章需求分析 1.1、系统的性能需求 为了保证考试系统能长期、稳定、安全、可靠、高效地运行,系统应满足以下的一些性能需求: ①系统处理的准确性和及时性:准确性和及时性是考试系统的必要性能。在系统设计和开发过程中,要充分考虑系统目前和将来可能承受的工作量,使系统的处理能力和响应时间能满足用户要求。 ②系统的开放和系统可扩充性:考试系统在开发过程中,应充分考虑以后的可扩充性。例如,系统要能够承载课程的题库、试卷库等来实现课程考试。题库、试卷库或单套试卷可以随时进行增加、删除和修改等维护。要求系统提供足够的手段进行功能的调整和扩充。可以实现简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。 ③系统的易用性和易维护性:要求系统应该尽量使用用户熟悉的
术语和中文信息的界面。系统界面应友好易用,应有详细的系统使用说明,对一些容易出现的误操作应该有相应的提示以及处理办法。考试系统要具有易用性、友好性,系统安装方便、维护简单。 ④系统的安全性:充分考虑用户、题库、服务器等的安全。系统对系统不同等级的用户分别设置不同的权限。考试期间由于机器死机重新启动机器后,计时器应合理进行计时。考试期间由于机器原因需要更换考试用机,学生重新登录考试系统后应能继续做题,考试服务器应能及时保存学生的操作结果。 1.2、系统主要功能 系统主要功能包括学生管理、试卷管理、教师管理、学生在线考试等等,下面就系统的主要功能做简要分析: ①用户信息管理学生可以登录系统,登录以后可以参加考试和查询成绩。管理员可以添加、修改、删除学生和教师信息。教师登录后可以添加、修改、删除试题,并且可以不同类型题目组合试卷,也可以按照试卷专业或者试卷名称查询试卷。 ③在线考试学生登录以后出现学生信息包括学号、姓名、考试课程等,学生确认信息后开始考试,考试结束后需要提交试卷。 ④题库管理教师或者管理员可以在题库里面增加、修改、删除试卷。 ⑤成绩管理管理员可以查询学生的成绩,也可以删除学生的成绩,但是不能对学生的成绩做出修改。 1.3 功能模块需求分析 系统的用户包括考生用户、教师用户以及系统管理员用户。用
软件学院 课程设计报告书 课程名称JavaEE 课程设计______________________ 设计题目个人财务系统____________________ 专业班级软件工程 _______________________ 学号xxxxxxxxx07 __________________________ 姓名XXXXX_______________________________ 指导教师姜彦吉 ________________________
2011年12 月
4.1.4系统构造关系 图一2 (jsp页面构造)
4.2 Jsp 页面设计 421登录界面 图一4 (登录界面) 代码如下: vform action= "servlet/LoginServlet" method= "post" >
图一5 (登录成功查询界面) 代码如下: <% String username=(String)session.getAttribute (”name"); if (username!= null ){%>