delphi
longxin5
这个作者很懒,什么都没留下…
展开
-
delphi 添加控件时的小技巧
1.Delphi允许在添加多个同类型的部件时,不必每次到部件选项板上选取。按住“Shift”键,同时在“Button”部件上单击鼠标左键,这时“Button”部件处于按下状态,并有蓝色边框,表示已经被选择固定。依次在窗体右方的三个位置单击左键,则会放置三个相同的Button部件。把鼠标光标移到部件选项板左侧的箭头图标处,这是“取消选择”按钮,它没有提示。按动它,会发现“Button”部件按钮恢复...2008-06-20 13:47:00 · 262 阅读 · 0 评论 -
三层结构 delphi
所谓的三层数据库,就是在服务器端放置一个中间层,本实例使用Remote Data Module(远程数据模块)创建,3层的好处就是把一些功能放在中间层,这样当某些功能发生转变时,既不用修改数据库,也不用修改客户端,只要修改一下中间层就可以了啊。 1. 首先让我们来编译服务器端,打开Delphi7,新建一个标准工程,创建一个新窗体。 选择File菜单 -> New -> O...2008-06-08 17:07:00 · 415 阅读 · 0 评论 -
wwDBGrid构造列没显示
wwDBGrid构造列没显示 因为自己想构造几个列,点查询按钮后,显示在wwDBGrid里,然后并能导出到Excel里,SQL语句如下: select convert(varchar(10),InputTime,120) as slsj, PRateType = case when Insurance >0 then ''有'' else ''无'' end, d...2009-09-16 11:57:33 · 295 阅读 · 0 评论 -
窗口的AutoSize属性的威力
窗口的AutoSize属性的威力 昨天想修改一个窗体的大小, 1. 用鼠标去拖动它,发现拖不动; 2. 选中窗体,直接输入窗体的属性Height值,但是一回车,它又变回原样;不起作用; 这下没辙了,以为是窗体继承自别的窗体的原因,结果改了,也没什么作用;于是郁闷了好久, 今天问了同事,同事说只要把AutoSize改为False,...2009-09-17 10:22:55 · 1300 阅读 · 0 评论 -
软件系统里看得到值,查数据库表却没有值
软件系统里看得到值,查数据库表却没有值 原因:因为连错了数据库,(两个数据库原本一模一样,改了其中一个数据库的字段,有稍小不同),因此造成这种情况,修改数据库连接即可。...2009-09-18 11:33:19 · 162 阅读 · 0 评论 -
Delphi第三方控件的使用心得
Delphi第三方控件的使用心得 1. 在别人的模块的基础上,想自己添加一个控件,并和别人的一样设置,此时,可以这样来做: 打开该模块的dfm 文件,找到别人的控件,把它的属性设置等拷下来,粘贴到自己刚添加进来的控件里面;这样,自己的属性设置和别人的控件就有一样的效果了; 2. 由此可想到,在学习第三方控件的时候,可以找到第三方的控件的DEMO,打...2009-09-18 16:39:48 · 158 阅读 · 0 评论 -
odac组件(437使用)
dephi安装odac组件安装步骤1、component--->install packages2、add--> x:\odac控件目录\odac\Source\Delphi x \Odac\dclodac70.bpl(路径具体看你的控件存放位置)3、确定后安装成功。一般在安装完成后,每次重新打开delphi都会提示一堆的bpl找不到,重复上面操作。解决此问题的方法是将以下...2009-03-30 11:20:00 · 196 阅读 · 0 评论 -
437的控件安装问题 2009-3-31
都可以参照说明文件来操作,不过一般是打开.dpk文件进行编译,然后进行安装install1. ODAC_5.70.0.30到该目录下 ODAC_5.70.0.30\Source\Delphi6, 打开odac60.dpk,点击compile,也可看具体的说明文件来操作:readme.txt2. indy9.14\Source: 要先卸载掉原先的indy8, 再进行安装。(1) 卸载ind...2009-03-31 11:50:00 · 78 阅读 · 0 评论 -
去掉窗体上的最大化、最小化图标
去掉窗体上的最大化、最小化图标 MDI子窗口中有一个属性是Borderlcons点开它出现它的子属性,将biMinimize(最小化)设为false,将biMaximize(最大化)设为false,即可。...2009-03-31 14:58:00 · 218 阅读 · 0 评论 -
使用astaClientDataset
在已有的模块里,这样就可以使用astaClientDataset从数据库里取值了 with AstaClientDataSet1 do begin AstaClientSocket :=dm.ClientSocket ; SQL.Text := 'select * from C_CustOrderDetail '; ...2009-09-23 15:48:24 · 195 阅读 · 0 评论 -
找不到方法的实现部分
找不到方法的实现部分 从别的窗体拷过了的一个按钮,在双击它,准备写它的点击事件的时候,报:找不到该方法的实现部分,该方法不完整; 于是查看代码,发现在接口部分,有 procedure btn1Click(Sender: TObject);该声明,而在实现部分,即implementation部分,没有该事件的具体实现; 解决方法一: 1. 将声明部...2009-09-23 18:22:09 · 126 阅读 · 0 评论 -
对一个数据集里的字段进行修改,并保存到数据库里
保存的时候,想对一个已存在的数据集里的字段进行修改,并保存到数据库里,则用以下方法很有效果: if not (CDS2.State in [dsinsert,dsedit]) then begin with cds2 do begin DisableControls; First; while not Eof do ...2009-09-24 16:55:10 · 219 阅读 · 0 评论 -
astaClientDataset数据集控件的NoSQLFields属性
astaClientDataset数据集控件里, NoSQLFields属性里,可以填写更新时排除的字段(即把不想更新的字段,填写到该属性中) 使用的时候,一些自己构造的字段,就可以填写到这当中来; ...2009-09-27 10:19:34 · 71 阅读 · 0 评论 -
创建ActiveX控件
使用delphi 创建ActiveX控件: 通过delphi创建ActiveX控件,可以给VC、VB使用。2009-04-15 16:04:39 · 79 阅读 · 0 评论 -
qreport的使用
我使用qreport打印报表,在form上列好了qreptext,指定对应一个query的field,比如name字段,但有这样一个问题,如果name很长的话,那长表格上打印出来的字就会重叠,我能不能在控制这个text最长只能显示10个字符?或者更进一步,比如时间,有些时间的格式为"2002-01-01 10:00:00",我只想在报表中显示2002-01-01我该怎么控制? ...2009-04-15 16:07:44 · 416 阅读 · 0 评论 -
对self和sender的理解
对self和sender的理解 在过程里定义的局部变量,不能进行初始化;全局变量就可以进行初始化.例: type Tfrm_zi = class(Tfrm_fu) //类Tfrm_zi继承自Tfrm_fu窗体 procedure sbtn_updateClick(Sender: TObject); privat...2008-02-25 16:48:00 · 686 阅读 · 0 评论 -
fastreport 添空行
Page段:有如下几个BAND masterDatadetailData1(真正的明细)detailData2 (放空值)SubdetailData1(要添的空行)ColumnFooter(栏尾) 栏尾会紧靠上面添加的空行 代码段Code var J: integer; procedure SubdetailData1OnBefo...2009-10-09 10:06:34 · 316 阅读 · 0 评论 -
安装第三方控件的注意点
1. 直接打开源码,打开.dpk包文件,编译,安装; 2. 将该包的路径,添加到DELPHI的环境变量中;2009-10-15 09:45:20 · 85 阅读 · 0 评论 -
fast report 的预览
fast report,在设计时,能够预览,但是运行的时候,却不行,即使是写了TfrReport1.ShowReport;方法,最后发现,在TfrReport控件里有一个属性:StoreInDFM 默认为 False, 如果为True,存贮报表在DFM文件中。注意:报表存入DFM文件后存贮在可执行文件(EXE)中而不能被修改。 综述:即报表就算设计好了,它也还没存到窗体里来,必须要将报表装载进...2008-10-22 08:28:00 · 83 阅读 · 0 评论 -
能实现检查窗口是否存在的函数
能实现检查窗口是否存在的函数 function checkformexist(FormName: String): Boolean;var I: Integer;begin Result:= False; for I := 0 to Screen.FormCount-1 do begin if Screen.Forms[I].Name = FormName the...2008-10-23 15:24:00 · 193 阅读 · 0 评论 -
delphi 里调用计算器
在代码里使用如下语句即可:WinExec('calc.exe',SW_SHOWNORMAL);2009-10-15 15:13:53 · 166 阅读 · 0 评论 -
在窗体里设置 可回车跳到下一个文本框
步骤:1. 将该窗体的KeyPreview属性设置为true; 2. 在窗体的OnKeyDown事件里写如下代码: if key=13 then begin SelectNext(TWinControl(Sender),true,true); //ShowMessage('得不到值'); Key:=0; end; 3. 设置好各个文本框的TabO...2009-10-19 10:59:38 · 220 阅读 · 0 评论 -
fast report 2.45 版本的安装
1. 将FastReport 整个文件夹拷到Delphi的安装目录下; 例如:D:\Program Files\Borland\Delphi6 2. 打开Delphi,在Delphi的菜单栏里, File==>Open, 打开 FastReport 的Source目录下的FR6.dpk文件(Delphi6就FR6.dpk, 要是Delphi7就是FR7.dpk); 3. 然...2008-05-15 17:30:00 · 222 阅读 · 0 评论 -
fast report 的使用说明
1. TfrxDBDataset TfrxUserDataset 数据存取元件。 FastReport 使用这些元件读取及参考数据库的字段,这两个元件都源于 “TfrxDataSet” 并继承其大部分的功能。 TfrxUserDataSet 元件允许构建未连接到数据库的报表,而由其它来源接收数(据如:数列、文件等)。在此同时,程序员仅需提供浏览此数据集的功...2008-05-19 10:49:00 · 436 阅读 · 0 评论 -
xpmenu控件的安装
E:\小吴\delphi\控件1\xpmenu路径下的 xpmenu控件的安装 1. 直接打开XPMenu.pas文件,2. 在Component==>Install Component 在unit file name 里,填入路径E:\小吴\delphi\控件1\xpmenu\XPMenu.pas 3.再将E:\小吴\delphi\控件1\...2009-10-21 14:20:24 · 492 阅读 · 0 评论 -
shellApi--ShellExecute
ShellExecute 的包为: shellApi ShellExecute(0, 'open', PChar(TFilePath), nil, nil, SW_SHOWNORMAL);2009-10-23 11:35:31 · 107 阅读 · 0 评论 -
delphi上传文件
已有的信息:FTP的ip地址,用户名和密码做一个上传文件的功能,1. GJM字段存放文件;文件与文件之间以/分隔开2. 可上传多个文件;实现: 1. 需要一个文本框控件:记录待上传文件的路径;2. 一个上传附件按钮:能打开,选择要上传的文件;3. 一个OpenDialog控件,能打开硬盘;4. 一个ListBox控件,记录多个待上传文件的文件名;5. 一个TidFtp...2009-10-23 17:25:12 · 310 阅读 · 0 评论 -
获取屏幕的坐标--GetCursorpos
GetCursorpos--是个WinAPI来的 procedure TMainForm.Timer1Timer(Sender: TObject);var p1,p2:Tpoint;begin GetCursorpos(p1);//获取屏幕坐标 Label1.Caption := ' 屏幕坐标:X ' + IntToStr(P1.X) + ' Y ' + Inttostr...2009-10-26 17:16:16 · 1300 阅读 · 0 评论 -
截获异常,并在运行时不报错
待验证 procedure TMainForm.MyException(Sender: TObject; E: Exception);begin //ShowMessage('aaaaa'); //弹出异常信息end;procedure TMainForm.FormCreate(Sender: TObject);begin Application.OnExceptio...2009-10-26 17:18:25 · 102 阅读 · 0 评论 -
AstaClientDataset控件的设置
这是从.dfm文件拷出来的,可参考如下进行设置 object cdsFGSCYYD: TAstaClientDataSet StreamOptions = [ssIndexes, ssAggregates] Indexes = <> Aggregates = <> Constraints = <> OnNew...2009-10-27 15:05:02 · 194 阅读 · 0 评论 -
CxGrid控件的多选
CxGrid控件的多选{--将主单号插入到包信息里 cyj 2009-10-28 --}procedure TFGSCYEditForm.Insert_ZDH;var I,J: Integer; //Bk:Tbookmark; ASQLStr : String;begin with cxGridDBTableView3.DataController, cxGridDBTab...2009-10-28 11:22:34 · 237 阅读 · 0 评论 -
关于数据集
TClientDataSet是一个数据集,DataSource.DataSet也是一个数据集; 如果TClientDataSet DataSource.DataSet这两个进行了赋值,则可以视为一样,可进行代替使用;...2009-10-28 11:57:25 · 86 阅读 · 0 评论 -
摘自一位网友的代码--树
未经验证 unit uCGoodsClass;interface uses Windows,Messages,SysUtils,Variants,Classes,ComCtrls,DBClient,DB,UnDBSCKT; type TuCGoodsClass=class(TObject) private public function...原创 2009-10-29 17:28:25 · 103 阅读 · 0 评论 -
CXGrid控件整行变颜色
CXGrid控件整行变颜色当某行符合条件的时候,给它变色: if not VarIsNull(AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('Status').Index]) then if AViewInfo.GridRecord.Values[...2009-10-30 10:22:13 · 310 阅读 · 0 评论 -
Delphi中IntToStr函数的汇编代码
摘自:Delphi的SysUtils单元 function IntToStr(Value: Integer): string;// FmtStr(Result, '%d', [Value]);asm PUSH ESI MOV ESI, ESP SUB ESP, 16 XOR EC...2009-10-30 11:50:25 · 536 阅读 · 0 评论 -
修改delphi7中生成的exe文件的图标
修改delphi7中生成的exe文件的图标 在DELPHI中,照以下做即可: PROJECT ->OPTIONS->APPLICATION->LOAD ICON即可.2009-10-31 15:27:00 · 1830 阅读 · 0 评论 -
delphi上传图片--个人照片
SQL Server 2005里的Image字段装的就是文本类型数据; delphi上传图片--个人照片 1. 使用到的控件: (1) Image 控件(TImage类的); (2) OpenPictureDialog控件(打开图片的控件); 2. 使用到一个类:TMemoryStream 3. 数据库的字段:Blob字段;存放图像的二进...2009-11-02 16:11:30 · 1003 阅读 · 0 评论 -
DELPHI多行的标签页
DELPHI多行的标签页 在标签上,右键,选择“多行方式”即可;2009-11-03 17:08:45 · 223 阅读 · 0 评论 -
Error: Packages"frx7" and "VCLDB" all Contains "DBGrids"
编译时报错Error: Packages"frx7" and "VCLDB" all Contains "DBGrids" 起因是: Projects==>Options==>Packages标签 在Run Time Packages面板里把包含frx的那些包给去掉,重新编译程序即可; ...2009-11-05 08:57:21 · 87 阅读 · 0 评论 -
CxGrid的统计功能
统计功能 解决:cxGrid1DBTableView1->optionsview->Footer 设为True (1) 双击CxGrid,弹出,选择Summary标签-->Footer里添加项,设置添加项的属性,kind为“skSum”,Column选择要统计的列的名称;(在该添加项的事件里,双击打开OnGetText事件...2009-11-05 16:06:17 · 273 阅读 · 0 评论