随笔分类 -  Delphi

摘要:似乎DFW们都不是很关心控件的新版本使用和老版本的区别,在BBS里基本看到的都是FR2.5版本的使用经验,实在是有点郁闷。干脆这第一个笔记就拿来列举经常用的FR3.18的经验吧。。。补充的话:看来有不少人来看偶的笔记。希望各位能不只是看,最好能把自己的经验心得也发布在对这笔记的评论中。也许我的做法或者学习的方法不入高手的法眼,但我相信本着“积土成山”的执着,这份资料将会越来越完善。。。引用以前说过的话,我们本身并不重要,重要的是经验的积累和知识的传承。。。再补充句废话:我不想让各位记住我是作者啥的,所以所有的这些“废话”完全可以在转载的时候去掉,还最根本的笔记面貌。而且诸君若不愿意贴连接只愿意 阅读全文
posted @ 2013-05-24 07:01 麦麦提敏
摘要:一、使用TfrxReport 组件工作 1、加载并存储报表 默认情况下,报表窗体同项目窗体构存储在同一个DFM文件中。多数情况下,无须再操作,因而你就不必采用特殊方法加载报表。如果你决定在文件中存储报表窗体或者是数据库的Blob字段(他提供了非常大的弹性,你能够在非编译程序中修改),你必须使用“TfrxReport”提供的加载和存储方法。 function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean; 从一个给定名字文件中加载报表。如果第二个参数等于“True”并且文件没 阅读全文
posted @ 2013-05-24 00:14 麦麦提敏
摘要:TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。TStringList 常用方法与属性:var List: TStringList; i: Integer;begin List := TStringList.Create; List.Add('Strings1'); {添加} List.Add('Strings2'); List.Exchange(0,1); {置换} List.Insert(0,'Strings3'); {插入} i := List.IndexOf('Strings1'); {第一次出 阅读全文
posted @ 2013-05-24 00:09 麦麦提敏
摘要:消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的: type TMsg = packed record hwnd: HWND; / /窗口句柄 message: UINT; / /消息常量标识符 wParam: WPARAM ; // 32位消息的特定附加信息 ... 阅读全文
posted @ 2013-05-20 12:35 麦麦提敏
摘要:使用TcxDBLookupComboBox需要设置以下属性: 1、DataBinding.DataSource:数据感知控件的数据源。 2、DataBinding.DataField:数据感知控件的连接字段。 3、properties.ListSource:TcxDBLookupComboBox下拉 阅读全文
posted @ 2013-05-20 12:31 麦麦提敏
摘要:出现的问题:在编译delphi程序时出现提示为:[Error] MyUnit.pas(LL): Undeclared identifier: 'NNNN'其中:MyUnit.pas源文件的名称.LL第几行.NNNN提示的标识名.原因:编译器不能识别'NNN'这个标识。这可能是拼写错误或找不到定义文件造成。解决方法:常见的错误是由于拼写错误造成,例子如下: var number: Integer; begin numbr := 1;变量定义为number,但使用时写成了numbr,将变量改正就可以。另一种是代码正确,但要用到的单元没有包含进去。如: try . . 阅读全文
posted @ 2013-05-20 12:07 麦麦提敏
摘要:如何去掉Delphi自动生成的~.pas等临时文件一、Delphi7二、Delphi2010 阅读全文
posted @ 2013-05-20 02:10 麦麦提敏
摘要:Delphi快捷键大全在过程、函数、事件内部, SHIFT+CTRL+向上的方向键 可跳跃到相应的过程、函数、事件的定义.相反,在过程、函数、事件的定义处,SHIFT+CTRL+向下的方向键 可跳跃到具体过程、函数、事件内部CTRL+ SHIFT + C:编写申明或者补上函数.如:procedure TT.A(AA: string); //函数申明安下:CTRL+ SHIFT + C后,会写上procedure TT.A(AA: string);beginend;SHIFT+CTRL+E 显示 EXPLORERcrtl + shift + n (n=1,2,3,4......)定义书签crtl 阅读全文
posted @ 2013-05-18 22:41 麦麦提敏
摘要:如果webbrowser由你创建如果网页内容可知用263举个例子procedure TForm1.FormCreate(Sender: TObject);begin b := false; webbrowser1.Navigate('http://www.263.net');end;procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);begin b := True;end;procedure TForm1.Button 阅读全文
posted @ 2013-05-18 22:28 麦麦提敏
摘要:Borland DataSnap(MIDAS)三层架构编程中,DataSetProvider的Option属性DataSetProvider的Option属性看看远端数据模块里的DataSetProvider的Option属性是否设置正确!Provider控件的Options属性值是一个集合,用于设置有关打包和传递的选项,像显示哪些字段、允许哪种更新方式等等。1.poFetchBlobsOnDemand:若包含此项,则表示数据包中不包括BLOB字段。不过,如果客户端的TclientDataSet控件的FetchOnDemand属性设为True,那么客户端还是能自动地请求这些数据值;否则,客户端 阅读全文
posted @ 2013-05-18 22:25 麦麦提敏
摘要:有一行代码的三层,功能肯定非常的简单,但是,再简单,我们也三层了,学习一个东西,需要从入门开始就有兴趣,如果入门就给吓怕了,哪么后来何来信心学习呢?现在就让我们开始吧,不只是没有华丽的词语,而是连用词都不专业,因为,我也只是一个入门者。 我所用的版本为:Embarcadero® Delphi® 2010 Version 14.0.3593.25826 一、让我们 file->new->other ,再选 datasnap server ,或者F6,输入 datasnap如图,我们有两个可选项datasnap server:选择这一项,我们得到的将是一个独立EXE 阅读全文
posted @ 2013-05-18 21:34 麦麦提敏
摘要:A类互联网网址: 7位网络号 24位主机号 01111111.11111111.11111111.11111111 --->01111111 = 127 0..127 0..255 0..255 0..255 0.0.0.0 -- 127.255.255.255B类互联网网址: 14位网络号 16位主机号 10111111.11111111.11111111.11111111 --->10111111 = 191 128..191 0..255 0..255 0..255 128.0.0.0 -- 191.255.255.255C类互联网网址: 21位网络号 8位主机号 11011 阅读全文
posted @ 2013-05-18 21:18 麦麦提敏
摘要:cxGrid数据录入一、数据录入1 在TcxGridDBTableView中,设定属性 NewItemRow.Visible = True2 在cxgrid中输入数据怎样回车换行 在TcxGridDBTableView中 将属性OptionsBehavior.FocusFirstCellOnNewRecord = True OptionsBehavior.GoToNextCellOnEnter = True OptionsBehavior.FocusCellOnCycle = True就可以了.如果愿意也可以添加其自带的操作按钮,OptionsView.Navigator = True随后在N 阅读全文
posted @ 2013-05-18 21:06 麦麦提敏
摘要:procedure CaptureScreen(Const FileName: string);var BitsPerPixel: Byte; pD3D: IDirect3D9; pSurface: IDirect3DSurface9; g_pD3DDevice: IDirect3DDevice9; D3DPP: TD3DPresentParameters; ARect: TRect; LockedRect: TD3DLockedRect; BMP: TBitmap; i, p: Integer;begin BitsPerPixel := GetDeviceCaps(Can... 阅读全文
posted @ 2013-05-18 20:58 麦麦提敏
摘要:delphi 三层架构简单例子(经测试成功)所谓三层:(1) 客户端(2) 服务器端(3) 数据库 在数据访问时,使得客户端必须通过服务器来访问数据库。提高了系统的安全性。 在Delphi中可以使用Socket或者Dcom来连接他们相互间的通讯。如果使用Scocket在系统使用时必须提供Scocket连接器,而Dcom则不用。客户端和服务器的连接需要Broker来联系。环境为winxp sp2 + delphi 7 + db7.(MSSQL2000)创建过程:1、请不要新建application.file-new-activex-activex library,file --new--othe 阅读全文
posted @ 2013-05-18 20:55 麦麦提敏
摘要:DBGrid 应用全书http://blog.csdn.net/aroc_lo/article/details/3188500在 Delphi 语言的数据库编程中,DBGrid 是显示数据的主要手段之一。但是 DBGrid 缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化DBGrid 外观的目的。通过编程,我们可以改变 DBGrid 的表头、网格、网格线的前景色和背景色,以及相关的字体的大小和风格。 以下的示例程序演示了对 DBGrid 各属性的设置,使 Delphi 显示的表格就像网页中的表格一样漂亮美观。 阅读全文
posted @ 2013-05-18 20:52 麦麦提敏
摘要:基于Delphi的接口编程入门为什么使用接口? 举个例子好了:有这样一个卖票服务,电影院可以卖票,歌剧院可以卖票,客运站也可以卖票,那么我们是否需要把电影院、、歌剧院和客运 站都设计成一个类架构以提供卖票服务?要知道,连经理人都可以卖票,很显然不适合把经理人也包括到卖票服务的继承架构中,我们需要的只是一个共通的卖票服 务。于是,卖票的服务是个接口,电影院、歌剧院什么的只要都遵循这样一个服务定义就能很好地相互交互和沟通(如果须要的话)。 如何在Delphi中使用接口 1、声明接口IMyInterface = interface(IInterface) //说明(1)['{63E072DF 阅读全文
posted @ 2013-05-18 20:50 麦麦提敏
摘要:首先将pagecontrol的ownerdraw设为true再在它的onDrawTab事件里写如下代码:var TmpRect: TRect;begin with PageControl1.Canvas do begin Brush.Color := $00E6F6F8; Font.Color := clblack; FillRect(Rect); TmpRect := Rect; OffsetRect(TmpRect, 0, 3); DrawTex... 阅读全文
posted @ 2013-05-18 20:49 麦麦提敏
摘要:delphi执行查询语句时的进度条怎么做procedure TForm1.FormCreate(Sender: TObject);begin ADOQuery1.ExecuteOptions := [eoAsyncFetch];//设为异步读取end;//ADOQuery的OnFetchProgress事件procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet; Progress, MaxProgress: Integer; var EventStatus: TEventStatus);begin ProgressB 阅读全文
posted @ 2013-05-18 20:37 麦麦提敏
摘要:Fastreport使用经验(转) 在Delphi程序中访问报表对象最基本的方法就是frxReport1.FindObject。然后把返回的对象强制转换成它的类型,当然,在报表中必须真的有这么个东东。如改变一个Tfrxmemoview的内容,可以这样写TfrxMemoView(frxReport1.FindObject('memo1')).Text:='jade';还可以用TfrxReportPage的FindBand方法,这个方法的参数是Band类,如报表抬头就可以直接使用这个方法,因为抬头一个页中只有一个,如果有多个同样的类。则不能使用这种方法。如果要使用T 阅读全文
posted @ 2013-05-18 19:45 麦麦提敏