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