重温delphi之控制台程序:Hello World!

这二天用c#开发ActiveX时,发现不管怎么弄,c#就是没办法生成ocx的纯正activeX控件,而且还要强迫用户安装巨大的.net framework(我只是想做一个简单截屏功能的activeX整合到silverlight聊天室中),于是想起了曾经用过一年的delphi,虽然时过境迁,现在早以是.net的天下,但是不可否认,delphi仍是win32原生程序最佳的开发工具之一。

关于Delphi的语法学习,可以参见这个chm文档,基本上一天就能看完

http://d.namipan.com/d/d026cf6a2a78de9569248d7579fc2adccb3f8e01e5ba5500

先来做一个ConsoleApplication(即dos窗口程序)

File-->New-->Other-->Console Application

代码如下:

program Project1;

{$APPTYPE CONSOLE}

uses //相当于using 命名空间

SysUtils;

var //定义变量

i:Integer;

s:string;

_set:set of Char; //集合类型

const

Author:string ='Jimmy';//常量字符串

resourcestring

Author2 = 'yjmyzz';//资源字符串

//定义一个过程

procedure MyProc(msg:string) ;

begin

Writeln('MyProc is Called by:' + msg);

end;

//定义一个函数

function MyFunc(msg:string):string;

begin

result := 'MyFunc is Called by ' + msg;

end;

//Main方法的开始

begin

WriteLn('Hello World');//输出,相当于c#中的Console.Writeln("xxx")

Writeln('');

for i:=0 to 10 do //循环

begin

s:= '这是数字' + IntToStr(i) ;

Writeln(s);

end;

Writeln('--------------------------');

MyProc('jimmy'); //调用过程

Writeln(MyFunc('Jimmy.Yang')); //调用函数

Writeln('--------------------------');

Writeln(Author); //输出常量

Writeln(Author2); //输出资源字符串

Writeln('--------------------------');

Writeln('Integer:');

Writeln(SizeOf(Integer));

Writeln(High(Integer));

Writeln(Low(Integer));

Writeln('--------------------------');

Writeln('i=' + inttostr(i));

Dec(i); //i减1,相当于i:=i-1;

i:=i-1;

Writeln('i=' + inttostr(i));

Writeln(Odd(i));

Writeln('--------------------------');

Writeln(FormatDateTime('yyyy年mm月dd日 hh:nn:ss',Now));

Writeln('--------------------------');

i:= Integer('A');

Writeln(i);

Writeln(Ord('a'));

Writeln(Chr(97));

Writeln(#10 + '按任意键退出...');

Readln; //等待键盘输入

end.