Delphi
文章平均质量分 57
shuiying
这个作者很懒,什么都没留下…
展开
-
AdvStringGrid之表脚统计实现
AdvString可以在表格尾部显示一个表尾行,设置代码如下:{***************************************************************************}{ TAdvStringGrid demo application }{ for原创 2009-01-06 22:12:00 · 3855 阅读 · 0 评论 -
Unigui的UniForm增加ToolTip
老外的例子,两个步骤1.在uniForm的uniEvent属性中写入以下代码:function window.OnBeforeInit(sender){ Ext.apply (sender, { tools: [{ type: 'pin', tooltip: 'tooltip of pin', handler: f转载 2013-05-27 17:38:18 · 2982 阅读 · 0 评论 -
UniDBGrid增加显示记录数的label及隐藏refresh按钮
1. 在UniDBgrid的extEvent属性中写入以下代码:function OnAfterCreate(sender){ var toolbar=sender.getDockedItems()[1]; //取出固定在bottom的ToolBar toolbar.items.getAt(10).hide(); //取出ToolBar中的Refresh按钮,序号10,隐原创 2013-05-28 10:24:18 · 4118 阅读 · 4 评论 -
操控Windows服务程序的单元
一个操控Windows服务程序的单元unit untServerInfo;interfaceuses Windows, Messages, SysUtils, Classes, Forms, WinSvc, SvcMgr, System.Win.Registry;function ServiceGetStatus(sMachine, sService: string): D转载 2013-06-18 07:40:07 · 1022 阅读 · 0 评论 -
UniGui中如何监听Session的开始与结束
UNIGui中的UniServerModule模块有一个SessionManager(TUNIGuiSessionManger类)的属性,通过 TUNIGuiSessionManger类的相关属性可以来监听web会话的开始与结束。如:UniServerModule.SessionManager.Sessions.OnSessionStart := OnSessionStart;Uni原创 2013-06-18 16:15:51 · 3539 阅读 · 1 评论 -
Firebird数据库语句:update or insert
update or insert是Firebird2.1 中增加一个个语句,可以在此语句中根据匹配字段来判断目标表中是否有特定的记录,如果没有匹配的记录,就执行Insert,反之则更新除匹配字段外的其他字段。匹配的字段必须是主键。如果在是触发器或者存储过程中使用,还可以通过Returing子句返回特定的值到变量中。文档中是这样说明:UPDATE OR INSERT INTO {t原创 2013-07-20 11:36:54 · 5714 阅读 · 1 评论 -
Lazarus 中使用Grid++Report报表控件 的简单例子
Grid++Report安装到Lazarus后,Grid++Report的查询显示器,打印预览器,报表主对象和报表设计器的的相关命令要通过OleServer来具体调用。除此之外,使用方法与在Delphi中没有区别。如: AxcGridppReport1.OleServer.LoadFromFile('d:\1.grf'); //读入一个报表模板 ,中间加了OleServer原创 2013-08-03 14:54:09 · 4791 阅读 · 0 评论 -
Lazarus 中安装Grid++Report报表控件
Grid++Report是非常优秀的国产报表控件,相对其他报表控件而言,Grid++Report具中文文档和非常全面的例子程序,,前只在Delphi,易语言中用过,今天尝试在Lazarus中使用,毕竟Lazarus是开源免费的,如果以后版权要求非常严格的话,Lazarus是非常好的选择。通过查找相关文档,COM控件中可以在Lazarus中使用的,具体步骤如下:1、安装lazAcrivex控原创 2013-08-03 14:28:55 · 5755 阅读 · 0 评论 -
uniDBGrid实行多选表格行
uniDBGrid本身是支持checkBox多选的,但必须是Boolean的字段才行,只要是Boolean类型的字段,显示在uniDBgrid中就是带CheckBox的界面。网上大多数人推荐的方法是在构建查询串的时候,在查询串中添加一个虚拟的Boolean字段来实现多选记录。但一个系统必然有很多的查询串,都要去加个虚拟字段,维护上太麻烦。可以利用TclientDataSet的计算字段来实现多选原创 2013-09-08 12:03:55 · 4523 阅读 · 0 评论 -
uniGUI0.94 以EXE形式发布程序的布署方法
uniGUI0.94以后发布要分别带上extjs和uni的两个js文件夹,这两个文件夹的具体位置要在UniServerModule模块中指定以下两个属性: UniServerModule.UniRoot 代表uni的js及资源文件夹目录,即uni-0.94.0.1024目录中的文件,如果属性值为: [uni]\ ,则程序运行时会到uniGui的安装目录下去寻找 UniServerM原创 2013-12-12 11:09:22 · 7001 阅读 · 1 评论 -
uniGUI0.93项目升级到0.94版报a.on is not a function 的解决办法
uniGUI0.93个别项目升级到0.94版后编译运行时会报Ajax错误,类似于:a.on is not a function 根据官方的提示,出错的原因在于From的dfm文件中保存的ClientEvents事件的约定字符串不同。0.93版中,如果用到from的OnBeforerender事件,在dfm文件一般保存为以下形式:而到0.94版本中,用到同样的事件则保存的原创 2013-12-06 08:50:12 · 1872 阅读 · 0 评论 -
uniGUI显示Warning: Form must be shown after it is created的解决办法
UniGui0.94以后,截止到0.94.0.1022版本经常在一个From中访问另一个From成员的时候会出现以下错误:Warning: Form must be shown after it is created: frmXXX_1可能0.94以的UNiGui有了变化,具体原因不得知。解决方案:把被访问的这个成员添加为UniMainModule中的一个公开成员,From中访问U原创 2013-12-05 22:45:43 · 2072 阅读 · 0 评论 -
UniGui中设置uniEdit控件的fieldLabel ,emptyText等Extjs属性
在uniEdit控件的unievents属性的beforeInit事件中写入以下代码:function beforeInit(sender){ sender.emptyText ='请输入姓名'; sender.fieldLabel='姓名'; sender.labelStyle = 'text-align:right'; sender.fieldStyl原创 2014-04-01 17:53:47 · 3704 阅读 · 0 评论 -
UniGui中使用Grid++Report报表控件子报表获取数据的方法
Grid++Report做为优秀的报表控件,子报表是其重要功能之一,但Grid++Report提供的网页报表示范主要是以页面为主的,UniGui在Delphi中以快速编写web管理软件著称,但由于资料文档很少,经过摸索,Grid++Report的子报表要在uniGUi中正确获取子报表数据,只能通过Ajax数据回调的方式进行,在uniGUi中对前端Ajax的响应,就要是通过控件的AjaxEvent事原创 2015-11-20 16:55:27 · 4414 阅读 · 0 评论 -
UniGui手动终止一个会话
procedure KillSession;var Sessions: TList; Session: TUniGUISession; I: Integer;begin Sessions := UniServerModule.SessionManager.Sessions.SessionList.LockList; try for I := 0 to转载 2013-05-23 22:58:29 · 2494 阅读 · 0 评论 -
Unigui获取连接的客户端列表
var I : Integer; ASessionList: TList; ASession : TUniGUISession;begin memo1.Clear; ASessionList:=UniServerModule.SessionManager.Sessions.SessionList.LockList; try for I := 0 to AS转载 2013-05-23 22:55:13 · 2982 阅读 · 0 评论 -
Delphi数据库连接池源码
1.连接池基类THL_RTC_DBPool,可以在这个类基础上继承实现具体数据库的连接池unit THighlander_rtcDatabasePool;// RTC SDK Test proyect// freeware// Font used in Delphi IDE = Fixedsys{ Database parameters: Set bef转载 2013-05-06 17:50:36 · 6856 阅读 · 0 评论 -
AdvStringGrid显示Access数据
AdvStringGrid控件自带两个函数,可以直接显示acess数据库中的数据procedure TAdvStringGrid.LoadFromMDBTable(Filename, Table: string);procedure TAdvStringGrid.LoadFromMDBSQL(Filename, SQL: string);其中LoadFromMDBTable的实现是通过原创 2009-01-06 22:27:00 · 1837 阅读 · 0 评论 -
AdvstringGrid设置标题行对齐方式
procedure Tfrmmain.AdvStringGrid1GetAlignment(Sender: TObject; ARow, ACol: Integer; var HAlign: TAlignment; var VAlign: TVAlignment);begin if ARow=0 then begin HAlign := taCenter;原创 2009-01-12 18:07:00 · 4747 阅读 · 0 评论 -
AdvStringGrid使用方法(1)
本文简单的介绍了TAdvStringGrid控件的一些常用的属性事件和方法,主要用于统计数据和设计比较复杂的表格!核心部分:合并单元格的几个函数和过程! 1.可否进行编辑 设置Options中goEditing设置为true。 2.点击鼠标时直接进入编辑,或允许、不允许改变行或列宽等特性,都可以在MouseActions中设置。 3.设置Grid中,某一列的数据格转载 2009-01-12 18:12:00 · 12733 阅读 · 0 评论 -
Firebird嵌入版本的使用方法
Firebird的嵌入版本是一个非常酷的版本,它包含了SQL数据库的所有功能,但是却不用安装,不用专门启动服务与后台,实为单机软件开发首选平台! 通常,人们也叫它“内嵌服务器版”或“Embed版”,都是同一个意思。 目前,嵌入版只可在Windows下运行。 本站提供两个嵌入版下载: http://www.firebird.net.cn/down_view.as转载 2009-03-08 20:56:00 · 3810 阅读 · 0 评论 -
FirebirdSQL内置函数使用说明
加*号为FB2.0加入的函数整理:剑雷(jianlei) 2006-10-131. COUNT, AVG, MAX, MIN, SUM说明:通用统计函数,不详细介绍了2. EXTRACT(timestamp_part FROM value) 说明:EXTRACT(YEAR/MONTHE/DAY/WEEKDAY FROM 字段名)从日期型字段中分离出年,月,日及一个星期的第几天3. CAST(val转载 2009-03-08 20:46:00 · 1614 阅读 · 0 评论 -
TADOQuery优化设置
下面是使用ADO时程序员应该知道的规则。只要程序员了解并且适当地使用在应用系统中,那么让ADO和ADOExpress拥有良好的执行效率并不是困难的事情:1)尽量找到真正的原生ADO和OLEDB驱动程序。尽量不要使用ADOForODBC驱动程序,因为这种架构使用在一些数据库时会发生不正常的执行状况,也比原生ADO和OLEDB驱动程序来得慢一些。2)ADO驱动程序的品质大大地影转载 2009-04-06 08:02:00 · 3826 阅读 · 1 评论 -
SQL2000 分页查询语句
select top 10 * from Orders where OrderID> (select max(OrderID) from (select top 20 OrderID from Orders order by OrderID ASC ) t0)order by OrderID ASC转载 2011-11-03 09:05:40 · 1297 阅读 · 0 评论 -
UniGui如何实现压缩传输数据?
TUniServerModule类中有一个属性是控制压缩的,要以设置是否压缩和压缩级别,最小数据尺寸。一般按以下设置就可以了:ServerModule.Compression.Enabled := true; ServerModule.Compression.Level = zcMax;如图:原创 2012-04-17 07:07:02 · 2423 阅读 · 0 评论 -
uniGUI中Cookies使用中文汉字的方法
在目前的UniGUI(ver:0.88)中使用UniApplication.Cookies.SetCookie来设置一个中文的Cookies时,然后用UniApplication.Cookies.Values来读取Coolies值时,中文会变成乱码。查询UniGui论坛,得到以下解决方法:procedure TMainForm.UniButton1Click(Sender: TObje原创 2012-04-24 09:42:00 · 2928 阅读 · 0 评论 -
UniGUI使用报表Grid++Repor的方法之二(动态调用)
UniGui中使用Grid++Report报表控件主要是通过TUniHTMLFrame控件中嵌入HTML代码来进行调用,我们可以直接在delphi中动态修改这个HTML代码来实现不同数据源及报表模板的报表打印与展示。下面是这是TUniHTMLFrame控件中的HTML属性的代码: Web报表(B/S报表)演示 - 最简单例子,用插件在网页中展现报表,实际应用采用 simple_Us原创 2012-07-27 09:23:23 · 4657 阅读 · 7 评论 -
UniGUI使用报表Grid++Repor的方法之一(静态调用)
Grid++report是一款国产报表控件/插件,非常优秀,下载地址:http://www.rubylong.cn/,这款控件可以在delphi的Unigui框架中实现完美报表打印及展示。我们通过TUniURLFrame控件来调用这款报表。可以在页面上加一个TUniURLFrame控件,设置TUniURLFrame控件的Url属性指向一个已经定义好Activex的html页面即可。如下原创 2012-04-16 15:05:47 · 4357 阅读 · 1 评论 -
Unigui的布局面板控件 TUniRegionPanel
转自Unigui论坛中的控件,修改为可以在xe3下编译的源友。下面是包文件dpk内容package UniRegionPanelDXE;{$R *.res}{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}{$ALIGN 8}{$ASSERTIONS ON}{$BOOLEVAL OFF}{$转载 2012-11-01 08:53:46 · 8845 阅读 · 0 评论 -
Unigui中用Grid++report生成pdf实现打印报表
chorme,firefox这两大浏览器都自带了pdf文件阅读功能,不需要另外的插件,我们可以在unigui中利用grid++report的导出文件功能,在服务器端导出pdf文件,供前台展示及预览。代码如下:程序代码:unit untPdfPrint;interfaceuses Windows, Messages, SysUtils, Variants, Classes,原创 2013-03-09 11:34:34 · 6248 阅读 · 0 评论 -
UniGUI的 TUniPageControl控件动态拖动tabsheet的实现方法
实现可以用鼠标动态拖动tabsheet,共三个步骤:1.在ServerModule中,打开Custom Files属性,输入以下两行代码引用js文件。files/BoxReorderer.jsfiles/TabReorderer.js2.找到UniGUI安装目录下的目录:FMSoft\Framework\uniGUI\ext-4.2.5.1763\examples\ux 中的B原创 2017-02-08 20:28:19 · 2584 阅读 · 0 评论