你可以把这个程序(源代码)输入到一个叫Greeting.pas或Greeting.dpr的文件中,然后在控制台输入如下命令编译它:
对于Delphi:DCC32 Greeting
对于Kylix:dcc Greeting
执行的结果是输出信息 ”Hello world!”。
除了简单,上面这个例子和我们在Borland开发工具下写的程序有几个重要的不同:首先,这是一个控制台程序,Borland开发工具通常创建图形界面的程序,因此,你不大可能调用Writeln(GUI程序不能调用Writeln);而且,整个程序只有一个文件。在一个典型的程序中,程序头,也就是例子中的第一行,将被放在一个单独的工程文件中。工程文件通常不包含实际的程序逻辑,而只是调用在单元文件中定义的方法。
A more complicated example(一个稍微复杂的程序)
下面的实例程序被分成两个文件:一个工程文件,一个单元文件。工程文件可以存为Greeting.dpr,它看起来这样:
- 3 -
Overview
program Greeting;
{$APPTYPE CONSOLE}
uses Unit1;
begin
PrintMessage('Hello World!');
end.
第一行声明程序叫做Greeting,它同样是个控制台程序。uses Unit1; 子句告诉编译器,Greeting包含(引用)一个叫做Unit1的单元。最后,程序调用PrintMessage过程,并把字符串 ”Hello world!” 传递给它。请注意,PrintMessage过程是从哪里来的?它是在Unit1单元定义的。下面是Unit1单元的源代码,你能把它保存在一个叫Unit1.pas的文件中:
unit Unit1;
intece
procedure PrintMessage(msg: string);
implementation
procedure PrintMessage(msg: string);
begin
Writeln(msg);
end;
end.
Unit1单元定义一个叫做PrintMessage的过程,它接收一个字符串作为参数,并把它送到标准输出设备(在Pascal中,没有返回值的例程叫过程,有返回值的例程叫函数)。请注意,PrintMessage在Unit1中声明了两次,第一次是在关键字intece的下面,这使得它对于引用Unit1单元的其它模块(比如Greeting)是可用的;第二次声明是在关键字implementation的下面,它实际定义PrintMessage过程。
现在你可以在控制台输入如下命令编译Greeting。
对于Delphi:DCC32 Greeting
对于Kylix:dcc Greeting
没必要在命令行参数中包含Unit1。当编译器处理Greeting.dpr时,它自动查找Greeting程序所依赖(引用)的单元文件。程序的执行结果和前面的实例相同,它输出信息 ”Hello world!”。
A native application(在IDE下设计程序)
我们的下一个实例程序是在IDE下用VCL或CLX组件生成的,它使用自动产生的窗体文件和资源文件,因此,你不能仅仅使用源代码来编译它。它阐明了Object Pascal的重要特点。除包含多个单元外,这个程序还使用了类和对象。
- 4 -
Overview
程序包含一个工程文件和两个单元文件。首先是工程文件:
program Greeting; { 注释写在一对大括号中 }
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-3.html
新生代最具商业价值的红烧肉
他有九零后这个群体新锐逗玩不服输的鲜特质
是买不起