摘要:这个demo很简单。 一个客户表,还有一个票据主从表。 看程序界面: 包括数据提交,彻头彻尾的c/s程序。你完全按照传统的C/S程序模式做开发就可。好处是效率、效率、还是效率! 你还有什么不满意!如果熟悉掌握ExtJS,那么前端你也能主动很漂亮地搞定! 再看一下demo界面,是否很震撼。没有B/S的
阅读全文
摘要:目前是1394。 明白session如何使用管理,看demo Session List和SessionTimeout unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Control
阅读全文
摘要:unigui菜单TuniTreeView 根据数据库表中的内容,显示菜单的处理: function TMainForm.CreateMenu: Integer; var myMenuPoint : PMyMenuRec; i :Integer; menu_id ,menu_name, menu_ur
阅读全文
摘要:procedure THeaderFooterForm.writerParas; var IniFile : TIniFile; begin try IniFile:=TIniFile.Create(TPath.GetHomePath+'\usegear.ini');// Edit_ServerIP
阅读全文
摘要:参考代码 procedure TUniFrmeWebEmbedBase.ExportData; //导出到excel var FlexCelImport1: TExcelFile; i, rowindex, colindex: Integer; ms : TMemoryStream; begin {
阅读全文
摘要:1、建立一个uniForm,用于建立FastReport打印界面。在Form上增加uniFrame。和传统的的报表打印设计一样一样的。 2、在beofeShow事情中: 3、在前端调用的代码 4、关于乱码问题: 5、其他:窗口有数据控件,不知道为什么会自动连接open,因此你要能保持open而不出错
阅读全文
摘要:uniTreeVviewc创建一个tree,显示患者姓名(PatientName)。因为需要用到患者ID(PatientID),所以使用help: TPatientTreeNode = class(TUniTreeNode) //strict private FPatientID: string;
阅读全文
摘要:用WebSocket从服务端直接发送消息给all客户端。 1、在ServerModule 放TUniThreadTimer 2、timer event: procedure TUniServerModule.UniThreadTimer1Timer(Sender: TObject); begin B
阅读全文
摘要:学习unigui过程中,出现使用json和fdquery等数据交换的太多场景要求。 感谢开源DataSetConverter4D提供轮子。 直接抄demo: {Convert DataSet to JSON:}uses DataSetConverter4D, DataSetConverter4D.I
阅读全文
摘要:折腾二天,你不按照demo里的代码来,就是没有效果。功力不够导致的。学习学习再学习!努力努力再努力! procedure TUniGridsGroupingSorting.UniDBGrid1MultiColumnSort( Columns: TUniDBGridColumnArr; Directi
阅读全文
摘要:上面已经将group by this field 汉化。 由于版本的不断更新,不可避免有汉化遗漏。那么说到 如何汉化问题。 根据ExtJSVersion查找你电脑响应目录文件D:\Program Files (x86)\FMSoft\Framework\uniGUI\ext-7.5.1\build\
阅读全文
摘要:做成下面效果图: 采用unistringGrid控件。 问题: 1、不同的日期区间如何得到。如: 项目 开始时间时间 -- 终止使用时间 呼吸机 yyyy-mm-dd yyyy-mm-dd 呼吸机 yyyy-mm-dd yyyy-mm-dd 插管 yyyy-mm-dd yyyy-mm-dd SELE
阅读全文
摘要:var Column: TUniGridColumn; begin Column := TUniGridColumn(unstrngrd_summary.Columns.Add); Column.Title.Caption := DateToStr(currentDate); end 要清楚标题栏和
阅读全文
摘要:第一步:在TuniStringGrid的ClientEvents.ExtEvents中定义Ext.grid.Panel的reconfigure事件: function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts) {
阅读全文
摘要:Unidbgrid自动调整列宽 UniDBGrid1 -> ClientEvents -> ExtEvents [Ext.data.Store[store] ] add store.load fn: function store.load(sender, records, successful, e
阅读全文
摘要:网上有不少介绍。 自己的经验: 是否需要下载文件fontawesome-free-6.5.1-web(),没有研究。说ext_js已经下载配套了。 我很懒,得过且过。 1、下载fontawesome-free-6.5.1-web放在resource,一般推荐files。 2、在ServerModul
阅读全文
摘要:使用echart非常简单,网上有介绍。 主要放一个unihtmlFrame。然后unihtmlframe.text := 'html的代码',就会渲染(初次调用echart的js库要一点稍后)。 unigui本身的chart貌似不能动态生成。 option = { title: [{ text: '
阅读全文
摘要:用unigui写程序,简单的事用户界面不用HTML。因为这个太闹心了。没有什么技术含量,但很闹心。 但是,但是不清楚HTML CSS更闹心。因为养眼的界面是客户起步疑问和要求。 强烈推荐认真读明白大虾的体验和总结:delphi Unigui框架TUniContainerPanel 把CSS和界面属性
阅读全文
摘要:var I: Integer; CurrentObject: TJSONObject; FieldName: string; Pair: TJSONPair;function CreateJSONValueForVariant(const aValue: Variant): TJSONValue;b
阅读全文
摘要:Treeview用于显示按照树形结构进行组织的数据。 Treeview控件中一个树形图由节点(TreeNode)和连接线组成。TtreeNode是TTreeview的基本组成单元。 一个树的节点又包含文本(Text)和数据(Data)。Text为String类,Data则为无定形指针(Untyped
阅读全文
摘要:我们每次修改unigui程序后,一般需要编译后执行,查看效果。可是每次都要关闭杀掉服务程序,再刷新浏览器才能实现。 EMB应该知道这个反人类的做法吧。实际上提供了参数配置:自动kill服务程序,自动打开浏览器调用页面的功能。 project->oprions taskkill /f /im $(OU
阅读全文
摘要:ServerModule是unigui的重要模块。 uniGUI 服务器的内部结构。 每个 uniGUI 服务器都有一个ServerModule的副本, 每台服务器创建一次, 同时根据用户活动动态创建和销毁多个会话。 uniGUI 会话包含一个称为MainModule的专用DataModule ,
阅读全文
摘要:在unigui运行中发现这样的错误clientHeight:property clientheight does not exist。 这是啥原因。从老版本中复制过来的代码含dfm会出现这样的错误。 我的Delphi程序构建和编译很好,但是一旦它在调试模式下运行,我得到以下错误; Property
阅读全文
摘要:小儿科问题,直接上流程代码: 1 procedure TUniServerModule.UniGUIServerModuleHTTPCommand( 2 ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; 3 v
阅读全文
摘要:web程序真是鸡鸣狗盗,零零碎碎。 学习类似SaaS的登录界面,补一大通web的基础知识。 http://127.0.0.1:8077和http://127.0.0.1:8077/admin 这是登录系统。登录账套和管理员登录。又不希望浏览器的get参数。 1、通过UniGUIServerModul
阅读全文
摘要:UniEdit,UniDBEdit,比如输入经纬度:point保留6位小数的数字,如何控制用户输入? 少废话,上干货: 然后: 实战: 第一步: 第二步: have fun!
阅读全文
摘要:pg的模式是个先进而且麻烦的玩意。 query-->datasource-->unidbgrid这是我们偷懒的数据编辑方式。 可是,PG数据库就会出现找不到【模式.表名】。如何找不到【user001.department】表。实际在User001模式下有department的部门表。 如何处理: 在
阅读全文
摘要:使用glb的3d模型,但是跟踪来跟踪去就是在读取demo.gbl文件时显示401错误。 干货,就一句话: procedure TUniServerModule.UniGUIServerModuleBeforeInit(Sender: TObject);中增加语句: procedure TUniSer
阅读全文
摘要:场景: 一表有记录: '南京', '111''苏州', '222''无锡', '333''常州', '444' 希望通过TUniCombobox显示name供下拉选择。然后返回code。 这个是个老话题,在TUniCombobox却折腾半天,真是活见鬼了。 少废话,上干货: cbb1.Items.A
阅读全文
摘要:问题是要再web层面理解和处理。 1、提交数据的异常处理方式。注意,异常是不能直接使用showmessage。 try if fdqry_dictEdit.State in [dsEdit,dsInsert] then fdqry_dictEdit.Post; ShowMessage('保存成功')
阅读全文
摘要:UniDBGrid1 -> ClientEvents -> ExtEvents [Ext.data.Store[store] ] add store.load fn: function store.load(sender, records, successful, eOpts) { sender.g
阅读全文
摘要:UniDBGrid1.WebOptions.Paged := True; UniDBGrid1.PagingBarAuxControl := UniDBNavigator1;
阅读全文
摘要:默认port:9077 希望IP:81后访问9077。于是就采用nginx。问题当点击下载文件或浏览文件等时,怎么知道用户是通过81口访问的? UniGUI 没有暴露 RequestHeader(s),继续走“读头部”的路只会踩坑。最稳妥的做法是:别拼绝对 URL,直接用“根相对路径”,让浏览器自己
阅读全文
摘要:为什么 UniGUI 这么快、甚至感觉比原生 HTML + JS 框架还灵敏? 答案在于: ✅ UniGUI 把「前端交互」和「后端状态」紧密绑定到一个持续的、内存级的会话(UniSession)中。 它不像普通 Web 框架那样每次都要重新构建页面或重新传输状态, 而是—— 直接在内存中同步控件树
阅读全文
摘要:exe直接复制到ms windows server的目录下执行,ok没问题。由于要读取ini配置文件。导致出现莫名其妙的错误。 明明ini参数调整了,还是执行出问题,让你怀疑人生。 坑1:自带记事本保存的 UTF-8 文件默认会加上 BOM (Byte Order Mark)的文件格式,当你保存后,
阅读全文
摘要:厂内有59路监控,希望集成起来使用监控墙。 一、推荐方案:Windows 上跑 MediaMTX 做 RTSP→HLS 网关 核心思路: 大华摄像头只要支持 RTSP/H.264 或 RTSP/H.265。 在 Windows 上跑一个进程(MediaMTX.exe),它负责: 从每路摄像头拉 RT
阅读全文
摘要:场景: 1、mainform中有许多控件,其中有htmlframe。那就有回调等等交互。2、htmlframe中显示相关指标。要初始化和定时刷新数据 问题:死活和htmlframe交互不到。why?我不懂web原理。 有老师精通的,请指导我。这个如果是坑,那么死在这里的的人不会少。所以大家去学vue
阅读全文
摘要:场景:UnimDatePicker需要: 1 进入 Picker:默认日期会按控件当前值显示(2026-01-09) 2 年=2026(当年)时:月槽只剩 1..当月 3 且月=当月时:日槽只剩 1..当日(如果你要 1..昨天:把 limitToYesterday=true) 4 选 2025:月
阅读全文
摘要:对于我们来说,因为不熟悉HTML JS WEB等等,导致一条路走到黑。希望走通,就必须知道EXTJS。 这又是一个打的学习成本。如何对待: 不学 ExtJS(至少学到“能读懂/能改”那一层)会一直很痛,但不需要学成专家。你现在踩的坑本质是:UniGUI 的移动端控件外壳是 Delphi,真正的交互器
阅读全文
摘要:一个极简、可复用的“UniGUI(M) + HTMLFrame/iframe 通信桥模板”。只保留关键段落:装桥、推数据、收事件、延迟关闭。你以后做水质、PLC、Luckysheet、任何 iframe UI,都按这个骨架套。 0)命名约定(统一协议) 前端 → 父页面:{type:'ui_even
阅读全文
摘要:UnimDatePicker等按钮汉化会导致程序崩溃。 1 function afterCreate(sender) 2 { 3 try{ 4 var pkr = sender.getPicker && sender.getPicker(); 5 if(!pkr) return; 6 7 // 有些
阅读全文
摘要:procedure TUniServerModule.UniGUIServerModuleBeforeInit(Sender: TObject); begin MimeTable.AddMimeType('apk', 'application/vnd.android.package-archive'
阅读全文
摘要:使用unigui生成的app,在Android/鸿蒙和iPhone上安装。在Android上,需要自己写个壳子。,然后调用地址或域名。在iPhone上,最简单的企业内网使用app就是使用其浏览器生成快捷键。 1、静态网页,在浏览器打开,让移动设备扫码 <!doctype html> <html la
阅读全文