- 博客(474)
- 资源 (1)
- 收藏
- 关注
转载 TField.ProviderFlags
TField.ProviderFlags,這對於組 SQL 來說至關重要!ProviderFlags 是 TProviderFlag 的集合,我們來看看 ProviderFlags 可以包含哪些元素 元素名稱 說明 備註 pfInUpdate INSE
2011-10-16 20:59:13 1061 1
原创 简单到不能再简单的连接池
unit AdoconnectPool;interfaceuses Classes, Windows, SyncObjs, SysUtils, ADODB;type TADOConnectionPool = class(TObject) privat
2011-10-14 22:02:37 1496
转载 SimpleObjectBroker
首先要设SimpleObjectBroker的loadBalanced的属性为True,并保证所有的应用服器已向SimpleObjectBroker注册,当客户端应用程序查觉原来的应用服器出现故障后立刻调用TSimpleObjectBroker的SetConnectedS
2011-10-10 21:18:30 793
原创 ParamsToVariant and VariantToParams
function ParamsToVariant(Params: TParams; Macro, Compatible: Boolean): Variant;var I: Integer; Tmp: Variant;begin if (Params.Co
2011-10-05 22:16:09 546
原创 rtti多国语言
procedure TBaseForm.SetControlCaptions(Container: TWinControl);var I: Integer; sCaption, sNewCaption, sLanguage: string; T: TRtti
2011-10-01 21:59:34 464
原创 最大化最小化自定义窗口的尺寸
unit uBaseForm;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TPoint =
2011-09-28 21:46:48 507
原创 cxgrid动态多表头
function TForm15.CreateBand(View: TcxGridDBBandedTableView; BandCaption, ParentBandCaption: String): TcxGridBand;var band: TcxGridBa
2011-09-24 20:51:40 1130
原创 cxdbtreelist新增
type TMYDBControler = class(TcxDBTreeListDataController);procedure TForm15.Button1Click(Sender: TObject);var AParentKeyValue: Vari
2011-09-19 22:18:13 1103
原创 表格内嵌编辑控件
在DBGrid 中嵌入一个 DBComboBox1procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
2011-09-19 22:16:29 642
原创 导入EXCEL到数据库中
procedure Import(SourceDS, DestDS: Tadoquery);var sFileName, sTableName: string; sl: TStringList; i: integer; conn: TADOConnec
2011-09-06 20:17:56 576
原创 fastreport一些使用方法
uses Printers txtPrinterName.Items.Assign(Printer.Printers); frxReport1.LoadFromFile(AppConfig.ReportPath + ReportId + '.fr3');
2011-09-06 20:16:03 1951
原创 TSelect
unit uSelect;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, FindDM, Grids, DBGr
2011-09-05 21:31:31 475
原创 TFindFrames
unit FindDM;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ExtCtr
2011-09-05 21:30:33 418
原创 解决DLL包组织的项目运行报 a class named Txxx exists
对于使用DLL包方式组织的项目,很多人都知道如果BUILD WITH RUNTIME PACKAGE不勾选上,会有很多的问题。所以一般会将所有的EXE和DLL项目的BUILD WITH RUNTIME PACKAGE勾选上。每当这时候,你以为万事大吉了。兴奋地编译项目,满怀期待地
2011-09-04 15:33:49 1113 1
转载 字符转换
vars:string;p:pchar;a:array[1..20] of char;那么三者之间的转换如下:1、字符串到PChar p:=PChar(s);2、PChar到字符串 s:=p;3、PChar到字符数组 St
2011-09-03 21:23:07 338
原创 SQL SERVER备份脚本
-- 完全备份-- 注意: 一切都从完全备份开始DECLARE @Path VARCHAR(1000), @FileName VARCHAR(1000), @WeekDay VARCHAR(20) SET @WeekDay = CASE DATEP
2011-09-03 21:21:14 488
原创 sql server游标临时表
ALTER PROCEDURE MKTG_DiffeRenceDailyReport@CustomerName varchar(100),@ShipDate datetimeASBEGIN Set NoCount ON DECLARE @N
2011-09-03 21:19:48 363
原创 网页数据抓取
方法一:WebBrowser1.Silent := True;WebBrowser1.Navigate(URL);repeat Application.ProcessMessages;until WebBrowser1.ReadyState = READYS
2011-08-28 07:16:38 522 1
转载 base64
uses jpeg,EncdDecd,ZLibEx//字符串base64 编码Function StrtoBase64(const Str:string):string;begin result:=EncodeString(Str);end;//字符串ba
2011-08-14 13:41:43 484
转载 压缩和解压缩OLEVARIANT
uses ZLibEx procedure VariantToStream(const V: OLEVariant; Stream: TStream);var P : Pointer;begin Stream.Position := 0; Str
2011-08-14 13:19:15 546
转载 olevariant和stream相互转换
procedure VariantToStream(const V: OLEVariant; Stream: TStream);var P : Pointer;begin Stream.Position := 0; Stream.Size := VarA
2011-08-14 13:14:55 80
转载 字符串加密解密方法
function Decrypt(Src: string; Key: string): string;var KeyLen, KeyPos, Offset, SrcPos, SrcAsc, TmpSrcAsc: Integer; Dest: string;be
2011-08-14 13:08:14 497 1
原创 DELPHI实现类似仿360桌面的程序界面
1.窗体半透明: Alphablend属性为true;Alphablendvalue的值为100 2.窗体透明:formCreate:Self.TransparentColor := True;Self.TransparentColorValue := clBlack;self.
2011-07-14 22:11:46 4374 1
原创 BROKER服务器同客户端和应用服务器三者之间传递消息的格式定义
Broker服务器设计定义统一而标准和消息格式,消息传递统一使用JSON(XML)格式,最好是同时支持这俩种格式。它们是国际标准,一般的开发语言都支持。如果使用结构体来传递,不同的语言会不兼容。各种语言开发的不同的应用服务器通过统一的消息格式同BROKER S
2011-07-08 23:32:10 960
原创 BROKER SERVER设计
Broker服务器设计定义统一而标准和消息格式,消息传递统一使用JSON(XML)格式,最好是同时支持这俩种格式。它们是国际标准,一般的开发语言都支持。如果使用结构体来传递,不同的语言会不兼容。各种语言开发的不同的应用服务器通过统一的消息格式同BROKER SERVER进行交互。
2011-07-08 23:19:51 331
转载 集群式服务器架构
为了达到1:10000的连接,可以采用Server-Client的连接方式,而为了达到1:10000*100的连接,我们怎么办呢?一般会采用Client-> ConnServer -> LogicServer。这是技术背景。ConnServer在接受完Clie
2011-07-05 22:07:14 939
转载 TPerlRegEx正则式控件入门
//在后面介绍 TPerlRegEx 类的方法时, 关于对 (子表达式) 的引用还有更多话题.Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索" //匹配右边varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil);reg.Subject := Delphi 6; Delphi 7; Delphi 2007
2011-06-17 21:58:00 799
原创 NativeXML入门
uses NativeXml; procedure TForm1.Button1Click(Sender: TObject);begin Caption := fXML.Root.FindNode(father).Value; {tom}end;procedure TForm1.CreateXMLClick(Sender: TObject);begin fXML.Crea
2011-06-17 21:51:00 476
原创 使用EXCEL制作通用打印模块
{eclApp.ActiveSheet.PageSetup.PaperSize := xlPaperA3; //设置纸张的类型 eclApp.ActiveSheet.PageSetup.Orientation := xlLandscape; //设置是横向打印还是纵向打印 eclApp.ActiveSheet.PageSetup.PrintTitleRows := '$3:$5'; //设置表头重复如果多页的情况下 eclApp.ActiveSheet.PageSetup.Cent
2011-06-01 21:29:00 1463 1
转载 ado多线程查询
类似代码:CoInitialize(nil) ; //CoInitialize was not called Qry := TADOQuery.Create(nil) ; try // MUST USE OWN CONNECTION // Qry.Connection := Form1.ADOConnection1; Qry.ConnectionString := ConnStr; Qry.CursorLocation := clUseServer; Qry.LockType
2011-05-18 14:57:00 1308
转载 遍历目录及其子目录下面的某类型文件
<br />网上一大把这种方法,可惜许多不能用。这个我试过了,可以。<br />USES Masks<br />procedure GetFileListEx(FilePath, ExtMask: string; FileList: TStrings; SubDirectory: Boolean = True); //遍?目?及子目?<br />function Match(FileName: string; MaskList: TStrings): boolean;<br />var<br /> i
2011-05-18 14:54:00 365
原创 cxgrid 获取合计行数值
procedure Tfrm1.TableViewDataControllerSummaryAfterSummary( ASender: TcxDataSummary);begin inherited;iSaleAmt:=TableView.GetColumnByFieldName('SaleAmt').Index;vSaleAmt:=ASender.FooterSummaryValues[iSaleAmt];
2011-05-07 22:18:00 837
转载 根据数据表中的内容,动态创建主菜单
<br />//我们在写C/S管理系统时经常是根据用户的权限来相应禁止一些菜单<br />//在实践时,我发现使用动态方法创建菜单有可能对软件被破解起到一点小的作用<br />//因为实现起来,不是很难,所以写出来分享一下<br />//我们在菜单的事件中,利用菜单项的TAG值来判定是点了那一项<br />//首先,用一张数据表来存所有用户的菜单内容,格式如下<br />//ID int<br />//image int //-1是指ImageIndex的值,即无图标<br />//cap
2011-04-23 10:01:00 630
转载 Windows勾子处理类Thook 以及示例
<br />我已经看到了很多人想在一个应用程序中挂接消息搞一个干净的解决方案。所以,前一段时间作我决定写一个钩子类,能很好的处理事件之类的东西。 <br />Hook.pas可以分配方法的指针指向一个过程(有一些汇编的帮助)。 <br />例如:如果你想在应用程序中捕获所有击键 - 只需声明一个TKeyboardHook实例,指派一个处理程序给OnPreExecute或OnPostExecute,或同时处理这两个事件。设置激活你的KeyboadHook(KeyboardHook.Active:= true)
2011-04-23 09:53:00 576
转载 海量数据库的查询优化及分页算法方案
<br />随着“金盾工程”建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量。那么,如何实现快速地从这些超大容量的数据库中提取数据(查询)、分析、统计以及提取数据后进行数据分页已成为各地系统管理员和数据库管理员亟待解决的难题。<br /><br />在以下的文章中,我将以“办公自动化”系统为例,探讨如何在有着1000万条数据的
2011-04-22 08:00:00 911
转载 DLL直接返回对象
<br />DLL直接返回对象时是有可能出错的,这是因为程序和DLL用了不同的VCL,就是相当于一个接口的不同实例,所以只要是从DLL里返回VCL相关的对象都会出错。<br />有两种方法可以解决:<br />1、在Controls单元的implementation前面声明一个GetControlAtom方法<br />{...}<br />implementation<br /><br />function GetControlAtom: Pointer;<br />begin<br /> Result
2011-04-22 07:41:00 922
原创 窗口显示于parent控件上
<br />procedure TForm1.openForm(aFormClass: TFormClass; aOwner: TWinControl);<br />begin<br /> with AFormClass.Create(aOwner) do<br /> begin<br /> ManualDock(aOwner);<br /> WindowState := wsMaximized;<br /> Align := alClient;<br /> Show;<br /
2011-04-09 23:29:00 508
原创 遍历dxBarManager菜单及工具条
<br />procedure TForm1.blDxBarManager;<br />var<br /> i: Integer;<br />begin<br /> for i := 0 to dxBarManager1.ItemCount - 1 do<br /> begin<br /> if dxBarManager1.Items[i] is TdxBarButton then<br /> TdxBarButton(dxBarManager1.Items[i]).OnClick :
2011-04-09 23:27:00 903
原创 dxBarManager生成权限树
<br />Var<br /> count, scount: integer;<br /> mynode: TTreeNode;<br /> mysubItem: TdxBarSubItem;<br />Begin<br /> Inherited;<br /> For count := 0 To frmMainForm.MenuBar.ItemLinks.Count - 1 Do<br /> Begin<br /> mynode := RzCheckTree2.Items.AddFirst
2011-04-09 23:26:00 832 1
原创 dxBarManagerToDxNavBar方法
<br />procedure TForm1.dxBarManagerToDxNavBar;<br />var<br /> i, j: Integer;<br /> item: TdxBarSubItem;<br /> group: TdxNavBarGroup;<br /> bar: TdxNavBarItem;<br />begin<br /> dxNavBar1.Groups.Clear;<br /> for i := 0 to dxBarManager1Bar1.ItemLinks.Co
2011-04-09 23:24:00 1052 1
ehlib
2008-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人