对于Windows下的控制台编程,我相信很多人都不陌生。而C语言开始的著名的“Hello world”程序基本是学习编程的第一步。我想对于

RAD开发,大家熟悉的一般都是GUI编程,而对于console的编程基本很少用到。其实对于Delphi而言,不但可以开发GUI程序,而且也可以

开发console程序。

  为什么要提到控制台程序呢,因为通过控制台程序你可以清晰的了解到一种编程语言运行的基本原理。Delphi也开发一样,我们不单单是

要知道点几下鼠标就能设置图形界面,但是程序运行的过程和基本原理还是一知半解,说不懂也不是,说完全掌握也不是;因此这里我想开始

一系列Delphi的随笔记录,记录自己的学习历程。

  以前也写过一段时间的Delphi随笔,但是没有坚持下去,这一次算是对自己一个严格要求吧,锻炼自己的恒心和毅力,决定写出一个完整的

系列文章,不再半途而废。因此将以前写的随笔全部备份,然后全部删除啦。以后打包给出一个链接吧,也许能帮助一些人,也许一点用没有,纯

粹浪费社会资源而已, 至于到底会怎么样,现在也不管啦,总之做就是啦................。

  这里我们简单介绍一下怎样利用Delphi开发一个console程序。开篇之作就做以下基本的Delphi IDE的操作介绍,后面就不再做介绍啦。

这里的所有代码均基于Delphi 2010开始,后续的版本同样适用。

  一、 建立控制台工程

1、建立工程, 打开Delphi IDE,然后如下图操作。

2、选择应用程序类型

  如上图所示,选择 Console Application, 然后点击OK按钮。

3、出现如下IDE默认建立的应用程序模板

4、点击 Save 按钮,出现保持应用程序对话框,如下图所示

注意这里的名字,是应用程序的名字同时也是工程的名字, 这里修改后后,请注意IDE代码编辑器中的第一行代码的变化。

5、保存完后的项目/工程

6、到此一个简单的console应用程序工程已经建立完毕,只要一点调试工具按钮就可以看到一个一闪而过的命令行界面。

如果要看到运行的结果,请复制下面的代码到代码编辑窗口即可,具体内容在代码中会有解释。

  二  修改后的控制台Hello World程序

{
Delphi版 Hello World
} {
第一种注释风格 多行注释
} (*
第二种注释风格 多行注释
*) // C++注释风格, 单行注释 { Delphi程序结构
1、Delphi程序由一个工程文件 *.dpr 文件 + 0个或多个单元文件 *.pas 文件组成
2、工程文件是Delphi程序执行的入口点
3、工程文件由以下几部分组成
程序头部分 program关键字
Uses子句部分 uses关键字
主程序块 begin与end关键字
4、IDE环境开发程序必须有一个工程文件,如果用命令行编译则不需要工程文件
5、工程文件用来组织所有相关的文件
6、工程文件的文件名将是可执行程序的文件名
} { 程序头
1、程序头指示程序的开始,程序头标识符就是程序名
2、程序头的定义方式为: program 程序头标识符
3、控制台程序的程序头标识符和工程文件 *.dpr 的文件名可以不一样,但是
GUI程序则必须一样
}
program HelloWorld; //指定程序名为 Helloworld (* 编译指令
1、在Delphi程序中由编译指令来限定编译器的行为
2、编译指令通常由 {$ 和 } 符号对来表示
、下面的编译指令表示现在开发的是一个 控制台 程序
*)
{$APPTYPE CONSOLE} { uses子句
1、uses子句必须在program程序头后面,紧跟编译指令
2、uses子句表示在程序中要引用的单元文件,有点类似C语言中的#include指令
3、uses子句可以用 in 关键字, 具体例子后续介绍
4、uses子句的语法: uses
引用的单元文件名列表;
单元文件名列表用逗号 , 分隔,然后最后用分号结束 ;
}
uses
SysUtils; { 主程序块
1、主程序块用 begin 关键字标识,从 begin 开始,一直到 end. 结束
2、注意主程序块的结束标识是 end 关键字后面加上一个点号 . 且end和点号之间
不能有空白符号
3、程序的主要执行代码在主程序块中编写
4、程序的执行从主程序块 begin 关键字后的第一条语句开始,到 end. 结束
}
begin
{
下面用(* 和 *) 注释的内容是Delphi自动添加的代码,以后介绍
}
(*
try
{ TODO -oUser -cConsole Main : Insert code here }
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
*) {
程序执行代码的开始
} {
1、writeln过程相当于C语言中的printf()函数,用于输出信息
2、字符串字面值,在Delphi中利用双单引号表示
}
writeln('Hello world'); {
1、readln过程相当于C语言中的getch()函数,用于读取输入
2、readln读入的是字符流
}
readln; { 主程序块结束
1、end. 表示主程序块的结束
}
end.

  后面系列文章除非常特殊的情况将不再对IDE环境进行说明。

