⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第02章 编程环境.htm

📁 用非常通俗的语言介绍了C++和C
💻 HTM
📖 第 1 页 / 共 3 页
字号:
      </P>
      <P>牛刀小试开始。 </P>
      <H4>2.2.1 <A name=一个空白工程>一个空白工程</A> </H4>
      <P>这是Windows的天下,尽管在《白话C++》的学习中,Windows编程并非重点,但我们还是选择了Windows作为我们认识CB的起点。 
      </P>
      <P>从主菜单中选择 File | New Application </P>
      <P><IMG height=65 src="第02章 编程环境.files/NewAppMenu.jpg" width=156> </P>
      <P><I>(约定:在谈菜单命令时我们约定用这种格式:File | New Application 表示如上图的实际操作。)</I> </P>
      <P>执行 New 
      Application之后,CB为我们新一个空白工程。所谓空白工程是指:绝大都数Windows程序所共同拥有的,必须的一个框架。再说白点,就是你每写一个新程序,都需要的一堆完全一样的代码,也就是说在多数情况,这是一步机械的工作。既然是“机械”的工作,当然由机器来完成最合适。 
      </P>
      <P>很多年前,笔者VC和BC都未流行的时,做了一个月“机械工”后,和许多那时的程序员一样,笔者很快尝试自已对这部分的代码进行封装。后来笔者又建议单位购买一套中国人写的窗口对象类库;再后来,笔者可始用BC,用VC,至今天,对于大家能有机会直接使用堪称最好封装的VCL学习编程,笔者能说的一句话就是:珍惜你的机会,珍惜你的20元钱。 
      </P>
      <P>空白工程带有一个名为“Form1”的表单(上一节图中标有“3”的窗口)。这就是程序运行时的主窗口。验证一下你就能明白: </P>
      <P>请选菜单:Run | Run 或者按 F9 
      键。空白工程——当然也是一个完整的工程——被编译成程序,最后自动运行,出现一个标题为“Form1”的窗口。怎么和设计时的那个表单一模一样呢?当然,所见即所得嘛。不一样的地方也有——设计表单上有一些用于定位的小点,而运行后的窗口没有这些。 
      </P>
      <P><IMG height=189 src="第02章 编程环境.files/ls023.jpg" width=361 border=0> 
</P>
      <P>左图为表单,右图为窗口,表单(Form)指设计时的窗口,窗口(Window)指运行时的表单。 </P>
      <P>关闭该窗口,继续我们的 Hello,World的工作。 </P>
      <H4>2.2.2 <A name=最简单的HelloWorld工程>最简单的Hello World工程</A> </H4>
      <P>请从C++ Builder的主窗口(上一节中标有“1”的窗口)右下部的控件栏中找到如图所示的Label控件,同时记住:Label 
      控件在Standard 页中。点击代表该控件的图标按钮:&nbsp;<IMG height=56 
      src="第02章 编程环境.files/LabelComponent.jpg" width=167 border=0> </P>
      <P>(图中画有字母“A”的图标按钮即为Label,这个控件用来显示一些简单的文字内容。)鼠标摁下该按钮后(按下后按钮的形状如上图),将鼠标挪取表单Form1上随便位置点左键,一个Labe1控件被放在表单上: 
      </P>
      <P><IMG height=185 src="第02章 编程环境.files/Label.jpg" width=169 border=0> 
</P>
      <P>用鼠标再点一下Label1,确保它为如上图中的选中状态(带有八个黑点块)。我们要通过修改属性,让它显示为“Hello,World”。 </P>
      <P>主菜单:View | Object Inspector (或者按F11键),出现Object 
      Inspector窗口,也就是上一节中标有“4”的窗口,我们称为控件属性检视器,通过它,我们可检查并设置当前选中的控件的属性(包括事件)。 
      由于刚才选中了Label(如果不是,请重复用鼠标再点一下表单上的Label1)。所以Object Inspector 窗口的上部应显示如下: 
