重温delphi之控制台程序:Hello World!
原文:重温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!的更多相关文章
- 我写的第一个DELPHI的控制台程序,留作纪念。
program Project2; {$APPTYPE CONSOLE} uses SysUtils; const s = 'hello' ; var a , b , c : integer; f ...
- 再谈Delphi关机消息拦截 -- 之控制台程序 SetConsoleCtrlHandler(控制台使用回调函数拦截,比较有意思)
这里补充一下第一篇文章中提到的拦截关机消息 Delphi消息拦截:http://blog.csdn.net/cwpoint/archive/2011/04/05/6302314.aspx 下面我再介绍 ...
- C\C++控制台程序隐藏方法总结
学习计算机,往往先从Windows环境下学习编程,学习编程,往往从C学起,学习C,往往又从控制台程序学习,何为控制台,就是那个黑框白字的界面.对于这样一个最初认为奇陋无比而现在认为无所不能的编程平台, ...
- VC++中的C运行时库浅析(控制台程序默认使用单线程的静态链接库,而MFC中的CFile类已暗藏了多线程)
1.概论 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的.C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于 ...
- 在.NET Core控制台程序中使用依赖注入
之前都是在ASP.NET Core中使用依赖注入(Dependency Injection),昨天遇到一个场景需要在.NET Core控制台程序中使用依赖注入,由于对.NET Core中的依赖注入机制 ...
- 使用 CommandLineApplication 类创建专业的控制台程序
闲话 在很久很久以前,电脑是命令行/终端/控制台的天下,那屏幕上的光标在行云流水般的键盘敲击下欢快地飞跃着,那一行行的字符输出唰唰唰地滚动着--直到 Windows 95 的出现(那时候我还不知道苹果 ...
- C#基础-关于用json给控制台程序传值的坑
上周遇到了一个非常诡异的坑,首先写了两个程序,第一个程序输出成dll,第二个程序是控制台程序. 在第一个程序里,我使用了process去启动第二个程序,同时传入了一个Json作为参数,即: Proce ...
- 你们信不信一句Console.WriteLine就能让你的控制台程序失去响应
好久没更新博客了,今天是扒衣见君节,难得闲下来就来说说一个最近有趣的发现吧. 首先废话不多说,直接上代码吧 class Program { static void Main(string[] args ...
- zw.delphi不同版本程序运行速度测试
{ zw.delphi不同版本程序运行速度测试 delphi无论是开发,编译,还是运行,速度方面向来不差,笔者很少进行这种微粒度的优化,调试. 最近,因为项目需要,发现:同一个函数模块,差不多同样的代 ...
随机推荐
- 进阶:案例五: Dynamic 创建 Business Graphic
效果图: step: 无需节点无需UI 1.添加属性 2.代码: method WDDOMODIFYVIEW . DATA:lr_graph TYPE REF TO cl_wd_business_gr ...
- Servlet的学习之Request请求对象(3)
本篇接上一篇,将Servlet中的HttpServletRequest对象获取RequestDispatcher对象后能进行的[转发]forward功能和[包含]include功能介绍完. 首先来看R ...
- appium 真机测试问题 出现 instruments crashed on startup
1.appium 真机测试的时候 instruments crashed on startup,必须在真机上打开UI Automation 在设置里: Developer->Enable UI ...
- Windows server 2008 R2实现多用户远程连接
原文 Windows server 2008 R2实现多用户远程连接 经常使用远程桌面的朋友可能会注意到,Windows server 2008 R2中,远程桌面最多只允许两个人远程连接,第三个人就无 ...
- 基于visual Studio2013解决面试题之0401非递归遍历二叉树
题目
- 基于visual Studio2013解决面试题之0308Fibonacci数列
题目
- spring mvc 接受多对象的处置
spring mvc 接受多对象的处理 spring mvc感觉非常好用,尤其是对接收对象參数的自己主动绑定非常简便,但对于同一时候传多个对象时有些困扰. 同一时候项目并没有直接使用spring的fo ...
- HttpWeb服务器之--用OO方式写
虽然写的不是很好,但 最终解释权以及版权归13东倍所有! package com.web; import java.io.IOException; public class Test { public ...
- flashcache中应用device mapper机制
Device Mapper(DM)是Linux 2.6全面引入的块设备新构架,通过DM可以灵活地管理系统中所有的真实或虚拟的块设备. DM以块设备的形式注册到Linux内核中,凡是挂载(或者说“映射” ...
- Delphi面向对象设计的经验原则(61条)
(1)所有数据都应该隐藏在所在的类的内部. (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者. (3)尽量减少类的协议中的消息. (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深 ...