原文:重温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. c#1所搭建的核心基础之值类型和引用类型

    这个主题很重要,在.NET中做的一切其实都是在和一个值类型或者引用类型打交道. 现实世界中的值和引用 假定你在读一份非常棒的东西,希望一个朋友也去读他.于是你到复印室里复印了一份.这个时候他获得了属于 ...

  2. CF 258B Little Elephant and Elections [dp+组合]

    给出1,2,3...m 任取7个互不同样的数a1,a2,a3,a4,a5,a6,a7 一个数的幸运度是数位上4或7的个数 比方244.470幸运度是2. 44434,7276727.4747,7474 ...

  3. Mina2 研究总结

    一.Mina框架. Mina的框架大概是这么个样子: 底层由Java 的NIO 1.0实现 核心架构应该是这样: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZX ...

  4. QT操作Excel(通过QAxObject使用了OLE,前提是本地安装了Excel)

    新建QT GUI项目,在选择选项中勾选ActiveQT Container. #include <qaxobject.h> QAxObject *obj = new QAxObject(& ...

  5. (三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

    文章来源:http://www.cnblogs.com/smyhvae/p/4006009.html 一.GET和POST的对比: 在漫长的时间当中,其他的方法逐渐的退出了历史舞台,最常用的只剩下GE ...

  6. UPX 加壳工具:The Ultimate Packer for eXecutables

    UPX (the Ultimate Packer for eXecutables)是一款先进的可运行程序文件压缩器.压缩过的可运行文件体积缩小50%-70% ,这样降低了磁盘占用空间.网络上传下载的时 ...

  7. 解决Eclipse中文乱码的方法

    (1)设置Project的编码格式: 在 Workspace中新建的项目默认继承Workspace的编码设置.我们也能够单独更改某个项目的编码格式.右键点击project.选择 Properties, ...

  8. SVNKit getFileFromSVN

    /* * ==================================================================== * Copyright (c) 2004-2011 ...

  9. UNIX 网络编程之线程

    概述: 实现并发服务器一般都是父进程accept一个连接,然后fork一个子进程,该子进程处理与该连接对端的客户之间的通信.但是fork是昂贵,耗资源和时间.而线程是轻量级线程,它的创建比进程的创建块 ...

  10. 应用层open(read、write、close)怎样调用驱动open(read、write、close)函数的?

    应用层open(read.write.close)怎样调用驱动open(read.write.close)函数的? 华清远见2014-09-29   北京海淀区 张俊浩 三大数据结构关系图