Dialogs\Dialogs Anonymous Callback

窗体回调函数使用.

1. 标准回调函数

ShowMessage(const Msg: string; CallBack: TUniDialogCallBackProc = nil)

procedure TMainForm.UniButton2Click(Sender: TObject);
begin
ShowMessage('Message-2', CallBack1);
end;
//定义回调函数
procedure TMainForm.CallBack1(Res: Integer);
begin
//OK返回1, 取消返回2;
UniMemo1.Lines.Add('Result-1: '+IntToStr(Res));
end;

2. MessageDlg(const Msg:string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; CallBack:TUniDialogCallBackProc)

procedure TMainForm.UniButton7Click(Sender: TObject);
begin
MessageDlg('mbYesNo', mtConfirmation, mbYesNo, DCallBack4);
end;
procedure TMainForm.DCallBack4(Res: Integer);
begin
case Res of
mrYes : UniMemo1.Lines.Add('DResult: YES');
mrNo : UniMemo1.Lines.Add('DResult: NO');
mrOK : UniMemo1.Lines.Add('DResult: OK');
mrCancel : UniMemo1.Lines.Add('DResult: CANCEL');
end;
end;

2. 匿名回调函数

这种写法适合代码量少的,多了就比较乱,还是标准的看着习惯。

procedure TMainForm.UniButton6Click(Sender: TObject);
begin
MessageDlg('Dialog3', mtConfirmation, mbYesNo,
procedure(Res: Integer)
begin
case Res of
mrYes :
MessageDlg('Dialog4', mtConfirmation, mbYesNo,
procedure(Res: Integer)
begin
case Res of
mrYes : UniMemo1.Lines.Add('DResult: YES');
mrNo : UniMemo1.Lines.Add('DResult: NO');
end;
end
);
mrNo : UniMemo1.Lines.Add('DResult: NO');
end;
end
);
end;

  

Demo学习: Dialogs Anonymous Callback的更多相关文章

  1. 《IT蓝豹》吹雪花demo,学习android传感器

    吹雪花demo,学习android传感器 吹雪花demo,学习android传感器,嘴巴对着手机底部吹一下就会出现飘着雪花效果. 算是学习android传感器效果.本例子主要是通过android.me ...

  2. [Unity3D]做个小Demo学习Input.touches

    [Unity3D]做个小Demo学习Input.touches 学不如做,下面用一个简单的Demo展示的Input.touches各项字段,有图有真相. 本项目已发布到Github,地址在(https ...

  3. 百度mobile UI组件GMU demo学习1-结构和初始化

    移动web现在已经是zepto的天下,但是一直找不到合适UI库,找了一段时间,终于找到了百度的ui库gum和inter 的 appframework UI库 相比之下,百度的UI库更接地气,配合百度强 ...

  4. ShadowGun Demo学习(非技术向)

    主要针对拿来主义,并对一些使用范围广的shader进行研究.虽然是4,5年前的demo,但还是有学习价值的 1.GodRays MADFINGER/Transparent/GodRays 传统的上帝之 ...

  5. 微信小程序官方demo学习

    最近微信小程序很火,很喜欢那种轻应用,用完就走的理念.于是,下载好微信开发者工具,学习一下官方demo. 体验下来,有类似react和vue的感觉,dom类似react那种组件的,data-bindi ...

  6. Cesium学习笔记(七):Demo学习(自由控制飞行的飞机)[转]

    https://blog.csdn.net/umgsoil/article/details/74923013# 这是官方的教程Demo,名字叫Use HeadingPitchRoll,顾名思义,就是教 ...

  7. 如何写好demo——学习感悟

    文章标题:教你如何写好Demo应用 如何制作出最有用的demo呢? 简,易 在demo中,我们要专注于单一的主题.我们的教学覆盖了很大的知识范围,因此,化整为零是非常必要的. 例如,我们要说明Andr ...

  8. unity3d入门 Demo 学习记录

    闲来学习一下 unity3d 的Demo,记录如下. 官方 Demo,名字为 Roll-A-Ball,如图 场景比较简单,包含地面.玩家精灵.主摄像机.墙壁.可拾取的方块.分数为示 text.平行光源 ...

  9. BNR Android Demo学习笔记(一)——CrimeIntent

    开发环境:win7,Android Studio 1.2, 1.Model Crime,数据模型,每个Crime有一个UUID作为唯一标识. package tina.criminalintent; ...

随机推荐

  1. JavaWeb中登陆功能

    首先我们要JavaWeb登陆的基本流程:JSP页面发送请求-->Servlet-->Servlet通过调用方法从数据库中得到数据并将结果返回页面 我们先建立三个jsp页面,包括login. ...

  2. font拓展字体

    最近接触了一个将字体拓展的方法,感觉很不错,所以积累一下. 最近接触的项目一直再用antd,它本身已经提供了很多图标,但是依然不够用,所以需要我们拓展出来一些. 当我们下载到本地之后,就会有几个文件, ...

  3. 代理和 block 传值的使用

    // // ZYViewController.h // BlockTest // // Created by yejiong on 14/11/2. // Copyright © 2014年 zzz. ...

  4. 用终端直接在桌面生成text文件

    简单的两行命令: cd Desktop/  按回车 touch 888.text 按回车就会在桌面生成名称为888的text文件 用途:做demo的时候可以加一个说明文档进去,这样下次可以很方便的查看

  5. python(5) - 冒泡排序

    data = [10, 4, 33, 21, 54, 3, 8, 11, 5, 22, 2, 1, 17, 13] ''' 思路:有多少个元素就循环多少次,每次循环从第一个元素开始与它后面的元素比较, ...

  6. 【数论-数位统计】UVa 11076 - Add Again

    Add AgainInput: Standard Input Output: Standard Output Summation of sequence of integers is always a ...

  7. 练习题之Wait/Notify

    方案一: public class PrintABC { public static void main(String[] args) { AtomicInteger synObj = ); Runn ...

  8. CygWin模拟Linux环境进行Ant批量打包

    运行环境:Windows7 + Cygwin + ant 第一种:有源码 这种方式比较 简单.利用ant打包.直接shell脚本修改 配置渠道号的文件.我们目前是用的umeng的.在AndroidMa ...

  9. python中那些双下划线开头得函数和变量--转载

    Python中下划线---完全解读     Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用'from module import *'导入 __xxx__ 系统定义名字 __x ...

  10. 【转】ora-00031:session marked for kill(标记要终止的会话)解决方法

    今天碰到一个问题,有一张表不能操作,很可能是被锁了,首先想到的是kill session,于是执行了下列的脚本找到是哪个session有问题: select object_name, machine, ...