文档库 最新最全的文档下载
当前位置:文档库 › 11级计应VC复习

11级计应VC复习

11级计应VC复习
11级计应VC复习

VC++复习题

一、选择题

1、以坐标(200,200)为园心,画出半径为100 的园,应选哪一项()

A)Rectangle(200,200,100,100) B) Elipse(200,200,100,100)

C) Elipse(100,100,300,300) D) Rectangle(100,100,300,300)

2、DoModal() 函数的返回值是()

A)对话框的ID B)对话框中第一个控件的ID

C)对话框的类名D)退出对话框的按钮。

3、要将控件关联变量保存的值显示在控件中,应该执行()

A)Invalidate(false) B) UpdateData(false)

C) UpdateData( true) D) Invalidate(true)

4、要隐藏对话框中的某个控件,应使用()函数调用。

A)ShowWindow(SW_HIDE) B) ShowWindow(SW_SHOW)

C)HideWindow(SW_SHOW) D)HideWindow(SW_HIDE)

5、MFC的CDialog 类是()

A)视图的基类 B)对话框的基类

C)文档的基类 D)主框架的基类

6、双击工作区文件,就能打开该工作区及其包含的工程,其后缀是()

A).dsw B).dsp C) .rc D) .clw

二、填空题

1 、要显示一个模态对话框,应使用函数

2、Windows 程序的对话框分为和对话框二大类。

3、MFC类库中ODBC数据库类主要有三个,其中封装的是数据库,封装了一个对数据库查询和操作的记录集,记录用户记录集中的位置,以便记录可以更新用户界面。

4、CMenu类的成员函数GetSubMenu() 功能是。

5、函数的递归调用是指函数直接或间接地调用。

6、面向对象的程序设计的三大特点是、、

7、MFC应用向导可以创建三种类型的应用程序,分别是、

和。

8、 MFC应用向导可以为应用程序生成4 个主要的类,分别是、

、、。

VC++使用方法

