Visual c 第1章 Visual c++6.0基本应用程序的创建 上节介绍了 Visual c++6.0集成开发环境,对于初学者而言,更关心的是如何利用 Visual o++60集 成开发环境设计开发应用程序。 Visual c++6.0提供了应用程序框架生成向导( App Wizard),使用它 可以自动生成一个简单的应用程序。 本章将主要介绍使用 App wizard创建的几种常用的应用程序框架,以及程序的编译、连接、运行 与调试几方面的内容 1.1使用 AppWizard生成工程 在 Visual c++6.0中,使用 App Wizard可以自动生成应用程序框架,用户只需在此框架的基础上 编程实现所需的特定功能 11.1工程与工作区 在ⅤsuaC+6.0中,工程( Project,也称为项目)是应用程序开发的基本单位。工程的实质是 些相互关联的源文件的集合,可以把项目理解成一个工作任务,用户的工作都是围绕这一任务的。工 程最后经过编译、链接生成可执行文件(或者是其他部件,如动态链接库DLL)。 在 Visual c++6.0开发环境中,工程包含在工作区间( Workspace)中,一个工作区可以管理多个 工程。在 Visual c++60集成开发环境中,可以通过工作区窗口管理和维护其下的工程。在新建一个工 程中,可以选择为该工程新建一个工作区还是加入当前工作区 1.12 AppWizard可创建的工程类型 在 Visual c++60开发环境中,创建新的工程,需要执行“File”→“New”菜单命令,在“New” 对话框的“ Projects”选项卡中显示有可创建的工程类型,如图1.1所示 -DAIL COM AppwI Hesource lype wizard 图1.1“New”对话框创建工程 励志照亮人生编程改变命运
14 励志照亮人生 编程改变命运 零基础学 Visual C++ 第1 章 Visual C++6.0基本应用程序的创建 上节介绍了Visual C++6.0集成开发环境,对于初学者而言,更关心的是如何利用Visual C++6.0集 成开发环境设计开发应用程序。Visual C++6.0提供了应用程序框架生成向导(AppWizard),使用它 可以自动生成一个简单的应用程序。 本章将主要介绍使用AppWizard创建的几种常用的应用程序框架,以及程序的编译、连接、运行 与调试几方面的内容。 1.1 使用AppWizard生成工程 在Visual C++6.0中,使用AppWizard可以自动生成应用程序框架,用户只需在此框架的基础上, 编程实现所需的特定功能。 1.1.1 工程与工作区 在Visual C++6.0中,工程(Project,也称为项目)是应用程序开发的基本单位。工程的实质是一 些相互关联的源文件的集合,可以把项目理解成一个工作任务,用户的工作都是围绕这一任务的。工 程最后经过编译、链接生成可执行文件(或者是其他部件,如动态链接库DLL)。 在Visual C++6.0开发环境中,工程包含在工作区间(Workspace)中,一个工作区可以管理多个 工程。在Visual C++6.0集成开发环境中,可以通过工作区窗口管理和维护其下的工程。在新建一个工 程中,可以选择为该工程新建一个工作区还是加入当前工作区。 1.1.2 AppWizard可创建的工程类型 在Visual C++6.0开发环境中,创建新的工程,需要执行“File”→“New”菜单命令,在“New” 对话框的“Projects”选项卡中显示有可创建的工程类型,如图1.1所示。 图1.1 “New”对话框创建工程
‖第2章 Visual c+60基本应用程序的 单击要创建的工程类型,然后在“ Project name”文本框中键入项目的名字,在“ Location”文本 框中需键入工程存放的路径。 说明在使用 App Wizard生成一个应用程序时, Visual C+会在用户选择的路径下以当前的工程名建立 个目录,然后将自动生成的文件存放在该路径下 如果要添加新的项目到打开的工作区中,请选择“ Add to current workspace”选项,否则将启动 创建包含新项目的新工作区。如果要使新项目成为已有工程的子工程,请选中“ Dependency of”复 选框并指定工程名。 单击“OK”按钮,即启动了 App Wizard向导。不同类型的工程,会有不同的 App Wizard向导对话 框,用于工程的初始设置 Visual c++60中可以创建的工程类型及其说明如表1.1所示。 表11可创建的项目类型 工程类型 ATL COM AppWizard 创建ATL应用程序 创建自定义的 AppWizard Database Project 直接创建数据库项目 DevStudio Add-in wizard 创建自动化宏 ISAPI Extension Wizard 创建 Internet服务器或过滤器 MFC ActiveX Controlwizard 创建 Active控件程序 MFC App Wizard(exe) 创建MFC可执行程序 MFC App Wizard(dil 创建MFC动态链接库 New Database wizard 创建SQL服务器数据库 创建Win32控制台应用程序 Win32 Dynamic Link Library 创建Win3 Win32 Static Library 创建Win32静态库 明作为VC的基础教程,本书后面章节的介绍只涉及到其中几种常用项目的开发 在下面几节中,将具体介绍Win32控制台应用程序和MFC可执行程序(包括单文档应用程序和对 话框应用程序)的创建 1.2Win32控制台应用程序 Win32控制台应用程序(win32 Console Application)为一个类似DOS风格文本显示程序,在其 中可以实现基本的CC++程序的创建,多用于CC++语言学习的测试环境。对于刚学习完CC++语言 的ⅤC初学者来讲,理解起来非常容易 本节将结合一个具体的win32控制台应用程序实例的创建、开发,讲解 Visual c++6.0开发环境中 励志照亮人生编程改变命
15 励志照亮人生 编程改变命运 第 2 章 Visual C++6.0基本应用程序的创建 单击要创建的工程类型,然后在“Project name”文本框中键入项目的名字,在“Location”文本 框中需键入工程存放的路径。 说明 在使用AppWizard生成一个应用程序时,Visual C++会在用户选择的路径下以当前的工程名建立 一个目录,然后将自动生成的文件存放在该路径下。 如果要添加新的项目到打开的工作区中,请选择“Add to current workspace”选项,否则将启动 创建包含新项目的新工作区。如果要使新项目成为已有工程的子工程,请选中“Dependency of”复 选框并指定工程名。 单击“OK”按钮,即启动了AppWizard向导。不同类型的工程,会有不同的AppWizard向导对话 框,用于工程的初始设置。 Visual C++6.0中可以创建的工程类型及其说明如表1.1所示。 表1.1 可创建的项目类型 工程类型 说 明 ATL COM AppWizard 创建ATL应用程序 Custom AppWizard 创建自定义的AppWizard Database Project 直接创建数据库项目 DevStudio Add-in Wizard 创建自动化宏 ISAPI Extension Wizard 创建Internet服务器或过滤器 Makefile 创建Make文件 MFC ActiveX ControlWizard 创建ActiveX控件程序 MFC AppWizard(exe) 创建MFC可执行程序 MFC AppWizard(dll) 创建MFC动态链接库 New Database Wizard 创建SQL服务器数据库 Win32 Application 创建Win32应用程序 Win32 Console Application 创建Win32控制台应用程序 Win32 Dynamic_Link Library 创建Win32动态链接库 Win32 Static Library 创建Win32静态库 说明 作为VC的基础教程,本书后面章节的介绍只涉及到其中几种常用项目的开发。 在下面几节中,将具体介绍Win32控制台应用程序和MFC可执行程序(包括单文档应用程序和对 话框应用程序)的创建。 1.2 Win32控制台应用程序 Win32控制台应用程序(Win32 Console Application)为一个类似DOS风格文本显示程序,在其 中可以实现基本的C/C++程序的创建,多用于C/C++语言学习的测试环境。对于刚学习完C/C++语言 的VC初学者来讲,理解起来非常容易。 本节将结合一个具体的Win32控制台应用程序实例的创建、开发,讲解Visual C++6.0开发环境中
Visual c++ 程序代码的创建、编辑以及工程的编译、链接、执行和调试方法 1.2.1利用向导生成Win32控制台工程 Win32控制台项目的生成步骤可表示如下: (1)启动Ⅴ isual c++6.0,执行“File”→“New”菜单命令,在“New”对话框(如图1.1所示) 的“ Projects”选项卡左侧的项目列表中选中“win32 Console Application”a (2)在“ Project name”文本框中键入项目的名称“ Console pro”,在“ Location”文本框中指定 所要创建的项目的位置(文件夹) (3)单击“OK”按钮,在弹出的“win32 Console Application”对话框中,选中“ An empty project”单选框(默认)后,单击“ Finish”按钮,如图1.2所示 What kind of Console Application do you An empty project. C A"Hello, world! application. r An application that supports MFC. 图1.2“win32 Console Application”对话框窗口 (4)在新弹出的“ New Project Information”对话框中,单击“OK”按钮,项目即创建成功。 项目创建成功后,在工作区窗口的 File view选项卡内,就可以看到一个名为“ Console pro”的工 程文件,“ Console pro files”目录下的“ Source files”、“ Header files”、“ Resource files”三个子目 录分别用于分类放置与 Consolepro项目有关的源程序文件、头文件和相关资源文件。 说明创建项目时,选择创建的为空项目,所以“ Source files”、“ Header files”“ Resource files”三 个子目录下没有任何文件。 1.2.2生成和编辑源文件 使用 App wizard创建了工程之后,用户就可以在工程框架的基础上,添加、编辑源文件与资源, 实现用户的功能需求 本实例实现的功能是将一个字符串经加密转换为一个新的串。其加密方法是:当字符串中包含有 a’~‘y’的小写字母时,用后一个字母代替前一个字母,其中‘z’变换为‘a'。例如 原串为 Tell you a secret 加密后的串为 Tfmm zpv b tfdsfu 励志照亮人生编程改变命运
16 励志照亮人生 编程改变命运 零基础学 Visual C++ 程序代码的创建、编辑以及工程的编译、链接、执行和调试方法。 1.2.1 利用向导生成Win32控制台工程 Win32控制台项目的生成步骤可表示如下: (1)启动Visual C++6.0,执行“File”→“New”菜单命令,在“New”对话框(如图1.1所示) 的“Projects”选项卡左侧的项目列表中选中“Win32 Console Application”。 (2)在“Project name”文本框中键入项目的名称“ConsolePro”,在“Location”文本框中指定 所要创建的项目的位置(文件夹)。 (3)单击“OK”按钮,在弹出的“Win32 Console Application”对话框中,选中“An empty project”单选框(默认)后,单击“Finish”按钮,如图1.2所示。 图1.2 “Win32 Console Application”对话框窗口 (4)在新弹出的“New Project Information”对话框中,单击“OK”按钮,项目即创建成功。 项目创建成功后,在工作区窗口的FileView选项卡内,就可以看到一个名为“ConsolePro”的工 程文件,“ConsolePro files”目录下的“Source Files”、“Header Files”、“Resource Files”三个子目 录分别用于分类放置与ConsolePro项目有关的源程序文件、头文件和相关资源文件。 说明 创建项目时,选择创建的为空项目,所以“Source Files”、“Header Files”、“Resource Files”三 个子目录下没有任何文件。 1.2.2 生成和编辑源文件 使用AppWizard创建了工程之后,用户就可以在工程框架的基础上,添加、编辑源文件与资源, 实现用户的功能需求。 本实例实现的功能是将一个字符串经加密转换为一个新的串。其加密方法是:当字符串中包含有 ‘a’~‘y’的小写字母时,用后一个字母代替前一个字母,其中‘z’变换为‘a’。例如: 原串为: Tell you a secret! 加密后的串为: Tfmm zpv b tfdsfu!
‖第2章 Visual c+60基本应用程序的 要求程序对输入串加密,输出加密前和加密后的串,再将加密后的字符串解密输出。 首先需要为工程添加实现文件(cpp),其实现过程如下: 执行“Fle”→“New”菜单命令,在“New”对话框的“ files”选项卡中显示有可创建的文件 类型,如图1.3所示。 Files Other Documents Console Location D: Console Pr B SOL Script File A Text File Cancel 图1.3“New”对话框创建文件 可以看到 Visual c++60支持多种文件的创建与编辑,其支持的文件类型及其说明如表1.2所示 表12可创建的文件类型 文件类型 说明 文件类型 说明 创建活动服务器页 Icon File 创建图标文件 Binary File 创建二进制文件 Macro File 创建宏文件 Bitmap File 创建位图文件 ODBC Script File 创建ODBC脚本文件 C/C++ Header file 创建CC++头文件 Resource Script 创建资源脚本文件 Cursor file 创建光标文件 Resource Template 创建资源模板文件 HTML Page 创建HTML文件 Text File 创建文本文件 单击选中“C++ Source file”文件类型,在“File”文本框中键入文件名“ Secret”。 Location文 本框下的输入框是输入文件存放的有效目录,默认的目录是项目的根目录,用户也可以根据需要自己 组织源文件。 注意对话框右边的“Add d to project”一定要选中,表示新建的文件加入到项目中。 单击“OK”按钮后,即创建了资源文件“ Secret.cpp"。这时,系统自动进入文本编辑状态,用 户可以进行源程序的录入工作 说明当用户编辑一个文件时,VC标题栏同时显示正在编辑的文件的名称,如果该文件名后带一个星 号(*),说明该文件进行了修改,尚未存盘 励志照亮人生编程改变命
17 励志照亮人生 编程改变命运 第 2 章 Visual C++6.0基本应用程序的创建 要求程序对输入串加密,输出加密前和加密后的串,再将加密后的字符串解密输出。 首先需要为工程添加实现文件(.cpp),其实现过程如下: 执行“File”→“New”菜单命令,在“New”对话框的“Files”选项卡中显示有可创建的文件 类型,如图1.3所示。 图1.3 “New”对话框创建文件 可以看到Visual C++6.0支持多种文件的创建与编辑,其支持的文件类型及其说明如表1.2所示。 表1.2 可创建的文件类型 文件类型 说 明 文件类型 说 明 Active Server Page 创建活动服务器页 Icon File 创建图标文件 Binary File 创建二进制文件 Macro File 创建宏文件 Bitmap File 创建位图文件 ODBC Script File 创建ODBC脚本文件 C/C++ Header File 创建C/C++头文件 Resource Script 创建资源脚本文件 Cursor File 创建光标文件 Resource Template 创建资源模板文件 HTML Page 创建HTML文件 Text File 创建文本文件 单击选中“C++ Source File”文件类型,在“File”文本框中键入文件名“Secret”。Location文 本框下的输入框是输入文件存放的有效目录,默认的目录是项目的根目录,用户也可以根据需要自己 组织源文件。 注意 对话框右边的“Add to project”一定要选中,表示新建的文件加入到项目中。 单击“OK”按钮后,即创建了资源文件“Secret.cpp”。这时,系统自动进入文本编辑状态,用 户可以进行源程序的录入工作。 说明 当用户编辑一个文件时,VC标题栏同时显示正在编辑的文件的名称,如果该文件名后带一个星 号(*),说明该文件进行了修改,尚未存盘
Visual c++ 在工作区窗口“ File view”选项卡的“ Source file”目录下,列出了新创建的资源文件名。如果 需要把磁盘上其他目录下的源文件加入到某个工程中,只要右击 “ Source files”目录,在弹出的菜单中,选择“ Add files to folder. 命令,如图14所示,在弹出的“1 nsert Files into Project”对话框中选|cpo 择这个源文件即可 另外,如果需要从工作区中去除某些无关的文件,则只要在工作 cr Add te Soures Contral 区窗口中选中文件,然后按【 Delete】键即可。 注意 这种操作方式仅仅表明这些文件不是工程文件的一个组成部分 并不是文件操作中的删除工作,也就是说文件仍然存储在硬盘上。 图14快捷菜单 添加的资源文件“ Secret. cpp”的代码清单如下 #include<iostream> using namespace std; void secret(char* s) //加密函数 hi1e(*s!=\0') if(+s>96&*s<122) //字符为"a”~”z void deseret(char* s) //解密函数 whi1e(*s!=\0") if(+s>97&*s<123) //字符为"a”~”z” else if(*s==97) int main()[ char st[]="Tell you a secret! cout<<"原始字符串:"<<st<<end secret(st);//加密 cout<<"加密字符串:"<<st<<endl deseret(st);//解密 out<<"解密字符串:"<<st<<end1 励志照亮人生编程改变命运
18 励志照亮人生 编程改变命运 零基础学 Visual C++ 在工作区窗口“FileView”选项卡的“Source File”目录下,列出了新创建的资源文件名。如果 需要把磁盘上其他目录下的源文件加入到某个工程中,只要右击 “Source Files”目录,在弹出的菜单中,选择“Add Files to Folder...” 命令,如图1.4所示,在弹出的“Insert Files into Project”对话框中选 择这个源文件即可。 另外,如果需要从工作区中去除某些无关的文件,则只要在工作 区窗口中选中文件,然后按【Delete】键即可。 注意 这种操作方式仅仅表明这些文件不是工程文件的一个组成部分, 并不是文件操作中的删除工作,也就是说文件仍然存储在硬盘上。 添加的资源文件“Secret.cpp”的代码清单如下: // Secret.cpp #include<iostream> using namespace std; void secret(char* s) //加密函数 { while(*s!='\0') { if(*s>96&&*s<122) //字符为"a"~"z" *s=*s+1; else if(*s==122) *s='a'; s++; } } void desecret(char* s) //解密函数 { while(*s!='\0') { if(*s>97&&*s<123) //字符为"a"~"z" *s=*s-1; else if(*s==97) *s='z'; s++; } } int main(){ char st[]="Tell you a secret!"; cout<<"原始字符串: "<<st<<endl; secret(st);//加密 cout<<"加密字符串: "<<st<<endl; desecret(st);//解密 cout<<"解密字符串: "<<st<<endl; return 0; } 图1.4 快捷菜单