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

时间: 2024-10-06 16:47:59

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

Delphi 控制台程序

新建控制台程序: File--> New -->Other --> console Application 1 program Project1; 2 3 {$APPTYPE CONSOLE} 4 5 uses 6 SysUtils; 7 var 8 a,b,sum:Integer; 9 10 procedure jiujiuTable(); 11 var 12 i,j:Integer; 13 begin 14 for i:=1 to 9 do 15 begin 16 for j:=1

C、C++控制台程序、Windows API程序、MFC程序理解与比较

在编程语言中,函数是一个很重要的概念,其身影无处不在.在面向过程的编程方式中,函数更是程序的基本构建模块,在面向对象的编程方式中,函数演变为类或对象的成员(当然也可以使用与类无关的函数).函数由函数头和函数体组成.函数头包括域属性(如external.static或类域).返回值类型.函数名.及参数.域属性包括其在多文件编程中的可见范围,是否是属于某一个类的成员?返回值类型是指函数返回的值的具体数据类型(可以理解为函数输出的一部分).函数名是函数保存在内存代码区的首地址,用于函数的调用及函数指针

Windows控制台程序“选定模式”的问题

最近用Nodejs写了个代理程序,一直用的好好的,木有问题,今天突然发现不能用了,使用telnet去连代理的端口也能连通,可是服务就是不能正常使用,提示连接超时. 当时猜测是Nodejs的某个地方阻塞了,分析了下代码,怎么也想不明白不能有阻塞的地方啊. 又是各种倒腾,后来发现一个奇怪的问题,我把鼠标放到Nodejs的控制台上,默认进入了编辑模式,而且整个应用的标题变成了"选定 XXXX"这种形式,我想退出程序,需要按两次Ctrl+C,难道是这的问题? 又来有测试了下,果真还是这的问题,

VS2017新建windows控制台程序打印中文乱码问题

最近刚换上VS2017,由于手头又要做个MFC的程序,所以写控制台程序做功能测试,然后发现居然乱码了. 于是用VS2017新建windows控制台应用程序,在main函数种加一句printf("你好");后,运行结果依然乱码 用notapad++打开该文件后,点击菜单栏的编码一项,发现是UTF-8无BOM格式编码,然后改成以ANSI格式编码后 也就是说VS是用UTF-8来编码代码文件的,编译出的程序中字符串也是按照UTF-8编码的,而控制台却是按照ANSI编码来理解的. 打个比方,A用

.net开发环境的认识,控制台程序的创建,输出,输入,定义变量,变量赋值,值覆盖,值拼接,值打印 两种数据类型,整形类型转换

首先感谢向立凯老师带我走进.net这个很好的软件开发程序.通过两天的学习在这个领域的了解也多了很多,让大家先了解一下c#语言 c#是一种全新且简单.安全.快捷面向对象的程序设计语言.是专门为.net应用开发的语言..net的开发都基于一个统一的开发环境 Visual Studio.net.下面我们来看看怎么在Visual Studio.net.下创建以新的项目: 1.打开 2.新建一个项目 通过执行文件-新建-项目菜单命令,会弹出一个新建项目对话框.在这个对话框中选择开发语言为c#,选择框架版本

2017-2-17 c#基础学习 (控制台程序的创建,输出,输入,定义变量,变量赋值,值覆盖,值拼接,值打印)

1 控制台程序的创建 > 新建项目  ,选择 c#,  框架选择4.0 , 选择控制应用台程序, 选择文件保存位置 修改名字. 2 c#输出与输入 >在main函数中编写代码 >在编写时可以先插入Console.ReadLine();防止程序闪退 > Console.Write("实例语句");//不换行输出 Console.WriteLine("示例语句");//换行输出 Console.ReadLine();//等待用户输入 防止闪退 结

控制台程序添加滚轮滑动支持

控制台程序默认只能通过拖动滚动条来查看窗口中打印的内容,操作起来十分不方便. 本文通过多线程技术为控制台窗体添加鼠标滚轮滑动功能.值得注意的是,在有内容输出时,窗口会自动定位到输出的光标处: 这种情况最好是先暂停住主线程,然后再滚动鼠标查看打印的内容,查看完毕后,再继续执行主线程. 首先,需要让控制台程序的屏幕缓冲区高度 > 窗口高度(此时窗口右侧会产生滚动条),否则无需滚动窗口. 下列代码实现了如下功能: (1)滚动鼠标滑动窗口 (2)按空格键,暂停/继续主线程 #include <wind

利用管道获取控制台程序的标准输出

1.该程序调用控制台程序hello.exe,通过管道获取到hello.exe的标准输出数据,并打印到当前程序的标准输出. #include <Windows.h> #include <iostream> #include <string> using namespace std; void invoke(string exe); int main(int argc, char* argv[]) { string exe = "hello.exe";

VS win32命令控制台程序与单片机串口数据传输

最近有个小的训练 大致是需要用摄像头检测圆,然后把圆的xy坐标发送给单片机. 但是网上大部分都是基于MFC串口控件的例程.大海捞针找到了个win32命令控制台的串口例程 ,自己改了一下贡献出来. 直接调用API实现串口通信 两个例程 如果编译运行有问题 直接复制源文件到新win32命令工程中运行 平台-VS2013-win32 例程1:摄像头识别小圆,然后通过串口输出小圆的xy坐标.单片机可以直接接受,具体串口配置自己配置.摄像头需要 opencv的库,我的库是opencv2.4.12. 例程2