- 博客(380)
- 资源 (9)
- 收藏
- 关注
原创 delphi android打开pdf
另外,如果您需要更强大的PDF编辑和显示功能,可以考虑使用其他第三方组件,如SynPDF或VCL for PDF。在Delphi开发的Android应用程序中打开PDF文件,您可以使用第三方组件,如TeePDF、SynPDF或VCL for PDF等。另外,如果您希望在Android设备上直接打开PDF文件,而不需要在应用程序中显示,可以使用Intent来启动系统的PDF查看器。在这个示例中,我们创建一个Intent来启动系统的PDF查看器,并传递PDF文件的路径。首先,您需要下载并安装TeePDF组件。
2024-03-01 09:25:29 136
原创 Delphi在App中打开Android文件
这一句搞出来的 URI 会导致异常。这里对于文件的描述,是一个 URI,因此,理论上,是一个网络文件,比如 http://xxx.xxx.xx/abc.mp4 也是能打开的。最近要播放 MP4,再次把这段代码拿来测试了一下。不过根据我的经验,如果你的手机安装了多个播放器,这时候系统会问你用哪个播放器。有了这几行代码,任何安卓系统支持的文件,都可以打开。
2024-01-12 14:36:17 467
原创 UniGUI中-UniTreeMenu1常见技巧
目前发现菜单太多时右侧不能自动出现滚动条,即太多的子菜单将超出屏幕范围,鼠标滚轮不能翻动菜单项,不太方便。在UniTreeMenu的clientEvents属性里的UniEvents里,左侧顶部选择Ext.list.Tree,然后在treeMenu.afterCreate里面添加代码如下,即可解决,效果还不错。[info]和[search],[home],[download],[trash],[refresh],[reply],[star],[user]有用,不是所有的都会显示出来。
2023-12-17 17:34:56 1090
原创 在unigui中为组件添加hint
'closable:false,draggable:false,target:"' + jsname + '_id",html:"'+hint+'",title:"提示"});//改变hint的样式。
2023-12-17 10:28:46 441
原创 TUniGUISession属性及方法
这些方法允许开发人员管理会话的生命周期,存储和检索与会话相关的数据,并执行其他与会话相关的操作。请注意,具体的属性和方法可能会因UniGUI的不同版本而有所变化。为了获得最准确的信息,建议查阅适用于你所使用的UniGUI版本的官方文档或源代码。TUniGUISession类是UniGUI框架中用于管理用户会话的类,主要用于存储和管理用户的会话信息。以上是TUniGUISession类常用的方法和属性,通过这些方法和属性可以实现对用户会话的管理和控制。的属性,具体可能会因版本和框架的具体实现而有所不同。
2023-12-17 08:28:44 1021
原创 解决UniDBTreeGrid在数据更新后自动折叠的问题
UniDBTreeGrid控件在数据更新之后,总是会自动折叠,我想要让它既更新了数据,又不自动折叠。通过以上三个步骤即可解决问题。
2023-12-16 10:58:05 394
原创 uniGUI 应用捕获按键
存在的问题,当显示一个urlFrame,焦点在他上面时,不会触发OnKeyDown事件,从而定义的按键无法捕获到了!MainForm有个属性MonitoredKeys,用来处理捕获用户在浏览器中的按键。
2023-12-16 09:38:27 340
原创 为uniDBGrid设置文字操作栏
对于Web应用界面,这是最常见的方式,那对于我等Delphi开发者来说,基于uniGUI该怎么实现呢?1]首先,为uniDBGrid准备“操作”这一栏的显示内容,具体说,在数据集中准备好显示的数据。我是为数据集加了一列,叫operation。把记录的id传过来了。
2023-12-16 09:37:52 619
原创 uniGUI学习之UniHTMLMemo1富文本编辑器
也许是uniHTMLMemo的BUG,uniMemo在不断增加新的消息时会自动滚屏,但是UniHTMOMemo不会,可在发完消息后和收到消息后添加调用javaScript函数解决。解决系统自带的不能插入图片,字体少等问题 https://www.lanrenzhijia.com/comm/4520.html。在这里你会发现我在发送文字处增加了“”,那是因为如果不增加这个,接收窗口显示时会把多次信息链接到一起,没有换行。5、显示 并 编辑 HTML源代码(主要是图片处理)4、输入长度限制问题。
2023-12-16 09:18:45 505
原创 UniGUI之提示信息MessageDlg及获得信息Prompt
UniSession.AddJS('Ext.get("messagebox-1001_header-title-textEl").setText("确认")');UniSession.AddJS('Ext.get("messagebox-1001_header-title-textEl").setText("信息")');UniSession.AddJS('Ext.get("messagebox-1001_header-title-textEl").setText("警告")');
2023-12-16 09:15:03 592
原创 UniGUI学习之UniImage
ui.Picture.Bitmap.Canvas.TextOut(10, 10, '图片填上文字');UniImage图片填上文字。
2023-12-16 09:07:06 484
原创 uniGUI之上传文件UniFileUploadButton
/要在与exe同下新建一个UploadFolder文件夹。//将 文件 保存到UploadFolder文件夹,先要创建这个UploadFolder文件夹。: 文件类型过滤,有图片image/* audio/* video/*三种过滤。//将 文件 加载到 UniImage1里。标题以及消息文本,可翻译成中文。
2023-12-16 09:06:24 1403
原创 uniGUI学习之Cookie
UniApplication.Cookies.SetCookie(const ACookieName: string,const AValue: string,AExpires: TDateTime = 0,ASecure: Boolean = False,AHTTPOnly: Boolean = False,const APath: string = '/')
2023-12-16 09:02:47 427
原创 uniGUI之MASK遮罩
在页面进行后台数据库操作的时候,不想 用户再进行 页面上的 其他操作,这时候就要 将页面 遮罩。// 是否显示信息。//很简单,本例子就是告诉大家如何在程序忙碌时弹出一个“请等待。ScreenMask.Message:='后台处理中,请稍候';
2023-12-16 09:00:00 353
原创 UniGUI 之UniDBGrid
/DisplayValues存储显示文字 ,不设置 则 显示 True/False;.GridLotacao .x-grid-column {/*带元素id的属性(设置栏),在unidbgrid中的layoutconfig属性中的cls子属性中加入GridLotacao名称*/.GridLotacao .x-grid-cell {/*带元素id的属性(设置单元格),在unidbgrid中的layoutconfig属性中的cls子属性中加入GridLotacao名称*/// 一定为True;
2023-12-16 08:16:36 1278
原创 uniGUI for Delphi UniSweetAlert控件详解
1、AlertType:提示类型,分为atError、atSuccess、atInfo、atQuestion、atWarning五种类型,主要控制提示界面顶部的图标样式;2、AllowEscapeKey:是否允许Esc键关闭提示界面;3、AllowOutsideClick:是否允许点击提示框外部区域关闭提示界面;4、Animation:动画;5、CancellButtonText:取消按钮中文内容;6、ConfirmButtonText:确认按钮中文内容;
2023-12-16 08:10:52 490
原创 unigui分bpl如何访问mainmodule的变量
使用接口的好处是可以更好地封装和保护数据,并且可以实现更灵活的数据共享方式。你可以根据需要定义任意数量的接口,每个接口可以包含不同的方法和属性。此外,接口还支持跨进程和跨线程的访问。因此,使用接口是在UniGUI中实现BPL与MainModule之间数据共享的一种常见和推荐的方法。要在UniGUI中的BPL访问MainModule中的变量,可以使用全局变量或接口来实现数据共享。请注意,在使用全局变量时,要确保MainModule和BPL在相同的进程中运行,以便它们可以共享内存空间。方法一:使用全局变量。
2023-12-15 14:47:57 382
原创 UniGui日常技巧:解决在苹果手机ios系统中UnimNumberEdit无法输入小数
那么如何在unigui种修改呢,uninumberedit->clientevents->unievents->aftercreate,添加如下代码sender.inputElement.set({inputmode: "decimal"})在unigui的手机端中使用unimnumberedit的时候,苹果手机只能输入0-9整数数字,安卓手机没有问题。,苹果手机numeric就是0-9,如果要输入小数需要使用。不使用虚拟键盘,这个时候页面需要使用自定义的键盘代替。默认值,会显示标准输入键盘。
2023-12-09 09:07:03 560
原创 UniGui使用CSSUniTreeMenu滚动条
老规矩,unitreemeu的layout的componentcls里添加bbtreemenu,然后在css里添加。有些人反应UniTreeMenu当菜单项目比较多的时候会超出但是没有出滚动条,只需要添加如下CSS。然后当内容超出后就会自动出现滚动条。
2023-12-09 09:06:15 492
原创 UniGui使用CSS移动端按钮标题垂直
然后添加css,老规矩,添加css的方法有两种一种在servermodule的customcss里添加,一种是使用自定义css文件添加,此处以第一种方法演示。unigui移动端中按钮拉窄以后,标题无法垂直居中,是因为标题有一个padding属性,在四周撑开一段距离。解决方法,用css修改padding,具体做法如下。首先给button的cls创建一个cls,例如。把按钮设高一些,btn的height设置成60。
2023-12-09 09:03:38 603
原创 UniDBGrid序号列添加标题
UniSession.AddJS('MainForm.UniDBGrid1.columnManager.columns[0].setText("序号")');有人想要在UniDBGrid的序号列加上标题,就是这里。
2023-12-09 09:01:55 372
原创 UniGui禁用缓存
exe模式下所有的请求,无论是数据还是文件,都是由unigui服务器进行处理,而isapi模式下,文件请求都是由iis进行处理,所以没有执行到此代码,也就不会生效(iis可以设置自定义header来禁用缓存),同理HyperServer下也不生效,因为hy下文件处理由hy完成,同样没有执行到此代码。只要地址不变,就会使用缓存。,不缓存,那么所有文件在每次刷新的时候都会重新加载,就会增加服务器压力。今天有人问到如何禁用缓存,原因是引用了第三方js,css等文件,但是因为缓存的原因,修改后没有及时生效。
2023-12-09 08:54:37 654
原创 UniGui使用CSS优化PageControl
把此图片另存到tab-default-close.gif 然后运行库里覆盖掉原来的图片。最后提示,此css是在默认的皮肤也就是classic下修改,其他皮肤未测试。以上代码贴到ServerModule的CustomCSS里。关闭按钮是图片,重新制作一个合适的图片替换掉即可,比如。如果有其他喜欢的样式自己做图片替换掉即可。
2023-12-09 08:49:41 514
原创 去掉手机端顶部间隙
在ServerModule的customcss里添加以下代码。Unigui手机端打开时,在顶部有一条白色间隙。使用以下方法可以去除间隙。
2023-12-09 08:46:55 328
原创 UniGUI Session管理說明
UniGUI Session管理說明每一個Session對應一個UniMainModule,一個MainForm因此Session+UniMainModule就可以得到所有Session+使用者的資料以做管理之用 [UniServerModule] Public區定義 UserList:TList; //登入Session List //事件 procedure TUniServerModule.UniGUIServerModuleCreate(Sender: TObj
2023-12-03 11:12:13 837
原创 UniGui应用自适应PC和Mobile
先按常规方式创建UniGui PC端应用,然后按下图添加Mobile MainForm和Mobile Login Form(需要时),添加后打开网址时UNIGUI应用会根据客户端类型自动调用PC或移动端模式。
2023-12-01 11:34:52 489
原创 UniGUI官方Demo打开慢的问题
C:\Program Files (x86)\FMSoft\Framework\uniGUI\Demos\Desktop\AllFeaturesDemo\mdemo.dproj 运行时浏览器加载慢由于Demo中访问了Google服务器,导致了浏览器加载慢,将Demo中Google服务器地址删除即可https://maps.googleapis.com/maps/api/js?sensor=false&key=AIzaSyD51syplucTDbub0ZcsZSJT8IixGAnkuxM
2023-12-01 08:00:58 373
原创 MS SQL SERVER查询 本日、本周、本月、本季度、本年起始时间
declare @beginTime datetime, --查询开始时间@endTime datetime, --查询结束时间--查询时间类型,1=日,2=周;3=月;4=季;5=年。
2023-11-18 14:35:08 519
原创 巧用SqlServer数据库实现邮件自动发送功能
数据库自动发送邮件成功了,流下了激动的泪水,偷懒果然会让人快乐,晚上可以加鸡腿了。存储过程的编写思路就是:将邮件需要发送的内容进行获取,然后通过SQL调用发送邮件的存储过程,将其需要的参数一一提供即可。这就是使用SqlServer完成的邮件自动发送功能,不同的数据库配置肯定会有所不同,但思路都是大相径庭的。编写后同样需要测试,如果可以执行该存储,可以实现邮件的正常发送功能,那么我们此时离胜利只有一步之遥了。上述步骤测试通过后,我们开始进行存储过程的编写了,为SQL作业的自动执行打下脚本的基础。
2023-11-18 09:33:56 754
原创 Delphi XE2 新控件 布局Panel TGridPanel TFlowPanel
TGridLayou:表格,自动排列容器里的控件,控件大小相同可自定义大小,设定后全部控件大小相同且不变,x行y列,行数列列数根据控件大小变动。TFlowPanel的效果图,里边是panel,左侧是TCategoryButtons,搜索框是TButtonedEdit。堆栈Panel,一行只有一个控件(不能多列),或一列只有一个控件(不能多行)不需要些代码计算左边,自动水平居中 垂直居中 ,横向纵向居中!
2023-11-06 09:08:37 393
delphi代码标准文档
2010-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人