原文:重温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.