对于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. CSS 3学习——文本效果和@font-face

    文本效果 关于文本效果,这里仅仅记录得到大多数浏览器支持的几个属性,分别是: text-overflow text-shadow word-break word-wrap text-overflow ...

  2. AutoMapper的介绍与使用(一)

    软件环境 vs2015 asp.net mvc 5 .NET Framework 4.5.2 AutoMapper 5.2.0.0 AutoMapper安装 新建asp.net mvc 项目 Auto ...

  3. js attribute 和 jquery attr 方法

    attribute 是原生js dom 对象上的一个属性,这个属性有很多子属性,比如 isId(判断属性是否是Id) , name (获取属性名称) , value (获取属性值),attribute ...

  4. “风投云涌”:那些被资本看中的IT企业的风光与辛酸

         进入七月份以来,纷享销客获得D轮融资1亿美元,撼动业界,资本与IT联姻令一部分创业者眼红的同时,没有人注意到背后的风险. 科技与资本的结合,是当今经济社会前行的宏大主题.相关统计显示,软件行 ...

  5. 最新的 cocoaPods 安装方法

    经过努力终于发现了最新的 解决cocoaPods安装的办法: taobao Gems 源已停止维护,现由 ruby-china 提供镜像服务 第一步:安装rvm, 不管需不需要升级ruby,rvm可以 ...

  6. ORACLE中STATUS为INACTIVE但是SERVER为SHARED状态的会话浅析

    我们知道当ORACLE数据库启用共享服务器模式时,通过共享服务器模式连接到数据库的会话是有一些特征的.在v$session里面,其SERVER的状态一般为SHARED和NONE, 为SHARED时,表 ...

  7. codevs 3289 花匠

    题目:codevs 3289 花匠 链接:http://codevs.cn/problem/3289/ 这道题有点像最长上升序列,但这里不是上升,是最长"波浪"子序列.用动态规划可 ...

  8. C++常考面试题汇总

    c++面试题 一 用简洁的语言描述 c++ 在 c 语言的基础上开发的一种面向对象编程的语言: 应用广泛: 支持多种编程范式,面向对象编程,泛型编程,和过程化编程:广泛应用于系统开发,引擎开发:支持类 ...

  9. VS2013中的MVC5模板部署到mono上的艰辛历程

    部署环境:CentOS7 + Mono 3.10 + Jexus 5.6 在Xamarin.Studio创建的asp.net项目,部署过程非常顺利,没有遇到什么问题:但在VS2013中创建的asp.n ...

  10. C#异常处理经验(原则与方法)

         本文是异常处理经验性的文章,其实跟C#关系也不大.比较适合刚刚熟悉异常语法,而缺乏实战的读者.当然,经验老练的读者也可指出不足.给予意见.补充说明,一起完善文章,分享更多知识与经验.   1 ...