Delphi_01_控制台版HelloWorld
对于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的更多相关文章
- c/c++ 贪吃蛇控制台版
贪吃蛇控制台版(操作系统win7 64位:编译环境gcc, vs2017通过,其它环境未测试 不保证一定通过) 运行效果: #include <iomanip> #include < ...
- 基于TCP协议的聊天室控制台版
我之前写过一篇博客,主要是基于TCP协议实现的聊天室swing版,在此再写一个基于TCP协议实现的聊天室控制台版,便于学习和比较. package 聊天室console版.utils; import ...
- 2048 控制台版(C#)
开篇 2048游戏现在很火啊,很多人应该已经玩过了.在博客园上也看见有人模仿做的GDI+版 2048游戏,鄙人暂且不做那么多动画的东西,毕竟是个小东东,在此奉上一个<控制台版2048>. ...
- c++实现通讯录管理系统(控制台版)
c++实现通讯录管理系统(控制台版) 此项目适合c++初学者,针对c++基础知识,涉及到变量.结构体定义使用.数组定义使用.指针定义使用等. 运行之后的结果如下: 代码: #include <i ...
- 初学tornado之MVC版helloworld
作者:the5fire | 标签: MVC tornado | 发布:2012-08-06 2:41 p.m. 文接上篇,看我一个简单的helloworld,虽然觉得这个框架着实精小,但是实际开发 ...
- vc++2010如何新建项目并在控制台打印helloworld
关于写c++使用什么集成开发环境的问题其实挺纠结的.我找了好久找到codeblocks,发现这款IDE还是最适合用在最标准的c++语法环境中.其实先前装过vs2015旗舰版,但是这款软件太大了,非常消 ...
- Spring.DM版HelloWorld
本文主要描述使用Spring.DM2.0,创建OSGi的HelloWorld演示程序,理解Spring.DM的OSGi框架实现机制. 环境描述: 项目 版本 Eclipse 3.7.x JDK 1 ...
- Qt版helloworld
跟学别的编程语言一样,Qt也不例外,一开始就想写一个helloworld.初学Qt十几天,看了一点关于Qt视频的介绍和书上的基础知识,对于Qt写工程的概念有了初步的认识,就代码的形式来说,Qt Cre ...
- Java小例子(学习整理)-----学生管理系统-控制台版
1.功能介绍: 首先,这个小案例没有使用数据库,用集合的形式暂时保存数据,做测试! 功能: 增加学生信息 删除学生信息 修改学生信息 查询学生信息: 按照学号(精确查询) 按照姓名(模糊查询) 打 ...
随机推荐
- 如果你也会C#,那不妨了解下F#(7):面向对象编程之继承、接口和泛型
前言 面向对象三大基本特性:封装.继承.多态.上一篇中介绍了类的定义,下面就了解下F#中继承和多态的使用吧.
- BPM的魅力何在?
BPM(Business Process Management , 企业流程管理平台) 是带动企业流程自动化的帮 手,也是最能忠实反应出企业作业流程问题症结的系统工具,在管理上,BPM可以让管理者利用 ...
- 在Linux配置Nginx web服务器步骤
系统环境:centos7 需要软件:nginx-1.3.16.tar.gz libevent-2.0.21-stable.tar.gz Pcre 和 pcre-devel nginx下载地址:h ...
- hibernate5.2需要的最少jar文件
hibernate5.2需要的最少jar文件: required文件夹中的所有jar文件 + mysql-connector-java-bin.jar.
- Dancing Links and Exact Cover
1. Exact Cover Problem DLX是用来解决精确覆盖问题行之有效的算法. 在讲解DLX之前,我们先了解一下什么是精确覆盖问题(Exact Cover Problem)? 1.1 Po ...
- 在Linux上运行ASP.NET vNext
最新的ASP.NET vNext完全开源且可以跨多个平台运行,在Windows环境下我尝试了下,几乎没花什么工夫就跑起了Sample,而在Linux环境下则要多花了不少时间,所以特别记录下整个过程,希 ...
- Linux学习日记-MVC的部署(三)
一.Mvc与wcf 相对WCF的部署MVC还是有点麻烦,我们要考虑哪些dll是不需要的,哪些是要拷贝到本地的. 而WCF因为有些配置文件不支持,我们只需要在配置wcf时不使用配置文件而直接使用代码就行 ...
- 谈谈 Lock
上来先看MSDN关于lock的叙述: lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁. 下面的示例包含一个 lock 语句. lock 关键字可确保当一 ...
- wget 显示"英国中部时间",去掉烦人的刷屏显示
wget下载文件显示多行,进度条后面显示英国中部时间,非常让人郁闷. 本来英文是eta(Estimated Time of Arrival 预计到达时间),翻译错了,干脆去掉好了. 先要有两个个工具 ...
- Jquery初学
Jquery相当于JS的升级版它俩语法是一样的,把JS的很多功能封装了起来,用的也是JS语言写的,也支持JS的语法,可以混着使用,用起来方便简单 用Jquery的时候要引用一个Jquery包 带min ...