Vc 第一部分C语言编程环境简介 第1章计算机程序设计实验的一般步骤 1.1 计算机程序设计实验的目的 C语言程序设计是一门实践性很强的课程,该课程的学习有其自身的特点,学习者必须通过大量的编程训练,在实践中掌握程序设计语言,培养程序设计的基本能力,并逐步理解和掌握程序设计的思想和方法。具体的说,通过上机实践,应该达到以下几点要求: 1.使学习者能很好地掌握一种程序设计开发环境的基本操作方法(例如(Visual C++6.0),掌握应用程序开发的一般步骤。 2.在程序设计和调试程序的过程中,可以帮助学习者进一步理解教材中各章节的主要知识点,特别是一些语法规则的理解和运用,程序设计中的常用算法和构造及应用,也就是所谓“在编程中学习编程”。 3.通过上机实践,提高程序分析、程序设计和程序调试的能力。程序调试是一个程序员最基本的技能,不会调试程序的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。通过不断的积累经验,摸索各种比较常用的技巧,可以提高编程的效率和程序代码的质量。 下面介绍计算机程序设计实验的一般步骤: 1.2 计算机程序设计实验的准备 上机前需要做好如下准备工作,以提高上机编程的效率。 (1)在计算机上安装一种程序设计开发工具,并学会基本的操作方法。 (2)复习与本次实验相关的教学内容和主要知识点。 (3)准备好编程题程序流程图和全部源程序代码,并且先进行人工检查。 (4)对程序中有疑问的地方做出标记,充分估计程序运行中可能出现的问题,以便在程序调试过程中给予关注。 (5)准备好运行和调试程序所需的数据。 1.3 计算机程序设计实验的步骤 (1)运行程序设计开发工具,进入程序设计开发环境。 (2)新建一个文件,输入准备好的程序。 (3)不要立即进行编译和连接,应该首先仔细检查刚刚输入的程序,如有错误及时改正,保存文件后再进行编译和连接。 (4)如果在编译和连接的过程中发现错误,根据系统的提示找出出错语句的位置和原因,改正后再进行编译和连接。直到成功为止。 (5)运行程序,如果运行结果不正确,修改程序中的内容,直到结果正确为止。 (6)保存源程序和相关资源。 (7)实验后,应提交实验报告,主要内容应包括程序清单,调试数据和运行结

VC 程序设计

一、填空题:(每小题2分,共20分) 1.工程名称为kkk的单文档应用程序,默认情况下其文档类名称为() 2.切分窗口有两种类型:()切分和()切分。 3.ActiveX控件有三个属性集:()、()和方法。 4.Windows操作系统支持两种形式的多任务:基于()的多任务和基于()的多任务 5.Windows提供了四种同步对象:()创建或打开一个命名的或匿名的事件对象)、(把指定的事件对象设置为有信号状态)、(把指定的事件对象设置为无信号状态/)、(请求事件对象)事件对象、和临界区。 6.在Windows系统中,消息有数百种之多,可以大致分为以下三类:()、()和命令消息 7.套接字的数据结构中包含的信息应该有:()、()和协议 8.ActiveX控件的二进制文件的扩展名为(CAB)。9.若从扩展动态链接库中导出类,需在定义该类时添加关键字()10.画刷共有三种基本类型:()、()和图案画刷。 二、选择题:(每小题2分,共40分) 1.下列()函数用于弹出模式对话框? (A)OnInitDialog(B)DoModal(C)OnOK(D)OnCancel 2.()函数用于设置注册数据库,注册文档模板等初始化工作。 (A)I nitInstance(B)OnDraw(C)OnOK(D)OnCancel 3.()函数作用是初始化一个新文档。 (A)GetDocument(B)DeleteContent(C)OnNewDocument(D)Dump 4.自动化客户可以通过自动化服务器的()来控制自动化服务器。 (A)过程(B)属性(C)事件(D)方法 5.所有的标准Windows消息都以WM_为前缀,标准Windows消息应该由相应的窗口类和视图类进行处理,它又分为以下几类:() (A)鼠标消息(B)控件消息(C)键盘消息(D)命令消息(E)窗口消息 6.下列哪些属于文档与视图之间相互作用的函数?() (A)Serialize(B)OnUpdate(C)GetDocument(D)GetNextView 7.对于SDI应用程序,命令传递顺序为:() (A)文档->视图->SDI主框架窗口->应用程序 (B)视图->文档->SDI主框架窗口->应用程序 (C)应用程序->文档->视图->SDI主框架窗口 (D)应用程序->视图->文档->SDI主框架窗口 得分评卷人 得分评卷人

vc++上位机程序

VC++编写简单串口上位机程序 2010年4月13日10:23:40 串口通信,MCU跟PC通信经常用到的一种通信方式,做界面、写上位机程序的编程语言、编译环境等不少,VB、C#、LABVIEW等等,我会的语言很少,C 语言用得比较多,但是还没有找到如何用C语言来写串口通信上位机程序的资料,在图书管理找到了用VC++编写串口上位机的资料,参考书籍,用自己相当蹩脚的C++写出了一个简单的串口上位机程序,分享一下,体验一下单片机和PC通信的乐趣。 编译环境:VC++6.0 操作系统:VMWare虚拟出来的Windows XP 程序实现功能: 1、PC初始化COM1口,使用n81方式,波特率57600与单片机通信。PC的COM口编号可以通过如下方式修改: 当然也可以通过上位机软件编写,通过按钮来选择COM端口号,但是此次仅仅是简单的例程,就没有弄那么复杂了。COM1口可用的话,会提示串口初始化完毕。否则会提示串口已经打开Port already open,表示串口已经打开,被占用了。 2、点击开始转换,串口会向单片机发送0xaa,单片机串口中断接收到0xaa后启动ADC转换一次,并把转换结果ADCL、ADCH共两个字节的结果发送至PC,PC进行数值转换后在窗口里显示。(见文章末尾图) 3、为防止串口被一只占用,点击关闭串口可以关闭COM1,供其它程序使用,

点击后按钮变为打开串口,点击可重新打开COM1。 程序的编写: 1、打开VC++6.0建立基于对话框的MFC应用程序Test,

2、在项目中插入MSComm控件:工程->增加到工程->Components and Controls->双击Registered ActiveX Controls->选择Microsoft Communications Control, version 6.0->Insert,按默认值添加,你会发现多了个电话图标,这是增加后串口通信控件。

(画图vc程序设计)