</P>
      <P><IMG height=186 src="第02章 编程环境.files/Label1.jpg" width=243 border=0> 
      </P>
      <P>上面的 Label:TLabel表示当前属性窗口显示的是 
      Label1的属性。同时我们注意下在的Caption属性为Label1,(注意,Name的属性也为Label1,千万别混了)。Caption意为“标题”,它决定一个Label显示的内容。你应该很明白怎么做了,在图中所示的Caption属性右边的编辑框内,将Label1改为 
      Hello,World。眼尖的学员一定发现,在改的同时,表单上的Labe1l如我们所愿,显示为“Hello,World”了。笔者我眼力不钝,但还是没有看到结果,原因是一个有一个窗口挡住了Form1。按一下F2,Form1跳到前面。 
      </P>
      <P><IMG height=211 src="第02章 编程环境.files/ls02.h4.jpg" width=426> </P>
      <P>再按 F9,只见屏幕一闪,第一个我们参与设计的程序闪亮登场! </P>
      <P><IMG height=185 src="第02章 编程环境.files/WinHelloWord.jpg" width=169 
      border=0> </P>
      <P>很好,我们已经向这个世界打声招呼。工作似乎有点成果。我们插播一段关于如何存盘的说明。 
      在CB中保存程序,总体上和在字处理里保存一个文档是一样的操作,比如你一般都要给新文档命名,并且找到一个合适位置保存。这里讲的是特别之处。 </P>
      <P>其一、建议大家为本课程中所讲的例子程序准备一个统一的文件夹,然后以这个文件夹为父文件夹,再为每一个例子各建一个子文件夹(除非是教程中特别指出需要将两个例子工程放于一处)。 
      </P>
      <P>其二、在字处理中(如MS 
      Word),一个文档就是一个文档,而在CB的程序工程中,一个工程除了工程自身的文件以外,还包含其它配套文件。这些文件中,有些可以在保存其它文件时自动保存,现在需要我们手工保存的是工程文件和代码文件。 
      </P>
      <P>保存文件是相当频繁的事,我们几乎不用菜单,而总是使用快捷工具按钮(Toolbar)或者键盘,尤其是后者。这里我只讲一个按钮: 
      。这个有一叠软盘的图标表示Save All(保存全部),现在请点它(或按Ctrl + Shift 
      +S)。将弹出两次的存盘对话框,第一次要求存盘的是代码文件,CB默认的文件名为Unit1;我就采用了这个默认名,必竟这只是一个小小的工程。随后是工程文件要求存盘,我一样采用了默认的Project2.bpr的名字。(正因为我们经常图省事,直接使用默认名,所以如果不将不同的工程存在各自的文件夹内,重名的文件名就将令事情很糟糕。) 
      最后是一些提醒:提醒一:CB默认的存盘位置是在其安装目录下的Projects文件夹。建议不要采用它,而是自已在外面新创建一个文件夹。提醒二:当程序复杂时,程序运行甚至编译时就有可能造成死机。所以在写程序时常常存盘是一种非常良好且必要的习惯。 
      </P>
      <P>除了这些,存盘是件再熟悉不过的事了,在File菜单下还有不少和存盘有关的命令。有空大家自个儿看看。 </P>
      <H3>2.3 <A name=DOS版HelloWorld>DOS 版 Hello,World</A> </H3>
      <P>我们可以——并且往往是忍不住就将时间花在——把Windows版本的Hello 
      Word的工程做得很漂亮。不过现在不是时候。在本部教程内,我们要集中全部精力,扎扎实实地打下C++ 
      语言的基础。这是以后我们深入学习任何编程要点,无论是Windows编程还是你想学Linux编程,也无论我们今后在实际工作中侧重于通讯或数据库或工控;甚至无论我们以后是否用C++这门语言编程——只要有C++根基,你就会比别人更容易掌握各种编程新知。 
      </P>
      <P>传言也并非都是假的。关于C++晦涩难懂之类的传言便很现实。另一方面,Windows编程的重点几乎全部都在于如何和Windows操作系统打交道,而和语言本身关系——它要求你有很好的C语言基础。出于这样的考虑及实际运行中遇到的困难,笔者放弃曾有的,“以语言为中心,同时学会Windows编程基础”的理想。 
      写DOS风格的程序想起来是令人沮丧的——没有华丽的窗口界面,也不再使用那些功能强大的控件。但正因为DOS程序的朴素,它可以使我们在更好地将重心放在C++语言本身。等到学习第二部教程时,我们才有足够的底气对Windows世界说一声:我来了! 
      </P>
      <H4>2.3.1 <A name=一个空白的控制台工程>一个空白的控制台工程</A> </H4>
      <P>如果你的CB停留在前面Windows版Hello World工程中。确保退出Hello World的窗口。然后选主菜单:File | 
      Close All。关闭Windows版Hello World工程。 </P>
      <P>菜单:File | New,出现一个 New Items对话框,等待我们选择要新建什么。 </P>
      <P><IMG height=365 src="第02章 编程环境.files/New_Items.jpg" width=443 border=0> 
      </P>
      <P>默认的选中项是图中 
      New页内的第一个:Application。如果选它,确认后的工程就是上一节我们创建的空的工程。但现在我们要建立一个DOS风格的程序。请选上图加有红圈的 
      Console Wizard (控制台程序向导)。 确认后出现向导的第一步: </P>
      <P><IMG height=208 src="第02章 编程环境.files/ls025.jpg" width=346 border=0> 
