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

重温delphi之控制台程序:Hello World!的更多相关文章

  1. 我写的第一个DELPHI的控制台程序,留作纪念。

    program Project2; {$APPTYPE CONSOLE} uses  SysUtils; const s = 'hello' ;  var a , b , c : integer; f ...

  2. 再谈Delphi关机消息拦截 -- 之控制台程序 SetConsoleCtrlHandler(控制台使用回调函数拦截,比较有意思)

    这里补充一下第一篇文章中提到的拦截关机消息 Delphi消息拦截:http://blog.csdn.net/cwpoint/archive/2011/04/05/6302314.aspx 下面我再介绍 ...

  3. C\C++控制台程序隐藏方法总结

    学习计算机,往往先从Windows环境下学习编程,学习编程,往往从C学起,学习C,往往又从控制台程序学习,何为控制台,就是那个黑框白字的界面.对于这样一个最初认为奇陋无比而现在认为无所不能的编程平台, ...

  4. VC++中的C运行时库浅析(控制台程序默认使用单线程的静态链接库,而MFC中的CFile类已暗藏了多线程)

    1.概论 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的.C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于 ...

  5. 在.NET Core控制台程序中使用依赖注入

    之前都是在ASP.NET Core中使用依赖注入(Dependency Injection),昨天遇到一个场景需要在.NET Core控制台程序中使用依赖注入,由于对.NET Core中的依赖注入机制 ...

  6. 使用 CommandLineApplication 类创建专业的控制台程序

    闲话 在很久很久以前,电脑是命令行/终端/控制台的天下,那屏幕上的光标在行云流水般的键盘敲击下欢快地飞跃着,那一行行的字符输出唰唰唰地滚动着--直到 Windows 95 的出现(那时候我还不知道苹果 ...

  7. C#基础-关于用json给控制台程序传值的坑

    上周遇到了一个非常诡异的坑,首先写了两个程序,第一个程序输出成dll,第二个程序是控制台程序. 在第一个程序里,我使用了process去启动第二个程序,同时传入了一个Json作为参数,即: Proce ...

  8. 你们信不信一句Console.WriteLine就能让你的控制台程序失去响应

    好久没更新博客了,今天是扒衣见君节,难得闲下来就来说说一个最近有趣的发现吧. 首先废话不多说,直接上代码吧 class Program { static void Main(string[] args ...

  9. zw.delphi不同版本程序运行速度测试

    { zw.delphi不同版本程序运行速度测试 delphi无论是开发,编译,还是运行,速度方面向来不差,笔者很少进行这种微粒度的优化,调试. 最近,因为项目需要,发现:同一个函数模块,差不多同样的代 ...

随机推荐

  1. JSP自定义标签——简单标签(1)

    前面一篇博客介绍了自定义标签的传统标签使用方式,但是我们会发现,使用传统标签非常的麻烦,而且接口还多,现在传统标签基本都没用了,除了一些比较久的框架.Sun公司之后推出了一个新的标签使用方式,称之为简 ...

  2. JDK 安装以及环境变量的配置(Windows)

    首先下载对应版本的jdk ,然后安装,这里使用的是jdk 1.7的安装的 这个时候,JDK 已经安装完成,打开cmd 输入 java -version 就可以查看到,当前JDK 的版本如图 JDK 安 ...

  3. TObject简要说明-对象的创建流程

    TObject = class    //创建    constructor Create;    //释放    procedure Free;    //初始化实列    class functi ...

  4. 使用mex进行混合编程的一些注意事项

    1.mxGetPr的使用: Use mxGetPr on arrays of type double only. Use mxIsDouble to validate the mxArray type ...

  5. HTML5 实现拖拽

    如图 可以从第一个方框拖拽花色到第二个方框中. 也可以再拖动回来. 具体代码实现 index.html <!DOCTYPE HTML> <html> <head> ...

  6. 事务代码SE16N查看数表时可以使用命令激活编辑功能

    &sap_edit命令可以激活SE16N编辑功能,维护数据表,但是是除了主键不能维护外都可以修改

  7. 四张类图理一下Streams的用法

    首先是输出流 OutputStream.继承它的类有两种,一种是底层实现(纯继承OutputStream的类),一种是格式转换(组合了OutputStream的类). 所谓的底层实现,就是真正和物理存 ...

  8. map标签的详细使用参数

    map标签必须成对出现,即 <map> ....</map> 同时map必须和area配合使用. img标签里的usermap属性值必须与map标签里的id和name值完全一致 ...

  9. Cocos2d-x CCProgressTimer

    CCProgressTimer,创建使用这个节点可以大致实现两个作用的效果: 其一:在游戏中几乎大部分的游戏启动界面都是游戏加载画面,那么用到的一般是进度条提示加载进度,其使用的就是CCProgres ...

  10. Python爬行动物(一):基本概念

    定义网络爬虫          网络爬虫(Web Spider,也被称为网络蜘蛛,网络机器人,也被称为网页追逐者).按照一定的规则,维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁,自己主动索引 ...