本系列文章欢迎转载,转载请注明来源。

Delphi_01_控制台版HelloWorld的更多相关文章

  1. c/c++ 贪吃蛇控制台版

    贪吃蛇控制台版(操作系统win7 64位:编译环境gcc, vs2017通过,其它环境未测试 不保证一定通过) 运行效果: #include <iomanip> #include < ...

  2. 基于TCP协议的聊天室控制台版

    我之前写过一篇博客,主要是基于TCP协议实现的聊天室swing版,在此再写一个基于TCP协议实现的聊天室控制台版,便于学习和比较. package 聊天室console版.utils; import ...

  3. 2048 控制台版(C#)

    开篇 2048游戏现在很火啊,很多人应该已经玩过了.在博客园上也看见有人模仿做的GDI+版 2048游戏,鄙人暂且不做那么多动画的东西,毕竟是个小东东,在此奉上一个<控制台版2048>. ...

  4. c++实现通讯录管理系统(控制台版)

    c++实现通讯录管理系统(控制台版) 此项目适合c++初学者,针对c++基础知识,涉及到变量.结构体定义使用.数组定义使用.指针定义使用等. 运行之后的结果如下: 代码: #include <i ...

  5. 初学tornado之MVC版helloworld

    作者:the5fire | 标签: MVC  tornado  | 发布:2012-08-06 2:41 p.m. 文接上篇,看我一个简单的helloworld,虽然觉得这个框架着实精小,但是实际开发 ...

  6. vc++2010如何新建项目并在控制台打印helloworld

    关于写c++使用什么集成开发环境的问题其实挺纠结的.我找了好久找到codeblocks,发现这款IDE还是最适合用在最标准的c++语法环境中.其实先前装过vs2015旗舰版,但是这款软件太大了,非常消 ...

  7. Spring.DM版HelloWorld

    本文主要描述使用Spring.DM2.0,创建OSGi的HelloWorld演示程序,理解Spring.DM的OSGi框架实现机制.   环境描述: 项目 版本 Eclipse 3.7.x JDK 1 ...

  8. Qt版helloworld

    跟学别的编程语言一样,Qt也不例外,一开始就想写一个helloworld.初学Qt十几天,看了一点关于Qt视频的介绍和书上的基础知识,对于Qt写工程的概念有了初步的认识,就代码的形式来说,Qt Cre ...

  9. Java小例子(学习整理)-----学生管理系统-控制台版

    1.功能介绍: 首先,这个小案例没有使用数据库,用集合的形式暂时保存数据,做测试! 功能: 增加学生信息 删除学生信息 修改学生信息 查询学生信息:  按照学号(精确查询)  按照姓名(模糊查询) 打 ...

随机推荐

  1. 手把手教你做个人 app

    我们都知道,开发一个app很大程度依赖服务端:服务端提供接口数据,然后我们展示:另外,开发一个app,还需要美工协助切图.没了接口,没了美工,app似乎只能做成单机版或工具类app,真的是这样的吗?先 ...

  2. git命令行操作

    从本地上传代码到仓库(假设已经建好仓库): 1.初始化: git init 2.将所有文件加入缓存区: git add * 3.提交当前工作空间的修改内容: git commit -m 'commit ...

  3. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  4. 浅谈浏览器http的缓存机制

    针对浏览器的http缓存的分析也算是老生常谈了,每隔一段时间就会冒出一篇不错的文章,其原理也是各大公司面试时几乎必考的问题. 之所以还写一篇这样的文章,是因为近期都在搞新技术,想“回归”下基础,也希望 ...

  5. 任意多边形切割/裁剪(附C#代码实现)

    本实现主要参考了发表于2003年<软件学报>的<一个有效的多边形裁剪算法>(刘勇奎,高云,黄有群)这篇论文,所使用的理论与算法大都基于本文,对论文中部分阐述进行了详细解释,并提 ...

  6. Redis集群案例与场景分析

    1.背景 Redis的出现确实大大地提高系统大并发能力支撑的可能性,转眼间Redis的最新版本已经是3.X版本了,但我们的系统依然继续跑着2.8,并很好地支撑着我们当前每天5亿访问量的应用系统.想当年 ...

  7. 白板编程浅谈——Why, What, How

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://lucida.me/blog/whiteboard-coding-demystified/ 这篇文章节选 ...

  8. ABP源码分析三十八: ABP.Web.Api.OData

    如果对OData不熟悉的话可参考OData的初步认识一文以获取OData的一些初步知识. API.Odata 模块唯一用处就是提供了一个泛型版本的ODataController,实现了Controll ...

  9. 在春意盎然的季节里初识GIT

    Git 与 SVN 区别 GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等. 如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征. ...

  10. vuex复习方案

    这次复习vuex,发现官方vuex2.0的文档写得太简略了,有些看不懂了.然后看了看1.0的文档,感觉很不错.那以后需要复习的话,还是先看1.0的文档吧.