zoukankan      html  css  js  c++  java
  • 开发KOL程序2

    Kol窗体程序.

    我们今天来用kol创建一个空白窗体,用过Windowssdk开发窗体程序的人可能都知道,这个也不是一个很容易的事情.下面我们就开始吧

    首先,我们要新建一个控制台工程

    程序默认生成的代码如下

     1program Project1;
     2
     3{$APPTYPE CONSOLE}
     4
     5uses
     6
     7 SysUtils;
     8
     9begin
    10 try
    11
    12    { TODO -oUser -cConsole Main : Insert code here }
    13
    14 except
    15
    16    on E:Exception do
    17
    18      Writeln(E.Classname, '', E.Message);
    19
    20 end;
    21
    22end.
    23

    下面我们要删除这里的一些代码,同时要添加一些代码,因为我们要开发kol程序:-)

    删除后代码如下

    program Project1;

    uses

     Windows,kol;

    Begin

    end.

    这样我们就可以开始动手写kol程序了.

    在这里先要给大家介绍一个对象,大家在写Delphi的时候还记得那个Application,他是一个VCL应用程序的核心.kol既然是仿照VCL,那么他也有一个这样的对象,但是在kol中他不叫Application,他改名字叫Applet,呵呵,感觉好别扭啊J.而且在kol,所有组件都是PControl类型的,怎么样,奇怪吧,正式因为他的这一点,才使得kol开发的程序特别的小.

    好了,现在我们开始写程序吧.

    我们的第一个程序的样子就是这样的,下面我来一句一句的给大家解释一下.

    program Project1;

    uses

     Windows,kol;

    var

     MainForm:PControl;

    begin

     Applet:
    =NewApplet('FirstApp');

     MainForm:
    =NewForm(Applet,'TestApp');

     MainForm.Size(
    400,300);

     MainForm.Show;

     Run(Applet);

     Applet.Free;

    end.

    解释:

    MainForm:PControl; //这句就是声明一个Form窗体,不要觉得奇怪,因为kol所有组件都是PControl类型的.

    Applet:
    =NewApplet('FirstApp'); //创建一个Applet,其实就是VCL里面的Application

    MainForm:
    =NewForm(Applet,'TestApp'); //这个就是创建一个窗体,在kol中所有的组件都是用new+组件类型来创建的,这个和VCL组件的Form:=TForm.Create()这种创建方法是不一样的.如果你是想创建一个Button,那就要写MyButton:=NewButton(parent,’MyBtn’);这样才能正确创建一个Button.kol有很多的组件,具体的参数可以查看一下kol源代码就可以了,很简单的.

    MainForm.Size(
    400,300); //这个不用我说了吧,设置大小

    MainForm.Show; 
    //显示窗体

    Run(Applet); 
    //这个才是最关键的,记得VCL里面的Application.Run吧,这个就是kol的Application.Run,就这么写J

    Applet.Free; 
    //结束释放

    这样我们的第一个程序就完成了,怎么样简单吧,就几行代码就可以写出一个空白窗体,不用像sdk开发那样要写回调函数,要处理消息……一切因kol而改变

  • 相关阅读:
    【软件教程】oracle11g数据库的下载和安装
    (一)最新VMware vSphere Data Protection(VDP) 6.1.11 的安装过程
    缓存与库先写哪个,这十几张图告诉你
    因为它,差点无缘大厂梦!!!
    从小公司进入大厂,我都做对了哪些事?
    毕业一年后接私活赚了10w,还拿了几家大厂offer!
    同样是持久化,竟然有这么大的差别!
    硬核!15张图解Redis为什么这么快
    面试时说Redis是单线程的,被喷惨了!
    【漫画】活见鬼,明明删除了数据,空间却没减少!
  • 原文地址:https://www.cnblogs.com/sun_catboy/p/1426521.html
Copyright © 2011-2022 走看看