西安科技大学 《VC++程序设计》 实验报告 题目画图 院、系(部)计算机科学与技术学院专业及班级 学号 姓名:szgkb 日期 2014.6.2

1 题目要求 建立一个通过“画图”程序,它是基于MFC的多文档应用程序,并且应用程序的风格样式具有Office视觉样式的Ribbon风格。在实现程序的过程中,要创建具有Office视觉样式的项目,再为应用程序的Ribbon功能区添加相应的绘图命令。在实现绘图中,能够很好地使用CDC类中的绘图函数,以实现直线、矩形、圆弧、椭圆等的绘制。了解MFC中设备环境类和坐标映射方式,并且了解常用的GDI对象。扩展“画图”程序实现图形的绘制、保存、滚动等功能。 2 功能需求 选择“绘图”选项卡后,将会展开一些绘图工具。选择某个绘图工具后,便可以在客户区中绘制相应的图形,还可以点击面板上的“画笔颜色”和“填充颜色”按钮,利用弹出的颜色对话框分别设置绘图的颜色及填充的颜色,而且单击“文本”按钮还可以在客户区中输入文本内容,在文本输入中,涉及到文本的颜色、插入符的位置、字体、退格、回车、文本字符等的正确处理。 3 总体设计 建立一个MFC的基于对话框的应用程序,取名为MyPaint1。接下来创建Ribbon 功能区,创建了“工具”、“颜色”两个面板。新建绘图类CDrawShape用以封装自由线、直线、矩形、椭圆、圆的绘制过程。在CMyPaint1View中响应绘图命令并通过添加鼠标左键按下以及移动的消息响应函数(OnLButtonDown、OnMouseMovehe、 OnLButtonup)来实现图形绘制。另外设置插入符、文本内容、文本颜色,来实现文本的输出。最后进行对绘图光标的修改。 3.1 系统模块 3.2 系统业务处理流程运行“画图”程序“绘图”菜单 工具面板 客户区绘图 颜色面板 保存图形

VC++ 2010 安装及 C 程序运行

VC++ 2010安装及 C程序运行 一、安装Visual C++ 2010学习版(Visual C++ Express) 本文使用的Visual C++ 2010 Express(后面简称VC2010)大小为3273KB,这并不是VC 2010全部,安装过程中还会下载一部分安装包,因此需要联网。 1、双击安装文件Visual c++ 2010 Express.exe。前两步选择默认设置并同意许可条款。 如下图:

2、选择要安装的可选产品,建议都不选,节约一点时间。 3、然后就是选择安装目标文件夹,建议选择默认的,如下图。

4、之后就是下载和安装。这个需要花费一定时间,请耐心等待。 5、安装成功后会有如下提示:

特别提示:VC++ 2010可以和VC++ 6.0、C Free 5.0共存在一台计算机上,你可以右键单击一个C程序,然后选择上述软件中的一个打开。如下图:

二、使用Visual C++ 2010 Express打开和创建一个C程序 VC 2010 编写和运行一个C程序比VC 6.0要复杂。VC 6.0可以直接打开或建立一个C程序文件并运行,得到结果。而VC 2010必须先建立一个项目,然后在项目中打开或建立C程序文件,然后才能构建并运行这个程序,即使这个C程序只有一个源文件也必须如此。 1、启动Visual C++ 2010 Express,界面如下图: 2、主菜单“文件”/“新建”/“项目”,弹出“新建项目”窗口如下图。选择“Win32 控制台应用程序”,输入项目名称(图中是“test”)和选择存放位置。

3、在弹出的“Win32应用程序向导”窗口中,选择“下一步”。 4、在第二个“Win32应用程序向导”窗口中(如下图),在其中的“附加选项”中, 请务必选中“空项目”,取消默认的“预编译头”,然后单击“完成”。

vc++获取系统时间和程序运行时间

