对于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. Log4net - 规则简介

    参考页面: http://www.yuanjiaocheng.net/CSharp/csharprumenshili.html http://www.yuanjiaocheng.net/entity/ ...

  2. ionic第一坑——ion-slide-box坑(ion-slide分两页的坑)

    ionic.views.Slider = ionic.views.View.inherit({ initialize: function (options) { . . . function setu ...

  3. 一个简单的网站web项目的详解

    有不对的术语,或者不好理解的部分,欢迎大家批评指正,谢谢大家! 近期做的网站web项目,实现登录功能,查询功能.首先把这个项目分为几个模块来处理,当前用户模块,历史用户模块,历史记录模块,数据库模块, ...

  4. Mysql - 性能优化之子查询

    记得在做项目的时候, 听到过一句话, 尽量不要使用子查询, 那么这一篇就来看一下, 这句话是否是正确的. 那在这之前, 需要介绍一些概念性东西和mysql对语句的大致处理. 当Mysql Server ...

  5. SpringMVC(关于HandlerMapping执行流程原理分析)

    请求过来先碰见中央调度器(前端调度器) //Determine handler for the current request; 对当前请求决定交给哪个handler, 当前请求地址过来 处理器执行链 ...

  6. Centos 6.6 下搭建php5.2.17+Zend Optimizer3.3.9+Jexus环境

    (为何安装php5.2.17这个版本 因为phpweb这个程序用到了Zend Optimizer3.3.9 这个东东已经停止更新了 最高支持5.2版本的php 所以就有了一晚上填坑的自己和总结了这篇文 ...

  7. Microsoft Azure Web Sites应用与实践【4】—— Microsoft Azure网站的“后门”

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  8. ASP.NET Web API WebHost宿主环境中管道、路由

    ASP.NET Web API WebHost宿主环境中管道.路由 前言 上篇中说到ASP.NET Web API框架在SelfHost环境中管道.路由的一个形态,本篇就来说明一下在WebHost环境 ...

  9. golang的安装

    整理了一下,网上关于golang的安装有三种方式(注明一下,我的环境为CentOS-6.x, 64bit) 方式一:yum安装(最简单) rpm -Uvh http://dl.fedoraprojec ...

  10. MySQL对时间戳的转换处理

    开发中很多时候在数据库里都会存储Long类型的时间戳,而时间戳做比对会相对麻烦 我的绝决方案: SELECT FROM_UNIXTIME(LEFT(create_time,10), '%Y-%m-%d ...