Delphi
djcsch2001
这个作者很懒,什么都没留下…
展开
-
插件编写
一 编写DLL新建一dpr文件library PDLL;usesSysutils,classes,main in main.pas;{$E plg.} //定义后缀名为plgexportsDescribePlugin,InitPlugin;beginend;main.pas为:unit main转载 2008-09-10 18:55:00 · 388 阅读 · 0 评论 -
让DBGrid不能插入记录
一.首先令对应的DataSet.BeforeInsert:=InsertData;二.在InsertData中写入procedure TTbfrmMain.InsertData(Dataset:TDataset);begin if (ActiveControl is TDBGrid) then abort; end;原创 2008-09-23 22:11:00 · 331 阅读 · 0 评论 -
在Delphi用vbscript的正则表达式
一.由于Delphi本身没有正则表达式单元,可以引用vbscript来使用正则表达式,步骤为1.在project中单击Import Type Library,选中Microsoft VBScript Regular Expression 5.5(version 5.5)2.单击"Create Unit"按钮,生成Unit单元二.新建一工程,导入上面生成的单元(在uses中引用该单元)新建一按钮,在原创 2008-09-23 22:13:00 · 467 阅读 · 0 评论 -
分隔字符串函数
var stl:TStringList; i:integer;begin stl :=TStringList.Create; stl.Delimeter :=|; stl.DelimetedText :=1|2|3|4|5|; for i:=0 to stl.Count-1 do mmo1.lines.add(stl[i]); stl原创 2008-09-24 09:35:00 · 470 阅读 · 0 评论 -
用Delphi写扬声器音乐
一、窗体 二、代码窗体代码:unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,BleepInt;type TForm2 = class(TForm) Button1: T原创 2008-09-26 20:59:00 · 753 阅读 · 0 评论 -
Delphi的DTS编程
一、DTS简介DTS为导入导出模块,在SQL SERVER中有专门的导入导出工具 二、调用SQL SERVER导出的包若要执行保存为COM结构化的存储文件DTS包,使用dtsrun /Ffilename /Npackage_name /Mpackage_password若要执行保存在SQL SERVER msdb中的DTS包,使用dtsrun /Sserver_name /原创 2008-09-25 16:33:00 · 1526 阅读 · 0 评论 -
使用EXCEL的查询
一、直接用ADO连接Excel直接用ADOQuery连接,其ConnectionString设为Provider=microsoft.jet.oledb.4.0;data source=C://2.xls;Extended Properties=Excel 8.0,HDR=Yes;IMEX=1SQL属性:select * from [Result$] where month(ad原创 2008-09-25 17:09:00 · 752 阅读 · 0 评论 -
cxdbgrid根据字段值设置颜色
假设cxgrid为cxMain,TableView为ViewSelData,现在要根据数据集的colColorMark来改变本行的颜色,则可在ViewSelData的OnCustomDrawCell写入if AViewInfo.RecordViewInfo.GridRecord.Values[colColorMark.Index] = null then Exit;case AViewInfo原创 2009-02-27 21:00:00 · 653 阅读 · 0 评论 -
cxgrid单击某一网格判断
cxgrid单击某一网格事件,可在ViewTable的KeyPress事件中判断if Key = #32 thenbegin if Trim(colname.EditValue) = then colcode.FocusWithSelection //else // colReqNum.Editing := True;end;原创 2009-02-27 21:13:00 · 461 阅读 · 0 评论 -
调用htmlhelp文件(*.chm)
function HtmlHelpA(hwndcaller:Longint;lpHelpFile:string;uCommand:Longint;dwData:string):HWND;stdcall;external hhctrl.ocx例句:HtmlHelpA(self.handle,ExtractFilePath(Application.ExeName)+pbtool.chm,0,原创 2008-09-23 22:09:00 · 516 阅读 · 0 评论 -
使文本框只能输入整数或小数
procedure TForm1.Edit2KeyPress(......);beginif not (key in [#8,0..9,DecimalSeperator]) thenbeginkey :=#0;endelsebeginif (key=DecimalSeperator) and (Pos(key,Edit2.Text)>0) thenbeg原创 2008-09-18 19:31:00 · 334 阅读 · 0 评论 -
设置文本框只能输入数字
SetWindowLong(Edit1.Handle,GWL_STYLE,GetWindowLong(Edit1.Handle,GWL_STYLE) or ES_NUMBER);原创 2008-09-18 19:30:00 · 376 阅读 · 0 评论 -
CMOS单元
unit CMOS;InterfaceconstClockSec = $00; { RTclock seconds }ClockMin = $02; { RTclock minutes }ClockHour = $04; { RTclock hours }ClockDOW = $06; { RTclock day of week }Cloc原创 2008-09-10 21:46:00 · 431 阅读 · 0 评论 -
在TForm中应用OpenGL
一 新建一工程,设保存为OpenGLApp.dpr,窗口为Form1二 在Form1中加入Panel1和Button1,unit1.pas代码为unit Unit1;interfaceusesWindows,messages,Sysutils,classes,graphics,controls,Forms,Dialogs,OpenGL,Exectrs,Stdctrls;ty原创 2008-09-11 13:45:00 · 339 阅读 · 0 评论 -
Python For Delphi 示例
Python For Delphi 示例samson hide details 3:22 pm (50 minutes ago) reply-to [email protected] to "python.cn" d原创 2008-09-11 22:42:00 · 3553 阅读 · 0 评论 -
判断系统的启动模式
procedure TForm1.Buuton1Click(Sender:TObject);begin case (GetSystemMetrix(SM_CLEANBOOT)) of 0: Showmessage(正常模式启动); 1: Showmessage(安全模式启动); 2: Showmessage(正常模原创 2008-09-12 21:32:00 · 235 阅读 · 0 评论 -
判断是否安装BDE
function BDEInstalled:Booleanvar reg:TRegistry; s:string;begin Result :=False; reg :=TRegistry.Create; reg.Rootkey :=HKEY_LOCAL_MACHINE; reg.Openkey(Software/Borland原创 2008-09-12 21:40:00 · 370 阅读 · 0 评论 -
在Access中实现类似视图的功能
1.先在Access中建立一带参数的查询,如“查询1”,select qdj for xxj_qdj2006_06_30 when dm=tmp2.在Delphi中加入一ADOQuery控件,指向Access数据库,并在SQL属性中加入select * from 查询1,这时在parameters会自动加入一参数tmp3.加入一按钮,写入with adoquery1 dobegin原创 2008-09-14 14:07:00 · 699 阅读 · 0 评论 -
加一文档到开始菜单中的文件夹下
uses ShlObj;写入ShAddtoRecentDes(SHARE_PATH,pchar(C:/1.txt));原创 2008-09-14 14:08:00 · 234 阅读 · 0 评论 -
设置虚拟目录
procedure SetIISDir(Dir,BieMing:string);varI:IADSContainer;ADS:IADS;beginif ADSGetObject(IIS://localhost/w3svc,IID_IADSContainer,IUnkown(I))=S_OK thenbeginADS :=IADS(I.GetObject(IISWe原创 2008-09-14 14:09:00 · 391 阅读 · 0 评论 -
cxgrid使用体会
1.去掉cxgrid或dxdbgrid的分组标题行设置TableView中的optionview中的GroupByBox为False2.设置排序字段打开TableView中,看到右边的字段,单击要分组的字段名,设置其GroupIndex为0,1等(默认值-1不分组)3.自动过滤设置与禁止设置TableView中的OptionsCustomize中的ColumnFiltering为True时原创 2009-02-27 21:13:00 · 2110 阅读 · 0 评论 -
cxGrid基本设置
cxGrid的使用方法1. 去掉cxgrid中台头的box ,在tableview1的ptionsview的groupbybox=false;2. 在GRID footer 中加入sum(列), tableview1的optionsview的footer=ture然后在cxGRid1的customize..中的summary 的footer.add需要合计的列kind= skSum3.原创 2009-02-27 21:15:00 · 6338 阅读 · 0 评论 -
TdxDBTreeView的节点移动排序
利用TdxDBTreeView控件(此处设为DBTreeMain)时,可以从表中直接显示出树结构,有时需要拖动对节点进行排序,而且数据表中有字段SortCode用于排序码,此时需要编写对应代码,步骤如下1.先设置DBTreeMain的DragMode属性为dmAutomatic2.设置DBTreeMain的StateIndexField属性为SortCode3.在其OnEndDragTreeNod原创 2009-02-27 21:15:00 · 1214 阅读 · 0 评论 -
去除全角半角字符
//去除左边的全角function MyTrimLeft(const S: string): string;var ci, sl: integer; c: char;begin ci := 1; sl := length(S); while (ci begin c := S[ci]; case c of : i原创 2010-05-14 14:16:00 · 597 阅读 · 0 评论 -
打开和关闭输入法
procedure CloseEDTIME(edt: TEdit);var KeyStates: TKeyboardState;begin GetKeyboardState(KeyStates); if (KeyStates[VK_CAPITAL] = 1) then begin SetCapsLockKey(VK_CAPITAL, TRUE); //原创 2010-05-14 14:21:00 · 819 阅读 · 0 评论 -
打印机的大小设置
procedure SetPrinterPaper(APaperNo: Integer; APaperWidth, APaperHeight: Double);//设置当前打印机的纸张大小//纸张号 9 A4 13 B5//页宽和页高,单位mmvar Device: array[0..255] of char; Driver: array[0..255] of原创 2010-05-14 14:55:00 · 781 阅读 · 0 评论 -
FastReport4.6程序员手册_翻译 转
by tinyANT on 三月 24, 2009, under FASTREPORT, 包裹, 民本, 碎末, 1,758 views<br />写在前面的话:翻译水平有限,只为更加方便查阅和使用,如果翻译不准确的地方欢迎指正,资料来源于FastReport官方网站。<br />一、使用TfrxReport 组件工作<br />1、加载并存储报表<br />默认情况下,报表窗体同项目窗体构存储在同一个DFM文件中。多数情况下,无须再操作,因而你就不必采用特殊方法加载报表。如果你决定在文件中存储报表窗体或者转载 2010-07-09 17:39:00 · 575 阅读 · 0 评论 -
动态创建Fastreport
<br />动态创建Fastreport分以下几个步骤:<br />1.首先清空Fastreport,定义全局变量,并加载数据集<br /> frReport.Clear;<br /> frReport.DataSets.Add(frxDBDataset1);<br /> DataHeight :=28;<br /> DataWidth :=80;<br /> FirstTop := 50;<br /> FirstLeft := 15;<br />2.创建frxReportPage,原创 2010-07-10 10:28:00 · 1512 阅读 · 0 评论 -
定义二维结构体常量数组
<br />Implementation goes this way: <br /><br />type <br /> TSampleEnumType = (seNone, seONE, seTWO, seTHREE, seFOUR); <br /> TSampleRecord = record <br /> SampEType: TSampleEnumType; <br /> iValue: integer; <br /> end; <br /><br />const <br /> T转载 2010-07-12 15:17:00 · 1480 阅读 · 0 评论 -
旋转字体的设置
CreateFontIndirect - 根据字体结构建立逻辑字体 //声明:CreateFontIndirect(const p1: TLogFont {字体结构}): HFONT; {返回新字体指针} //TLogFont 是 tagLOGFONTA 结构的重定义:tagLOGFONTA = packed record lfHei转载 2010-05-14 14:59:00 · 938 阅读 · 0 评论 -
对象持久化
网上查了下,貌似WriteComponentResFile,ReadComponentResFile可以,但是必须是一个TComponet的对象,我要串行化一个OleVariant的对象,大大们,怎么做?要持久对象,必须继承TPersistent....function ComponentToStr(AComponent: TComponent): string;转载 2010-05-15 09:24:00 · 431 阅读 · 0 评论 -
提取身份证信息
function GetIDInfoGetDInfo(const CardNo: string; var Sex, BirthDay: string; var Age: Integer; var Area: string): Integer;var iCardNo: Int64; iYear, iSex: Integer; sBirth, fBirth: strin原创 2010-05-14 14:25:00 · 659 阅读 · 0 评论 -
dxGrid使用实例
//Delphiprocedure TForm1.ButtonLevelUpClick(Sender: TObject);var ARecord: TcxCustomGridRecord;begin with TcxCustomGridTableView(Grid.FocusedView) do begin ARecord := Controlle原创 2009-10-03 17:05:00 · 1195 阅读 · 0 评论 -
cxgrid根据字段设置颜色
假设cxgrid为cxMain,TableView为ViewSelData,现在要根据数据集的colColorMark来改变本行的颜色,则可在ViewSelData的OnCustomDrawCell写入if AViewInfo.RecordViewInfo.GridRecord.Values[colColorMark.Index] = null then Exit;case AViewInfo.原创 2009-10-03 17:00:00 · 1039 阅读 · 0 评论 -
按下F2编辑节点
在TdxDBTreeView控件的OnKeyDown事件中写入if Key = VK_F2 thenbegin if DBTreeMain.DBSelected = nil then Exit; DBTreeMain.DBSelected.EditText;end;原创 2009-02-27 21:16:00 · 610 阅读 · 0 评论 -
判断TdxDBTreeView的节点是否可编辑
在TdxDBTreeView控件的OnEditing事件中写入AllowEdit := CheckEdit; //CheckEdit为判断的函数原创 2009-02-27 21:17:00 · 589 阅读 · 0 评论 -
DELPHI快捷键
1。代码模板 : CTRL+J 2。代码整块移动 : CTRL+SHIFT+I(右移) CTRL+SHIFT+U(左移) 3。选中窗体 : 先选中任一控件,SHIFT+鼠标左键 4。将鼠标指向变量名、单元名、类名,再用 CTRL+鼠标左键,可找到相应的说明 5。在过程、函数、事件内部, SHIFT+CTRL+向上的方向键 可跳跃到相应的过程、函数、事件的定义,相反,在过程、函数、事原创 2009-09-02 16:34:00 · 577 阅读 · 0 评论 -
变量指针和函数参数
一.参数类型 Object Pascal语言允许五种类型的参数(不是指参数的数据类型),分别是数值参数、常量参数、变量参数、无类型的参数、开放数组参数。 不管是哪一种参数类型,在调用过程或函数时,实参跟形参在个数上必须相同,在数据类型上必须赋值相容。--------------------------------------------------转载 2009-09-02 16:37:00 · 575 阅读 · 0 评论 -
键值大全
键值大全 日期:2004年8月31日 作者: 人气:147 查看:[大字体 中字体 小字体] 在keydown事件里面showmessage(inttostr(key));在keypress事件里面showmessage(key);就知道了。Form1.KeyPreview := True;procedure TForm1.FormKeyDown(S转载 2009-09-02 16:38:00 · 413 阅读 · 0 评论 -
dxDBTreeView的结点间移动
利用TdxDBTreeView控件(此处设为DBTreeMain)时,可以从表中直接显示出树结构,有时需要拖动对节点进行排序,而且数据表中有字段SortCode用于排序码,此时需要编写对应代码,步骤如下1.先设置DBTreeMain的DragMode属性为dmAutomatic2.设置DBTreeMain的StateIndexField属性为SortCode3.在其OnEndDragTreeNod原创 2009-10-03 17:03:00 · 932 阅读 · 0 评论