内容: Q:如何获取时间?精度如何? A: 1 使用time_t time( time_t * timer ) 精确到秒 计算时间差使用double difftime( time_t timer1, time_t timer0 ) 2 使用clock_t clock() 得到的是CPU时间精确到1/CLOCKS_PER_SEC秒 3 使用DWORD GetTickCount() 得到的是系统运行的时间精确到毫秒 4 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒 5 要获取高精度时间,可以使用 BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)获取系统的计数器的频率 BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)获取计数器的值 然后用两次计数器的差除以Frequency就得到时间。 6 还有David的文章中提到的方法: Multimedia Timer Functions The following functions are used with multimedia timers. timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime timeGetTime/timeKillEvent/TimeProc/timeSetEvent 精度很高 Q:GetTickCount()函数,说是毫秒记数,是真的吗,还是精确到55毫秒? A: GetTickCount()和GetCurrentTime()都只精确到55ms(1个tick就是55ms)。如果要精确到毫秒,应该使用timeGetTime函数或QueryPerformanceCounter函数。具体例子可以参考QA001022 "VC++中使用高精度定时器"、QA001813 "如何在Windows实现准确的定时"和QA004842 "timeGetTime函数延时不准"。 Q:vc++怎样获取系统时间,返回值是什么类型的变量呢? GetSystemTime返回的是格林威志标准时间 GetLocalTime,和上面用法一样,返回的是你所在地区的时间,中国返回的是北京时间VOID GetSystemTime( LPSYSTEMTIME lpSystemTime // address of system time structure ); 函数就可以获得了,其中LPSYSTEMTIME 是个结构体 含:年,月,日,周几,小时,分,秒,毫秒。 以下是Time的MSDN文档: Compatibility in the Introduction. Libraries LIBC.LIBSingle thread static library, retail versionLIBCMT.LIBMultithread static library, retail versionMSVCRT.LIBImport library for MSVCRT.DLL, retail version Return Value time returns the time in elapsed seconds. There is no error return. Parameter timer Storage location for time Remarks

vc++入门基础程序

1.百分制输出 (一) #include using namespace std; void main() { int n; cout<<"Input the score:"; cin>>n; if (n>=60) if(n>=90) cout<<"The degree is A"<=80) cout<<"The degree is B"< using namespace std; void main() { int n; cout<<"Input the score:"; cin>>n; switch(n/10) { case 10: case 9: cout<<"The degree is A"<

2闰年 #include using namespace std; void main() { int year; cout<<"Input a year:"<>year; if((year%400==0)||(year%4==0&&year%100!=0)) cout< using namespace std; void main() { const int line=9; int i,j; for(i=0;i using namespace std; void main() { int i,j,k; for (i=1;i<=4;i++) { for (j=1;j<=4-i;j++)cout<<" "; for (k=1;k<=2*i-1;k++)cout<<"*"; cout<

VC++洗牌程序报告(类编写)

课程设计报告 学院、系:吉林大学珠海学院 专业名称:软件工程 课程设计科目VC++程序课程设计学生姓名: 指导教师: 完成时间:2013年12月

题目 模拟人工洗牌 编写一个模拟人工洗牌的程序,将洗好的牌分别发给四 个人。 使用结构card 来描述一张牌,用随机函数来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。 对每个人的牌要按桥牌的规则输出。即一个人的牌要先按牌的花色(顺序为梅花、方块、红心和黑桃)进行分类,同一类的牌要再按A、K、Q、J、…、3、2牌的大小顺序排列。 另发牌应按四个人的顺序依次分发。 注:C++随机数函数有: void srand(unsigned seed) 一、设计任务与目标 我选择的题目是模拟人工洗牌的题目,上一学期的C语言设计中我已经使用过rand函数和scrand函数,所以此次设计来说是有一些相对的优势。希望通过课程设计来查看自己半学期来的学习情况,不断完善和学习课程的学习经验,加强自己的动手实践能力,增加知识,强化学习,是自己获得进步。 二、方案设计与论证 1:设计思想: 第一:根据题目要求,设置一个结构体card,因为一张牌有花色和数字的不同,所以结构体card包括了flag和value两个成员,其中flag通过取0,1,2,3来分别表示梅花,方块,红心和黑桃四种花色;value取值2-10、J(11)、Q(12)、K(13)、A(14)来表示牌上的数字。因此一张牌可以由flag和value的组合来唯一确定。

第二:洗牌(shuffle)。由于洗牌时牌的顺序是随机的,所以用到了void srand(unsigned seed)和int rand(void)函数。通过srand函数设置rand 函数所用得到随机数产生算法的种子值来不断改变rand函数的随机数的启动种子值,以产生最佳的随机数。又由于相同的种子后面的rand()函数会出现一样的随机数。所以为了防止随机数每次重复常常使用系统时间来初始化,即使用time函数来获得系统的时间,将time_t型数据转化为(unsigned)型再传给srand 函数,即srand((unsigned)time(&t));而在这里所用的则是srand(time(NULL)),直接传入一个空指针。用0到51的整数分别对应52张牌随机产生0到51之间的一个整数,将该整数所对应的那张牌与0对应的那张牌交换,然后随机产生1到51之间的一个整数,重复该过程,每次随机数的最大范围减1,直到洗牌完毕。 第三:排序(sort)。排序包括按花色排序和按大小排序。在按花色排序中,利用sort函数,根据冒泡排序法,从第一张牌开始依次与其后面的牌比较flag 的大小,若第一张牌的flag大于后面的,则两者交换,否则继续。同理:在按照大小排序时,按照冒泡排序法,大的值在前,小的在后。而在花色排好之后,只需要在某种花色的内部进行大小排序即可。即函数sortvalue(). 第四:牌的显示(show())。牌的显示包括花色和数字。花色用switch函数分为四 种情况分别输出。数字则直接定义一个字符型数组,通过数组value来表示输出即可。 第五:主函数:(1)设置四个数组A[u], B[u], C[u], D[u]来反别表示四个人的牌。 然后模拟出52张牌。(2)洗牌。(3)发牌:发牌时是根据memcpy函数随机将牌发给四个人。(4)排序。将牌发好之后再根据排序函数分别对四个人的牌进行花色和大小的排序。(5)输出。即用show函数将牌输出。结束。 三、程序框图或流程图,程序清单与调用关系 class ArtificialShuffle int flag value

VC(MFC)实现 简单的聊天室程序

《网络程序设计》课程设计报告书 题目:简单的聊天室程序专业:网络工程 完成日期:2012年6月7日

一、题目:简单的聊天室程序 要求:本题是一个简单的聊天室程序,采用客户/服务器模式,分为客户端程序和服务器端程序。由于服务器只能支持一个客户,实际上是一个点对点通信的程序。客户端程序和服务器程序通过网络交换聊天字符串内容,并在窗口的列表框中显示。 。 二、系统概要设计 聊天室是分客户端和服务端两个应用程序的,两个应用程序要想实现交互必须编写相应的指令和识别指令的代码,我写的这是个指令依次是启动停止用户退出的命令,但用户想要进行以上动作中的任何一个时,在用户按下按键的时候,客户端都是向服务端发送相应的指令,再由服务端实际的执行。

三、系统详细设计 对概要设计中提到的功能函数进行详细设计。 服务器端: // ChatRoomServerDlg.cpp : implementation file // #include "stdafx.h" #include "ChatRoomServer.h" #include "ChatRoomServerDlg.h" #include "ListenSocket.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() };

VC++程序代码

// ButtonTestDlg.cpp : implementation file // #include "stdafx.h" #include "ButtonTest.h" #include "ButtonTestDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT

串口调试助手VC源程序及编程详细过程

串口调试助手VC源程序 及编程详细过程 作者:龚建伟 可以任意转载,注明作者和说明来自◆龚建伟技术主页◆ 目次: 1.建立项目 2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件 5.添加串口事件消息处理函数OnComm() 6.打开和设置串口参数 7.发送数据 如果你还没有下载源程序,又对本文有兴趣,请立即下载 在众多网友的支持下,串口调试助手从2001年5月21日发布至今,短短一个月,在全国各地累计下载量近5000人次,在近200多个电子邮件中,20多人提供了使用测试意见,更有50多位朋友提出要串口调试助手的源代码,为了答谢谢朋友们的支持,公开推出我最初用VC控件MSComm编写串口通信程序的源代码,并写出详细的编程过程,姑且叫串口调试助手源程序V1.0或VC串口通讯源程序吧,我相信,如果你用VC编程,那么有了这个代码,就可以轻而易举地完成串口编程任务了。(也许本文过于详细,高手就不用看) 开始吧: 1.建立项目:打开VC++6.0,建立一个基于对话框的MFC应用程序SCommTest(与我源代码一致,等会你会方便一点); 2.在项目中插入MSComm控件选择Project菜单下Add To Project子菜单中的 Components and Controls…选项,在弹出的对话框中双击Registered ActiveX Controls项(稍等一会,这个过程较慢),则所有注册过的ActiveX控件出现在列表框中。选择Microsoft Communications Control, version 6.0,,单击Insert按钮将它插入到我们的Project中来,接受缺省的选项。(如果你在控件列表中看不到Microsoft Communications Control, version 6.0,那可能是你在安装VC6时没有把ActiveX一项选上,重新安装VC6,选上ActiveX就可以了), 这时在ClassView视窗中就可以看到CMSComm类了,(注意:此类在ClassWizard中看不到,重构clw文件也一样),并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标将此图标拖到对话框中,程序运行后,这个图标是看不到的。 3.利用ClassWizard定义CMSComm类控制对象打开ClassWizard->Member Viariables选项卡,选择CSCommTestDlg类,为IDC_MSCOMM1添加控制变量:m_ctrlComm,这时你可以看一看,在对话框头

VC++程序实例

VC++6.0 实例教案----------------沈阳工业大学理学院 VC 程序设计实例教案: 一个最简单的程序: #include void main() { cout<<”Hello,World!\n”; } 说明: main:表示主函数(每个C++程序必须并且只有一个主函数) {}:函数体所在的范围: cout:输出到屏幕 《:插入符(插入到cout 中,将后面的内容输出到屏幕 \n:换行符(输出“Hello World!后换行) iostream.h: 头文件 #include:预处理指令: C++程序的组成: 1.预处理命令(#开头,包含三类:宏定义命令、文件包含命令、条件编译命令) 2.函数(可以使用库函数和自定义函数) 3.语句(组成程序的基本单元) 4.变量和对象(对象C++指的是类的实例) 5.输入和输出 6.注释:用//开头 输出的格式: //cout 的格式输出(P38) #include void main() { int nNum=1234; double fNum=12.3456789; cout<<"1234567890"< void main() { int nNum;

用VC++如何实现程序版本在线升级更新

现在很多共享软件都有"在线升级"功能,比如"Windows 优化大师","超级兔子",所谓在线升级就是一个版本检测程序,通过他,用户可以随时检查有没有新版本程序,以便及时升级,下面我们就在自己的程序里来实现这个功能: 在正式编程前,我要说的是:我不赞成某些共享软件在每次启动时候都检测新版本,并弹出窗口提醒用户,有时候这大大影响或者妨碍了用户的操作和使用,我们要实现的功能是:让用户自己去检查新版本! 编程思路是这样的:首先我们在主页某个地址放一个文件,然后在我们的程序里来检查它,以便获得新版本信息!这里版本信息文件我们用INI文件来操作!比如下列格式, [Version] Version=12 [URL] URL=https://www.wendangku.net/doc/6d9577043.html,/123.exe 其中的 Version是新版本号,12表示V1.2版,这个格式完全可以自己设置,URL是新版本程序下载地址 另外,要获取INTETNET上的文件,我们一般有2种办法,一是通过FTP下载,二是HTTP直接连接,如果你有国际域名空间,那么就可以使用匿名FTP在程序里获取版本信息文件,但是对于使用免费主页的朋友来说就麻烦了。因为服务器不是我们的,这就不太方便了。那么采用HTTP方式获取版本信息文件就很有必要了!要获取网站上的某个文件并保存在本地,我们只需要一个API函数URLDownloadToFile()即可,当成功下载INI文件后我们就可以读取这个文件并进行分析工作了! 具体实现过程: 打开VC,建立MFC程序,放置一个标签IDC_VER ,用来输出信息,另外安排2个按狃,分别是 IDC_CHECK,IDC_DOWNLOAD 前者用来检查是否有新版本,后者用来下载新版本程序! 首先我们添加一个成员变量char new_url[100] 来存放新版本程序的下载地址: 然后在IDC_CHECK 按钮事件里输入以下代码来检查有无新版本: SetDLgItemText(IDC_VER,"正在检查,请等待。。。。。。"); int ret=URLDownloadToFile(NULL,"http://ip/vesion.ini","c:\\version.ini",0,NULL); if (ret==S_OK) //如果下载成功 { // 读取Version 段的数据,得到新版本好 int newversion=GetPrivateProfileInt("Version","Ver",10,"c:\\version.ini"); if (newversion>10) //跟当前版本比较,10表示目前版本V1.0 ,根据具体版本自己设置 { SetDLgItemText(IDC_VER,"有新版本了!");

vc++程序设计

3.25设计一个类CRectangle,除了有相关的数据成员,该类要求包含下述成员函数:矩形从一个位置移动到另一个位置的Move()函数;改变矩形大小的Size()函数;返回矩形左上角的坐标坐标值的Where()函数;计算矩形面积的Area()函数。 代码如下:#include #include class CRectangle { private: double X; double Y; double Length; double Width; public: CRectangle(double s, double m, double L, double W) { X=s; Y=m; Length=L; Width=W; } ~CRectangle() {} void Move(double , double); void Size(double ,double); void Where(); void Area(); }; void CRectangle::Move(double x, double y) { cout<<"矩形按向量("<

VC++串口上位机简单例程(源码及详细步骤

VC++串口上位机简单例程(源码及详细步骤) VC++串口上位机简单例程.rar (4.33 MB) VC++编写简单串口上位机程序 2010年4月13日10:23:40 串口通信,MCU跟PC通信经常用到的一种通信方式,做界面、写上位机程序的编程语言、编译环境等不少,VB、C#、LABVIEW等等,我会的语言很少,C语言用得比较多,但是还没有找到如何用C语言来写串口通信上位机程序的资料,在图书管理找到了用VC++编写串口上位机的资料,参考书籍,用自己相当蹩脚的C++写出了一个简单的串口上位机程序,分享一下,体验一下单片机和PC通信的乐趣。 编译环境:VC++6.0 操作系统:VMWare虚拟出来的Windows XP 程序实现功能: 1、PC初始化COM1口,使用n81方式,波特率57600与单片机通信。PC的COM口编号可以通过如下方式修改: 当然也可以通过上位机软件编写,通过按钮来选择COM端口号,但是此次仅仅是简单的例程,就没有弄那么复杂了。COM1口可用的话,会提示串口初始化完毕。否则会提示串口已经打开Port already open,表示串口已经打开,被占用了。 2、点击开始转换,串口会向单片机发送0xaa,单片机串口中断接收到0xaa后启动ADC 转换一次,并把转换结果ADCL、ADCH共两个字节的结果发送至PC,PC进行数值转换后

在窗口里显示。(见文章末尾图) 3、为防止串口被一只占用,点击关闭串口可以关闭COM1,供其它程序使用,点击后按钮变为打开串口,点击可重新打开COM1。 程序的编写: 1、打开VC++6.0建立基于对话框的MFC应用程序Test,

VC C++程序打包详细教程

VC C++程序打包过程 一、打包软件前的准备工作 1、VC2010专业版软件 2、Depends软件(https://www.wendangku.net/doc/6d9577043.html,/【用途是检测软件的依赖dll文件】) 3、要打包的C++程序 二、准备软件所需要的东西 1、首先打开depends.exe的程序,找到菜单中的file—>open 找到 用C++编写,使用VC2010运行后的可执行文件(一般文件在debug或者是release 文件夹下,需要注意的是,使用depends所找到的文件对于在VC下debug和release 运行时所找到的所需文件是不一样的)

2、例如我上面用VC在debug平台下运行所需要的dll文件,这些文件文件的所需路径 上图有显示,下面要做的是在所对应的文件夹下找出所需要的文件,然后放入到统一的文件夹中,后面会用得到。 三、软件的打包过程 1、运行VC软件,文件→新建→项目,在已安装的模板中找到找到安装和部署,选择 visual studio installer→双击安装项目→找到解决方案资源管理器→找到项目(994test)→单击属性属性窗口→在公司名称中添加自己信息(公司的英文简称)→把Removepreviousversions的属性设置为true.

2、然后找到文件系统,添加system文件夹,双击system文件夹在右边的,单击鼠标 右键,在鼠标弹出来的添加菜单中选择文件。在弹出的选择对话框中添加软件运行时所需要的dll文件。也就是前面说的用depends程序找到的dll文件。添加dll文件完毕后,右键dll文件,在弹出的对话框中选择属性窗口中分别把register、sharedlegacyfile改成vsdrfCOM和true选项。

VC程序界面设计规范

作者:不详来源于:乐普软件研究交流中心发布时间:2005-10-9 0:59:22 6. 66">VC程序界面设计规范 6.1.颜色选择: 6.1.1 基调应以WINDOWS颜色(灰色)为主,同一个窗体中除白、黑、灰色之外,其它的颜色总数不宜超过3种(对以生产和学习为目的的软件而言,娱乐性软件可以做得花哨一些; 6.1.2 窗体和控件(除EDIT、RICH EDIT等编辑控件外)的背景色也宜用灰色,当一个控件有输入焦点或鼠标焦点时,可以用较明亮的颜色; 6.1.3 非激活状态下,字体前景宜用黑色,背景用灰色; 6.2.字体的选择: 6.2.1 汉字字体一般选宋体,字体大小选10号; 6.2.2 一般选系统常用的字体,绝对不要选自己加入的而系统没有的字体;6.3.图片的选择 6.3.1 在窗体的工具拦中的按钮可以用图标,文字可以写上也可以不写,如果不写则一定要使用tip来提示用户该按钮完成的功能; 6.3.2 在按钮中使用的图片要能表达按钮对应功能的意义; 6.3.3 不宜对普通的按钮只用图标做外观; 6.4.操作的便利性 6.4.1 为方便用户的使用,所有的输入控件应该按tab键和回车键排序,特别是密码输入时,应该能用回车切换输入框的焦点; 6.5.数据安全 6.5.1 对程序的退出、写数据等有破坏可能或数据丢失可能的操作应该给用户一次确认的机会; 6.6.帮助文件 6.6.1 帮助文件宜用html格式,因为hlp格式的文件只能在windows中用; 6.7.窗体大小的确定 6.7.1 一般窗体的大小应该可以让用户自己调整,窗体的初始长宽比例为4:3 6.7.2 要考虑到用户可能会用到不同的分辨率,在开发时应使用当时流行的分辨率; 6.7.3 除非必要,否则不宜用模态窗体,但可以让用户选择使窗体成为模态窗体; 6.7.4 应用程序的大小不固定时(拖动窗口的右下角时可以改变窗体大小),应处理窗体变化时窗体内各控件大小和位置的变化;

VC6上编写C程序

前言 Turbo C2.0发布于1989年,对历史并不太长而发展却神速的IT业来说,确实是古董级的软件了。但它几乎是最后一个专门为C语言设计的开发环境,具备学习C语言的一切条件,没有任何非C语言的东西干扰初学者,所以一直被各大高校的C语言课堂采用。 C++的发展使C++的开发环境大行其道。因为C++几乎完全兼容C语言,两者无论编译器还是编辑器、调试器都可以用同一套程序实现,而且C++共享C的库函数,很多软件还是用两者混合编程实现,所以基本所有的C++环境都同时支持C语言。 美国微软公司出品的Visual C++(以下简称VC)是Windows平台上最流行的C/C++集成开发环境。从1993年发行1.0版本开始,历经多年锤炼,于2003年推出最新的7.0版本(Visual C++.NET2003)。本文将介绍如何在流传更广泛的6.0版本下开发C语言程序。 编辑、编译与运行 VC6强大的AppWizard并不支持生成C语言工程,我们需要独辟蹊径。如下图所示,首先点击“新建”按钮建立一个空的文本文件。

然后,我们点击“保存按钮”或者按“ctrl+s”保存这个文件,扩展名一定要是“.c”,如下图所示: 现在,我们可以在文件中输入我们的源代码开始编写程序了,当程序编写完成之后,我们按“编译”按钮或“F7”开始编译它,不过在编译之前,VC先会弹出对话框,询问是否建立一个缺省的项目工作区。VC必须有项目才能编译,所以这里必须回答“Yes”。系统会在保存.c文件的目录里自动生成与c源程序文件同名的.dsw和.dsp等文件。以后可以直接打开这些文件来继续编写程序,不必再重复上面的过程。此后,系统会自动完成编译操作,并且在信息输出窗口中输出相关信息,如图所示:

相关文档