</P>
      <P>请您确认将对话框中的相关选项设置成和上一图一致。然后点OK。 </P>
      <P>没有表单,只有代码编辑框窗口(第一节的“2”号窗口)内中代码为:<BR>//--------------------------------------------------------------------------- 
      </P>
      <P>#pragma hdrstop </P>
      <P>//--------------------------------------------------------------------------- 
      </P>
      <P>#pragma argsused </P>
      <P>int main(int argc, char* argv[]) </P>
      <P>{ </P>
      <P>return 0; </P>
      <P>} </P>
      <P>//--------------------------------------------------------------------------- 
      </P>
      <P>这是C语言的主函数,或者称为入口函数。程序从这个地方作为起来开始执行。以后会有更多讲解。同样,这也是一个程序框架,一个空白的DOS程序框架。让我们选菜单中Run 
      | Run或直接按F9键,看看结果和前面的Windows空白程序会有什么不同? </P>
      <P>眼前出现一个黑色的窗口,然后就一晃而过回到了C++ Builder的界面。 
      黑色的窗口,在不同版本的Windows中有不同的叫法和不同的实现机制,但都是Windows操作系统兼容DOS的方式。这种DOS方式在术语上称为“控制台/ 
      console”。如果你不明白什么是DOS,请通过其它途径另外学习。 </P>
      <H4>2.3.2 <A name=用控制台输出Helloworld>用控制台输出“Hello world”</A> </H4>
      <P>我们需要加入三行代码才能实现DOS版的Hello World。以下黑体部分为你需要在代码中加入的内容: </P>
      <P><I>(约定:在代码中使用黑体,用来表示您应该输入的部分)</I> </P>
      <P>//--------------------------------------------------------------------------- 
      </P>
      <P><B>#include &lt;stdio.h&gt;</B> </P>
      <P>#pragma hdrstop </P>
      <P>//--------------------------------------------------------------------------- 
      </P>
      <P>#pragma argsused </P>
      <P>int main(int argc, char* argv[]) </P>
      <P>{ </P>
      <P><B>printf("Hello,world!");</B> </P>
      <P><B>getchar();</B> </P>
      <P>return 0; </P>
      <P>} </P>
      <P>//--------------------------------------------------------------------------- 
      </P>
      <P>这是一个很短的程序,我们稍微做点解说。 </P>
      <P>如果是一个大程序,代码一多,自已都会看晕,所以就需要在代码加一些注释,用以解说某行或某段代码的用途,或者用以让代码显得清晰。C++中,常用双斜杠 
      //一直到该行结束的内容来代表注释。上面的代码中,有三行: </P>
      <P>//--------------------------------------------------------------------------- 
      </P>
      <P>这正是用来从视觉上分隔代码的注释。注释对程序的运行没有影响,只用来给人看。当编译器编译进,它会过滤掉到所有注释内容。 </P>
      <P>#pragma hdrstop 和 #pragma argsused 
      两行为编译预处理命令,当编译器在编译本段代码,预处理命令会影响编译的某些行为。 </P>
      <P>#include &lt;stdio.h&gt; 是我们新加的一行。stdio.h 是一个文件的名字,扩展名是.h,h 是 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -