重温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.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术栈大杂烩

Python: 浅析 return 和 finally 共同挖的坑

  相信每一个用过Python函数的童鞋, 肯定会用过return语句, return顾名思义, 就是用来返回值给调用者, 例如:

1034
来自专栏ml

斗地主算法

       不得不承认,算法搁置了一些时间,代码的风格下降了好多!  贴上一个曹点多多且丑的代码!  Orz...  题目要求:      编码:3表示3点 ...

9688
来自专栏积累沉淀

初识HtmlParser

1、概念 网页解析,即程序自动分析网页内容、获取信息,从而进一步处理信息。 htmlparser包提供方便、简洁的处理html文件的方法,它将html页面中...

2125
来自专栏数据结构与算法

BZOJ 3932: [CQOI2015]任务查询系统(主席树)

1410
来自专栏程序员互动联盟

【答疑释惑】ascii码及转义字符的含义

我们在c/c++学习开发中经常用到它,小伙伴们你们都知道那些,是不是用到的时候着急或者不知道,为什么判断字符串结尾是'\0'呢?   我们就讲讲列列ascii...

3385
来自专栏个人分享

Hive metastore源码阅读(三)

  上次写了hive metastore的partition的生命周期,但是简略概括了下alter_partition的操作,这里补一下alter_partit...

1932
来自专栏SeanCheney的专栏

《Pandas Cookbook》第08章 数据清理1. 用stack清理变量值作为列名2. 用melt清理变量值作为列名3. 同时stack多组变量4. 反转stacked数据5. 分组聚合后uns

第01章 Pandas基础 第02章 DataFrame运算 第03章 数据分析入门 第04章 选取数据子集 第05章 布尔索引 第06章 索引对齐 ...

1442
来自专栏个人分享

Hive metastore整体代码分析及详解

  从上一篇对Hive metastore表结构的简要分析中,我再根据数据设计的实体对象,再进行整个代码结构的总结。那么我们先打开metadata的目录,其目录...

3773
来自专栏为数不多的Android技巧

Java高效分割字符串

最近优化一段代码的调用时间,发现性能瓶颈居然是io和split!io操作慢情有可原,那么对于split有没有更高效的方法呢?

1K2
来自专栏禁心尽力

反射+自定义注解---实现Excel数据列属性和JavaBean属性的自动映射

简单粗暴,直奔主题。 需求:通过自定义注解和反射技术,将Excel文件中的数据自动映射到pojo类中,最终返回一个List<pojo>集合?   今天我只是通...

4619

扫码关注云+社区