2013年8月28日
摘要: FileUpload文件上传,学习TUniFileUpload控件的使用TUniFileUpload主要属性:Filter: 文件类型过滤,这个属性在web模式下是无效的,UniGUI目前版本还没有实现此功能,比较有用的功能,希望作者尽快实现此功能;MaxAllowedSize: 设置文件最大上传尺寸;message:标题以及消息文本,可翻译成中文,这个属性也做的不完整,个别消息文本没有提取出来;TUniFileUpload控件目前最大的问题是不支持文件批量上传!事件:OnCompleted(Sender: TObject; AStream: TFileStream)负责文件上传完成后的处理, 阅读全文
posted @ 2013-08-28 23:38 `青石 阅读(1020) 评论(0) 推荐(0) 编辑
摘要: DownloadDemo学习文件下载1. 几个获取临时路径的函数:UniServerModule.TempFolderURL //当前程序路径下"Temp"文件夹;UniServerModule.LocalCacheURL //缓存路径,位于程序路径下的"Cache"文件夹;UniServerModule.GlobalCacheURL //全局缓存路径,位于程序路径下的"Cache"文件夹;LocalCacheURL和GlobalCacheURL里的缓存文件在exe程序退出时会被清空,但尚不清楚在使用中它们有什么不同;TempFold 阅读全文
posted @ 2013-08-28 23:38 `青石 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 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, 取消返回 阅读全文
posted @ 2013-08-28 23:37 `青石 阅读(408) 评论(0) 推荐(0) 编辑
摘要: CustomException捕获程序发生的异常。1. 抛出各种异常procedure TMainForm.UniButton1Click(Sender: TObject);begin PByte(0)^:=0;end;procedure TMainForm.UniButton2Click(Sender: TObject);begin raise Exception.Create('Custom exception raised');end;procedure TMainForm.UniButton3Click(Sender: TObject);begin TMainForm. 阅读全文
posted @ 2013-08-28 23:36 `青石 阅读(1118) 评论(0) 推荐(0) 编辑
摘要: Cookies Demo浏览器Cookies的读写,最常用的就是记录用户的登录信息,在项目里做登录界面时也用到了Cookies功能。procedure TMainForm.UniButton2Click(Sender: TObject);begin //分别设置Cookies的名称、值、有效期(当超过有效期,浏览器会自动清除当前Cookies) UniApplication.Cookies.SetCookie(UniEdit1.Text,UniEdit2.Text, UniDateTimePicker1.DateTime);end;procedure TMainForm.UniBu... 阅读全文
posted @ 2013-08-28 23:36 `青石 阅读(433) 评论(0) 推荐(0) 编辑
摘要: Collapsible Panels设置TUniPanel布局属性,布局属性在Ext里是比较常用的属性,当前版本虽已经提供了布局功能,但很不完善,比如当Panel.TitlePosition=tpRight时,收缩条就始终设置不到Panel的上面,还有待作者继续完善的;自己在实际开发中没有使用此功能,在需要的地方放置一个其他控件,点击实现显示或隐藏Panel,另外也可以使用第三方的XComponents控件来实现布局; 阅读全文
posted @ 2013-08-28 22:59 `青石 阅读(294) 评论(0) 推荐(0) 编辑
摘要: ColumnSort设置UniDGGrid点击表头时排序,设置方法比较麻烦且不通用,在实际开发中用处不大。自己在项目中用了一个比较笨的办法,写了一个函数通过sql来排序:procedure TMainForm.dbgRealtimeColumnSort(Column: TUniDBGridColumn; Direction: Boolean);var sName: string; bAll, bSort: Boolean;begin bSort := not dbgRealtime.TabStop; //正序或者倒序 bAll := rdbAllStcd.Checked; //调用... 阅读全文
posted @ 2013-08-28 22:59 `青石 阅读(397) 评论(0) 推荐(0) 编辑
摘要: ClientInfo获取客户端环境参数,从0.9版本开始新增了TUniClientInfoRec对象,可以得到客户端的一些信息,之前为了获取浏览器版本号需要自己写函数,现在可以直接使用TUniClientInfoRec对象了。procedure TMainForm.UniFormActivate(Sender: TObject);var C : TUniClientInfoRec;begin UniLabel7.Caption:=UniApplication.RemoteAddress; C:=UniApplication.ClientInfoRec; UniLabel6.Captio... 阅读全文
posted @ 2013-08-28 22:58 `青石 阅读(684) 评论(0) 推荐(0) 编辑
摘要: Closable Tabs给tab页添加关闭按钮,设置UniTabSheet.Closable = True这样在tab页的右上角就会出现关闭图标,点击可以关闭当前tab页面;1. 直接关闭,完成后提示:procedure TMainForm.UniTabSheet5Close(Sender: TObject; var AllowClose: Boolean);begin ShowMessage('Tab Closed.'); end;2. 使用回调函数来确认是否关闭:procedure TMainForm.CallBack(AResult: Integer);begin if 阅读全文
posted @ 2013-08-28 22:58 `青石 阅读(488) 评论(0) 推荐(0) 编辑
摘要: ClientEvents在控件的ClientEvents属性里嵌入JS代码,增加了开发的灵活性。分别在TUniPanel和TUniTimer的 ClientEvents事件里添加了JS代码:1. 通过JS代码来设置控件的属性:function Onmousemove(sender, x, y){ var W=MainForm.UniButton1.getWidth(); var Y=sender.getHeight()-24; MainForm.UniButton1.setPosition(x-W/2, Y);}function Onmousemove(sender, x,... 阅读全文
posted @ 2013-08-28 22:57 `青石 阅读(731) 评论(0) 推荐(0) 编辑