delphi 实现翻书效果同一表中同一列所有行求和,我写了一个代码,能实现求和,但太啰嗦,有没有简单的方法!谢谢

1050人阅读
其它技术(2)
Delphi编写ActiveForm,TPopupMenu不能在同一进程的两个IE中正常显示的问题
描述:delphi编写的ActiveForm中,包含有弹出菜单,在一个ie中,可以正常显示,不过,当在这个ie中通过链接或者
javascript打开另外一个ie窗口(同一个ie进程)的时候,弹出菜单就不会显示.
这个问题应该是Delphi的DAX本身的问题,其实,也是VCL封装时候,欠考虑的一个问题(猜测).
不能很好的支持跨进程应用.
被这个问题困扰很久,终于找到了解决方案.
据传说,有两种解决方案
1.菜单部分都基本上用api实现,最后,调用TrackPopupMenu来实现跨线程弹出菜单.
2.网站提供一些开源控件,里面有一个TEasyPopupMenu,是线程安全的弹出菜单,
可以解决这个问题,不过,感觉这个控件还是有些问题的:
(1) Images不能画出来(可能我还没有找到).
(2) 当设置某个菜单项visible切换的时候,会发生有些菜单调用失败,我看了下源代码,发现是以下代码的问题:
function TEasyPopupMenu.BuildMenu(Menu: HMENU): C
&&& procedure RunItems(ParentMenu: HMENU; Item: TEasyPopupMenuI var Offset: Cardinal);
&&& ......
&&&&& if not Item.Visible then E
&&&&& 修改为:
&&&&& if not Item.Visible then&&&&& begin&&&&&&& Inc(Offset);&&&&&&& E&&&&&
&&& ......
&&& 原因是它这里在菜单项visible为false的时候,其实,这些菜单项根本没有生成,可是,id(offset)还是顺次指定的,所以,
会发生有些菜单项跟command不能对应上,导致点击没有反应.&
关于不能显示images的问题,我在继续研究.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:57176次
积分:1006
积分:1006
排名:千里之外
原创:45篇
评论:11条
(1)(1)(1)(1)(1)(1)(1)(1)(4)(3)(10)(4)(6)(6)(2)(1)(2)求教:同一excel工作表中,把相同名称对应的不同数值求和,如何写公式_百度知道随笔分类 - Delphi
摘要: http://blog.csdn.net/haynes/article/details/8723516
麦麦提敏 阅读(17) |
摘要: 需检查是否是以下这些情况: 1. 字段是不是精度不够。 2. 无主键 3. 字段允许为空 4. 字段类型不匹配 5. ADO控件 CursorLocation的属性,默认值为“clUseClient”,应设为“clUseServer”。
麦麦提敏 阅读(65) |
摘要: cxGrid 增加序号 (非数据库绑定模式)-----------------------------------1.选在 adoQuery控件,鼠标右键菜单中选择Fields Editor2.在 adoQuery控件 Fields Editor 中鼠标右键菜单(1) Add all fields ...
麦麦提敏 阅读(58) |
摘要: copy:/yunfanleo/blog/item/0c51d9cdbc558.htmlFormat是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以 供大家查询之用:首先看它的声明:funct...
麦麦提敏 阅读(143) |
摘要: 一行中的字符超出 255 时候发生这个错误解决方式: 一行的字符串分成两行 并 + 连接**** 将字符串分成两个用“+&连接起来
麦麦提敏 阅读(61) |
摘要: http://blog.csdn.net/u/article/details/button 组件:CAPTION 属性 :用于在按钮上显示文本内容Cancel 属性:是否设置成默认的取消按钮,当设置为真的时候(true) 按ESC触发改按钮的事件!Defau...
麦麦提敏 阅读(64) |
摘要: delphi的取整函数round、trunc、ceil和floor 首先引入math单元1.Round(四舍六入五留双)功能说明:对一个实数进行四舍五入。(按照银行家算法) 例:vari, j: Ibegini := Round(1.5); // i等于2j :=...
麦麦提敏 阅读(25) |
摘要: uses SysUprocedure RaiseMyEbegin raise Exception.Create('Hallo World!');
麦麦提敏 阅读(28) |
摘要: 在许多数据表中,数据是以代码方式存放的,如在班级编码数据表tB03(表5.5)中,系部字段TB0309采用编码方式存放,系部真实名称则存放在系部编码表TB06。使用代码的好处是,用户可在编码表TB06中改变TB0602字段的系部名称,而不会影响使用该编码的其他数据表(如TB03)的运行6其缺点是当用...
麦麦提敏 阅读(65) |
摘要: 1. 编辑器 按键时候请注意输入法: 英文状态 Code Folding (Fold ---Methods) [Ctrl + Shift] + K + M
麦麦提敏 阅读(21) |
摘要: XE 的程序升级 XE5 问题处理记录1.[dcc32 Fatal Error] frxClass.pas(3556): F1026 File not found: 'xxxxx\Registry.dcu' Registry ====& System.Win.Registry (替换)2. [d...
麦麦提敏 阅读(69) |
摘要: Delphi XE5 常见问题解答有关于新即时试用的问题吗?请看看RAD Studio 即时试用常见问答.常见问题什么是 Delphi?Embarcadero? Delphi? XE5 是易于学习的应用开发,适合构建针对Android 和iOS 的真正原生应用、并将它们快速应用到应用商店和企业的团队...
麦麦提敏 阅读(181) |
摘要: WinAPI: ShellExecute - 打开外部程序或文件ShellExecute( hWnd: HWND; {指定父窗口句柄} Operation: PC {指定动作, 譬如: open、print} FileName: PC {指定要打开的文件或程序} Parame...
麦麦提敏 阅读(42) |
摘要: DATEADD和DATEDIFF函数、其他日期处理方法 、已打开的端口、FORMAT函数DATEADD和DATEDIFF函数、其他日期处理方法 、已打开的端口、Format函数KeyLife富翁笔记 作者?: microtan标题?: SQL 中日期的处理 关键字: SQL 中日期的处理 分类?: 个人专区 密级?: 公开 (评分: , 回复: 0, 阅读: 131) && 通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、
麦麦提敏 阅读(238) |
摘要: procedure Tform1.Edit1KeyPress(Sender: TOvarKey: Char);varedt: TEstr, strL, strR:p:begin // 获取当前文本内容, 注意要去掉选中部分(因为会被改写).edt := TEdit(Sender);str := edt.ifLength(edt.SelText) 0thenbegin strL := LeftStr(edt.text, edt.SelStart); strR := RightStr(edt.text, Length(edt.text.
麦麦提敏 阅读(122) |
摘要: Delphi 三层开发************ http://blog.csdn.net/lailai186/article/category/1396968 Delphi CxGrid 汇总************ http://blog.csdn.net/lailai186/article/details/8824724delphi四种消息框 ************ /FuYan/archive//3048733.html动态创建Fastreport http://blog.csdn.net/xinzheng_wang...
麦麦提敏 阅读(50) |
摘要: Delphi操作Excel大全DELPHI操作excel(转)(一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: VExcelApp := CreateOleObject( 'Excel.Application' );1) 显示当前窗口:ExcelApp.Visible := T2) 更改 Excel 标题栏:ExcelApp.Caption := '应用程序调用 Microsoft Excel';3) 添加新工作簿:ExcelApp.WorkBooks.A4) 打开已存在的工作簿:Ex
麦麦提敏 阅读(40) |
摘要: 一名Delphi程序员的开发习惯有关开发习惯的一些想法,如鲠在喉,不吐不快。究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些 建议,或者参考(希望不是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。谢谢。一.建立工程目录 首先,第一步要做的,当然是给新项目建一个单独的目录(别笑)。目录名称与项目名称同名,或者另取一个也可,只要清楚、简练。然后,在此目录中创建以下各 个目录: :用来存放该项目相关的开发文档(需求说明,概要设计,详细设计等等等等); :用来存放Delphi源程序中的”.Dpr”,”.Pas”,”.D
麦麦提敏 阅读(50) |
摘要: 使用 TRegistry 类[1]: 显示各主键下的项{XP 注册表中的主键}HKEY_CLASSES_ROOT {文件类型信息} HKEY_CURRENT_USER {当前用户信息}HKEY_LOCAL_MACHINE {软硬件信息} HKEY_USERS {所有用户信息} HKEY_CURRENT_CONFIG {当前配置信息}{Delphi 定义的常量}HKEY_CLASSES_ROOT = DWORD($);HKEY_CURRENT_USER = DWORD($);HKEY_LOCAL_MACHINE = DWORD($8000...
麦麦提敏 阅读(12) |
摘要: ini 文件操作记要(1): 使用 TIniFileunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtype TForm1 = class(TForm) Button1: TB Button2: TB Button3: TB Button4: TB Button5: TB Button6: TB Button7: TButt...
麦麦提敏 阅读(45) |
摘要: 先人的DELPHI基础开发技巧 ◇[DELPHI]网络邻居复制文件 copyfile(pchar('newfile.txt'),pchar('//computername/direction/targer.txt'),false);◇[DELPHI]产生鼠标拖动效果 通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL: var xpanel,ypanel,xlabel,ylabel: PANEL的MouseMove事件:xpanel:=x;ypanel:=y; P
麦麦提敏 阅读(59) |
摘要: Q: 怎么来改变ListBox的字体呢?就修改其中的一行。A: 先把ListBox1.Style 设成lbOwnerDrawFixed然后在 OnDrawItem 事件下写下如下代码procedure TForm1.ListBox1DrawItem(Control: TWinC Index: IRect: TR State: TOwnerDrawState);varOffset: IbeginOffset := 2;with (Control as TListBox).Canvas do beginFillRect(Rect);if Index
麦麦提敏 阅读(26) |
摘要: ------------------------------------------------------- ◇删掉程序自己的exe文件 procedure TForm1.FormClose(Sender: TO var Action: TCloseAction); var F:TextF begin AssignFile(F,'delself.bat'); Rewrite(F);{F为TextFile类型} WriteLn(F,'del '+ExtractFileName(Application.ExeName)); WriteLn(F,
麦麦提敏 阅读(27) |
摘要: delphi 换行操作我将我的商用《旅行社管理系统》的 发团通知 部分奉献给您,望对您有所帮助。 procedure TFrmMain.N327Click(Sender: TObject); var FWord :V FDoc :V strSQL : begin //首先创造对象,如果出现异常就做出提示 try FWord := CreateOleObject('Word.Application'); //WOrd程序的执行是否可见,值为false时,程序在后台运行。 FWord.Visible := T except mess
麦麦提敏 阅读(189) |
摘要: 先看一个非多线程的例子, 代码执行时不能进行其它操作(譬如拖动窗体):{自定义方法: 在窗体上绘制...}procedure MyMvar i: Ibegin for i := 0 to 500000 do begin Form1.Canvas.L Form1.Canvas.TextOut(10, 10, IntToStr(i)); Form1.Canvas.U{调用上面的自定义方法}procedure TForm1.Button1Click(Sender: TObject);begin MyM修改为多线...
麦麦提敏 阅读(34) |
摘要: XP 之后, Delphi 动注册表不方便了...逼出来一个办法:手头的程序需要修改注册表, 以让当前程序成为某格式的默认打开程序并关联图标; Vista 之后需要管理员权限才能操作注册表, 很麻烦, 所以有了下面的尝试.unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtype TForm1 =...
麦麦提敏 阅读(19) |
摘要: STA 单元 (用到 System.SysUtils.TStringHelper):------------------------------------------------------------------------------------------------------------------------------------------unit STA;interfaceuses System.SysUtils, System.Ctype TSta = record FSeparator: C FArr: TArray&; con...
麦麦提敏 阅读(23) |
摘要: 以前写代码, 总是把主单元弄得满满当当; 现在更喜欢把控件比较独立的功能写成一个单元, 改写属性、重载方法...哪怕只有一点点和默认不同, 也喜欢独立出来.刚刚用到 TListBox, 需要能拖动元素、双击删除.------------------------------------------------------------------------------------------------------------------------------------------------unit ListBox2;interfaceuses System.Classes, Vcl.C.
麦麦提敏 阅读(21) |
摘要: uses Winapi.msxml, System.DateU//实时获取网络时间的函数, 得到的是格林威治时间; 默认从 sohu 服务器获取, 因为它最快, 平均只需 15 毫秒function GetNetTime(aUrl: WideString = ''):begin with CoXMLHTTP.Create do begin open('Post', aUrl, False, EmptyParam, EmptyParam); send(EmptyParam); Result := ge
麦麦提敏 阅读(27) |
摘要: _StreamADODB_TLBakTop, akLeft, akRight, akBottomControlsApplication (the variable not a type)FormsBeepSysUtils or Windows (different functions)CGID_EXPLORERShlObjCN_BASEControlsCoInitializeActiveXCopyFileWindowsCoUnInitializeActiveXCreateComObjectComObjCreateOleObjectComObjDateSysUtilsDeleteFileSysU
麦麦提敏 阅读(429) |
摘要: 多步操作产生错误,请检查每一步的状态值需检查是否是以下这些情况:1.无主键2.字段允许为空3.字段类型不匹配4.字段是不是精度不够。5.ADO控件 CursorLocation的属性,默认值为“clUseClient”,应设为“clUseServer”。
麦麦提敏 阅读(15) |
摘要: 删除整个目录以往删除目录时,都需要先用递归删干净目录下的文件和子文件夹,这样做的时候,如果文件数量大,那么删除会非常慢; 于是找了个方便一点的方法,直接使用API将目录删除:代码如下:function DelDirectory(const Source: string):var fo: TSHFILEOPSTRUCT;begin FillChar(fo, SizeOf(fo), 0); with fo do begin Wnd := 0; wFunc := FO_DELETE; pFrom := PChar(Sour...
麦麦提敏 阅读(15) |
摘要: Ribbon_窗体_实现Ribbon风格的窗体随着office2007的兴起,微软让我们看到了Ribbon风格的窗体,现在很多软件也都开始使用Ribbon风格。那么我们如果要自己开发,应当怎么做呢?本文就是为大家解开这个疑团的。首先,delphi本身并没有Ribbon风格的窗口可以直接拿来使用,而市面上很多类似于Ribbon的风格都是用截图法做出来的,那样做很麻烦,而且对于图片的控制要求非常高。这样无疑是增加了软件的成本,这里介绍的方法是使用第三方控件,DevExpress Bar 6 来完成Ribbon风格的界面。首先下载并安装DevExpress Bar 6,注意必须是6,以往的版本没有R
麦麦提敏 阅读(270) |
摘要: 一名Delphi程序员的开发习惯有关开发习惯的一些想法,如鲠在喉,不吐不快。究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些建议,或者参考(希望不是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。谢谢。一.建立工程目录首先,第一步要做的,当然是给新项目建一个单独的目录(别笑)。目录名称与项目名称同名,或者另取一个也可,只要清楚、简练。然后,在此目录中创建以下各个目录:&Doc&:用来存放该项目相关的开发文档(需求说明,概要设计,详细设计等等等等);&Source&:用来存放Delphi源程
麦麦提敏 阅读(43) |
摘要: Delphi語法筆記单元 程序头:uses(子句列出了那些链接到程序的单元),block(声明,命令语句)一个程序包括:o 一个程序头(program heading)o 一个uses 子句(可选),和o 一个包含声明和命令语句的块(block)一个单元以单元头(unit heading)开始,后面跟interface、implementation、initialization和finalization 部分,后面两个部分是可选的一个uses 子句可以出现在:o 程序或库的工程文件o 单元的接口部分,和o 单元的实现部分在单元声明以及uses 子句中(尤其是在Linux 下),单元名称必须和文
麦麦提敏 阅读(29) |
摘要: delphi 公共函数让TDBNavigator变透明procedure TForm1.Button1Click(Sender: TObject);var i : I x : Ibegin for i := DBNavigator1.ControlCount - 1 downto 0 do begin x := DBNavigator1.Left + DBNavigator1.Controls[i].L with DBNavigator1.Controls[i] do begin Parent := DBNavigator1.P Left :=
麦麦提敏 阅读(47) |
摘要: 很多系统都有类似于如下的表结构(table1):IDName ParentID---------------------------------------------------------001 电子类0002金属类 0003 电容电子 001004 电阻电子 001005 有色金属002而且大家都习惯于用树(TreeView)来显示,这样就可以很好的显示整个表的分类情况。但如果数据量多时会造成树的生成比较慢,特别是用递归来实现时要访问数据库的次数很多(根据层数),用在三层中效果更加显。在此提供一个好的方法来生成树形结构。这个算法只访问一次数据库,具体的实现如下:1、一次性从数据库中取出所
麦麦提敏 阅读(36) |
摘要: Dephi XE 编译后执行文件的路径怎么改在右侧树形结构,的工程目录下,有个Build Configurations,下面的Debug 和 Release上右键,选Edit...,在弹出的对话框中的最后一个选项即是 Output Directory 是Exe目录 Unit Output directory 是 dcu目录
麦麦提敏 阅读(28) |
摘要: Delphi开发DLL1.一般工程文件的头标用program关键字,而DLLs工程文件头标用library 关键字。不同的关键字通知编译器生成不同的可执行文件。用program关键字生成的是.exe文件,而用library关键字生成的是.dll文件; 2.假如DLLs要输出供其它应用程序使用的函数或过程,则必须将这些函数或过程列在exports子句中。而这些函数或过程本身必须用export编译指令进行编译。 根据DLLs完成的功能,我们把DLLs分为如下的三类:1.完成一般功能的DLLs;2.用于数据交换的DLLs;3.用于窗体重用的DLLs。一 Dll的制作一般分为以下几步:1 在一个D..
麦麦提敏 阅读(148) |
摘要: Delphi AnimateWindow用法 淡入淡出窗口在OnShow加入弹出式窗口事件: procedure TForm1.FormShow(Sender: TObject);begin ANimateWindow(Handle,200,AW_SLIDE+AW_HOR_NEGATIVE); 关掉窗口滑动事件在OnClose加入: procedure TForm1.FormClose(Sender: TO var Action: TCloseAction);begin ANimateWindow(Handle,200,AW_SLIDE+AW_HOR_POSITIVE+AW
麦麦提敏 阅读(49) |
摘要: http://blog.csdn.net/zhnglicho/article/details/6760912 ini 文件是基于文本类型的格式文件,用于存储程序初始化和配置数据。 .ini文件是有段(Sections)和键(key)组成的,每个文件可以有 n个段(每个段有方括号括起来),每个段可以有m个键,大致格式如下: [secontion] Ke...
麦麦提敏 阅读(29) |
摘要: 动态链接库是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源。由于DLL代码使用了内存共享技术,在某些地方windows也给了DLL一些更高的权限,因而DLL中可以实现一些一般程序所不能实现的功能,如实现windows的HOOK、ISAPI等。同时,DLL还为不同语言间代码共享提供了一条方便的途径。因而DLL在编程时应用较为广泛,本文将介绍如何在 Delphi 中建立和使用DLL。 一.DLL 库内存共享机制 从使用效果看,DLL和unit 很像,它们都可以被别的工程模块所调用,但二者在内部的实现机制上确存在着差别。如果一个程序模块中用uses语句引...
麦麦提敏 阅读(65) |
摘要: 版本标识:VER10 : Turbo Pascal 1VER20 : Turbo Pascal 2VER30 : Turbo Pascal 3VER40 : Turbo Pascal 4VER50 : Turbo Pascal 5VER60 : Turbo Pascal 6VER70 : Turbo Pascal 7 / Borland Pascal 7VER80 : Delphi 1VER90 : Delphi 2VER100 : Delphi 3VER110 : ?VER120 : Delphi 4VER130 : Delphi 5VER140 : Delphi 6VER...
麦麦提敏 阅读(10) |
摘要: Delphi 的编译指令(2): 条件语句的更多用法1. $IFDEF 等同于 $IF DEFINED(...) :它们的结束分别是: $ENDIF、$IFEND; 例子中的 VER200 是 Delphi 2009 的标识.begin{$IFDEF VER200}ShowMessage('这是 Delphi 2009');{$ENDIF}{$IF DEFINED(VER200)}ShowMessage('这是 Delphi 2009');{$IFEND}2. $IFNDEF 等同于 $IF NOT DEFINED(...) :它们的结束分别是: $EN
麦麦提敏 阅读(8) |
摘要: Delphi 的编译指令(1): $DEFINE、$UNDEF、$IFDEF、$ELSE、$ENDIF一个程序从无到有的过程是这样的: 编辑代码 -& 预处理 -& 编译(成dcu等) -& 链接(为exe等).什么是预处理?譬如 VCL 中有很多代码是兼容 Linux 的, 在 Windows 下就需要在编译之前预处理掉那些 for Linux 的代码.1、判断操作系统:其中的 &MSWINDOWS& 和 &LINUX& 就是 Delphi 预定义的 &条件标识符&.begin{$IFDEF MSWINDOWS}S
麦麦提敏 阅读(16) |
摘要: DELPHI的编译指令 可以检测到这种改变, (1) Shift+F9 或 Project -& Build all project. (2) Run Without Debugging Shift+ Ctrl + F9---------------------------------------------------------------------------------使用列子: procedure TForm1.Button1Click(Sender: TObject);begin{$IFDEF _ProVersion} ShowMessage(''专业版&#
麦麦提敏 阅读(43) |
摘要: 16、SaveDialog1确认文件存不存在的办法?答:procedureTForm1.SaveDialog1CanClose(Sender:TOvarCanClose:Boolean);beginifFileExists(SaveDialog1.FileName)then//如果文件已经存在ifMessageDlg('文件已经存在,保存吗?',mtConfirmation,[mbYes,mbNo],0)&&mrYesthenButton2.Click//如果选择了覆盖,则退出,否则,重新让用户选择文件======================
麦麦提敏 阅读(67) |
摘要: 历史上最全的delphi技巧集锦之1分类:delphi 22:00------------------------------------------------删除dbgrid中选定数据的方法:beginadotable1.Dadotable1.若要追加和修改信息:adotable1.Aadotable1.------------------------------------------------将数据写入库:procedureTclassmanageform.SaveToTbeginClassmanageFor
麦麦提敏 阅读(49) |
摘要: TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。TStringList 常用方法与属性:var List: TStringL i: Ibegin List := TStringList.C List.Add('Strings1'); {添加} List.Add('Strings2'); List.Exchange(0,1); {置换} List.Insert(0,'Strings3'); {插入} i := List.IndexOf('Strings1'); {第一次出
麦麦提敏 阅读(34) |
摘要: 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的: type TMsg = packed record hwnd: HWND; / /窗口句柄 message: UINT; / /消息常量标识符 wParam: WPARAM ; // 32位消息的特定附加信息 ...
麦麦提敏 阅读(20) |
摘要: 出现的问题:在编译delphi程序时出现提示为:[Error] MyUnit.pas(LL): Undeclared identifier: 'NNNN'其中:MyUnit.pas源文件的名称.LL第几行.NNNN提示的标识名.原因:编译器不能识别'NNN'这个标识。这可能是拼写错误或找不到定义文件造成。解决方法:常见的错误是由于拼写错误造成,例子如下: var number: I begin numbr := 1;变量定义为number,但使用时写成了numbr,将变量改正就可以。另一种是代码正确,但要用到的单元没有包含进去。如: try . .
麦麦提敏 阅读(297) |
摘要: 如何去掉Delphi自动生成的~.pas等临时文件一、Delphi7二、Delphi2010
麦麦提敏 阅读(26) |
摘要: Delphi快捷键大全在过程、函数、事件内部, SHIFT+CTRL+向上的方向键 可跳跃到相应的过程、函数、事件的定义.相反,在过程、函数、事件的定义处,SHIFT+CTRL+向下的方向键 可跳跃到具体过程、函数、事件内部CTRL+ SHIFT + C:编写申明或者补上函数.如:procedure TT.A(AA: string); //函数申明安下:CTRL+ SHIFT + C后,会写上procedure TT.A(AA: string);SHIFT+CTRL+E 显示 EXPLORERcrtl + shift + n (n=1,2,3,4......)定义书签crtl
麦麦提敏 阅读(9) |
摘要: 如果webbrowser由你创建如果网页内容可知用263举个例子procedure TForm1.FormCreate(Sender: TObject);begin b := webbrowser1.Navigate('http://www.263.net');procedure TForm1.WebBrowser1DocumentComplete(Sender: TO const pDisp: ID var URL: OleVariant);begin b := Tprocedure TForm1.Button
麦麦提敏 阅读(43) |
摘要: A类互联网网址: 7位网络号 24位主机号 11. ---& = 127 0..127 0..255 0..255 0..255 0.0.0.0 -- 127.255.255.255B类互联网网址: 14位网络号 16位主机号 11. ---& = 191 128..191 0..255 0..255 0..255 128.0.0.0 -- 191.255.255.255C类互联网网址: 21位网络号 8位主机号 11011
麦麦提敏 阅读(134) |
摘要: procedure CaptureScreen(Const FileName: string);var BitsPerPixel: B pD3D: IDirect3D9; pSurface: IDirect3DSurface9; g_pD3DDevice: IDirect3DDevice9; D3DPP: TD3DPresentP ARect: TR LockedRect: TD3DLockedR BMP: TB i, p: Ibegin BitsPerPixel := GetDeviceCaps(Can...
麦麦提敏 阅读(170) |
摘要: 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
麦麦提敏 阅读(62) |
摘要: DBGrid 应用全书http://blog.csdn.net/aroc_lo/article/details/3188500在 Delphi 语言的数据库编程中,DBGrid 是显示数据的主要手段之一。但是 DBGrid 缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化DBGrid 外观的目的。通过编程,我们可以改变 DBGrid 的表头、网格、网格线的前景色和背景色,以及相关的字体的大小和风格。 以下的示例程序演示了对 DBGrid 各属性的设置,使 Delphi 显示的表格就像网页中的表格一样漂亮美观。
麦麦提敏 阅读(24) |
摘要: 基于Delphi的接口编程入门为什么使用接口? 举个例子好了:有这样一个卖票服务,电影院可以卖票,歌剧院可以卖票,客运站也可以卖票,那么我们是否需要把电影院、、歌剧院和客运 站都设计成一个类架构以提供卖票服务?要知道,连经理人都可以卖票,很显然不适合把经理人也包括到卖票服务的继承架构中,我们需要的只是一个共通的卖票服 务。于是,卖票的服务是个接口,电影院、歌剧院什么的只要都遵循这样一个服务定义就能很好地相互交互和沟通(如果须要的话)。 如何在Delphi中使用接口 1、声明接口IMyInterface = interface(IInterface) //说明(1)['{63E072DF
麦麦提敏 阅读(19) |
摘要: 首先将pagecontrol的ownerdraw设为true再在它的onDrawTab事件里写如下代码:var TmpRect: TRbegin with PageControl1.Canvas do begin Brush.Color := $00E6F6F8; Font.Color := FillRect(Rect); TmpRect := R OffsetRect(TmpRect, 0, 3); DrawTex...
麦麦提敏 阅读(35) |
摘要: delphi执行查询语句时的进度条怎么做procedure TForm1.FormCreate(Sender: TObject);begin ADOQuery1.ExecuteOptions := [eoAsyncFetch];//设为异步读取//ADOQuery的OnFetchProgress事件procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataS Progress, MaxProgress: I var EventStatus: TEventStatus);begin ProgressB
麦麦提敏 阅读(26) |
摘要: 我有一个问题请教:我在BDEQUERY中使用其FILTER属性进行条件筛选时一切正常,但相同的条件拿到ADOQUERY中使用就出现错误,具体情况如下:1、BDEQUERY和ADOQUERY指向同一个数据库,其中的SQL语句相同;2、筛选条件如果是以下类型的情况都正确: (字段1= 'AAA ') (字段1= 'AAA ') OR (字段1= 'BBB ') (字段1= 'AAA ') AND (字段2= 'TTT ')3、但当出现此类情况时就会出错: ((字段1= 'AAA ') OR (字段1=
麦麦提敏 阅读(54) |
摘要: Delphi 2007 代码补全、语句提示的快捷键是什么?CTRL+SPACE 代码补全,很好用的(先改了输入法热键) CTRL+SHIFT+C 编写申明或者补上函数 CTRL+SHIFT+↑(↓) 在过程、函数、事件内部, 可跳跃到相应的过程、函数、事件的定义(在INTERFACE和IMPLEMENTATION之间来回切换) CTRL+SHIFT+G 插入GUID CTRL+J (弹出DELPHI语句提示窗口,选择所需语句将自动完成一条语句)代码模板 CTRL+K+E(F) 标识符变小(大)写 CTRL+K+O(N) 选中的变小(大)写 CTRL+O+U 切换选择块的大小写 SHIFT+鼠标
麦麦提敏 阅读(62) |
摘要: Delphi中使用存储过程介绍Delphi + MS SQL Server是目前最为流行的管理信息系统开发环境和工具。Delphi的强大数据库操作控件极大地减轻了开发人员的工作量,在这些控件中,最常用的有 TQuery、TTable、TADOQuery、TADOTable、TADODataSete等,这些控件执行查询操作时有一个共同的特点,即将所有数据库记录从服务器取回客户端,再根据查询的条件进行筛选。很明显,如果有大量的数据在服务器与客户端之间传递,就会降低程序执行的速度,影响应用程序的性能。针对这种情况,MS SQL Server数据库和Delphi开发工具都提供了存储过程来解决这类问题。
麦麦提敏 阅读(25) |
摘要: 在IDE中输入控件的名称+. 就会弹出代码完成提示,会列出该控件的所有属性、方法等,也许你对代码完成就是这样的印象,其实它还有一些好用的功能,只不过由于它的激活快捷键也是ctrl+space,与我们的中英输入法切换快捷键冲突才没有显露出来,我强烈建议大家把中英输入法切换快捷键改为其它,以使用完整的代码完成功能,下面是一些代码完成功能的演示动画,看看,很酷吧!呵呵,再实现接口时接口定义的方法可以直接过来了,真好用。处理消息时也很方便,消息的定义自动就上去了这功能没见过吧,很有趣也可以直接定位到方法的实现代码引用单元时也不用死记硬背了,也可以选了
麦麦提敏 阅读(22) |
摘要: Delphi编程地一些小程序1、用Enter键代替Tab键在实际的程序开发中我们经常有这样的要求,用户不喜欢用Tab键,他希望用Enter键来代替。我们应该什么做呢?首先:设定Form的KeyPreview属性为True。其次:把Form上的所有Button的Default属性设为False。最后:在Form的onKeyPress事件中添加如下代码:procedure TForm1.FormKeyPress(Sender: TO var Key: Char); begin if Key = #13 then begin Key := #0; Perform(Wm_NextDlg..
麦麦提敏 阅读(215) |
摘要: 【数据库】数据库基础一、SQL语句(1)Select 查询语句 语法:SELECT [ALL|DISTINCT] &目标列表达式& [AS 列名][,&目标列表达式& [AS 列名] ...] FROM &表名& [,&表名&…] [WHERE &条件表达式& [AND|OR &条件表达式&...] [GROUP BY 列名 [HAVING &条件表达式&]] [ORDER BY 列名 [ASC | DESC]] 解释:[ALL|DISTINCT] ALL:全部 DISTINCT:不包括重复行 &目标列表
麦麦提敏 阅读(33) |
摘要: Delphi控制输入为数字或字母Delphi 控制输入为数字或字母if not (Key in ['0'..'9', 'a'..'z', 'A'..'Z', #8, #13]) thenbegin Key := #0; ShowMessage('请输入数字或字母');
麦麦提敏 阅读(26) |
摘要: Delphi中动态加载Image控件图片的方法作者:海豚王子procedure TForm1.Button1Click(Sender: TObject);var jpg: TJPEGI // 要use Jpeg单元begin // 显示jpg大图片的方式 jpg := TJPEGImage.C jpg.LoadFromFile(getcurrentdir() + '\pic.jpg'); Image1.Picture.Bitmap.Assign(jpg); // 因为 img 控件是基于bmp的 jpg.Fprocedure TForm1.
麦麦提敏 阅读(37) |
摘要: TClientDataSet的使用技巧本文从以下几个方面阐述TClientDataSet的使用,希望对你有所帮助.1.动态索引procedure TForm1.DBGrid1TitleClick(Column: TColumn);beginif (not column.Field is Tblobfield) then//Tblobfield不能索引,二进制ClientDataSet1.IndexFieldNames:=column.Field.FieldN2.多层结构中主从表的实现设主表ClientDataSet1.packetrecord为-1,所有记录设从表ClientD
麦麦提敏 阅读(27) |
摘要: Delphi编程防止界面卡死的方法作者:海豚王子1.循环里面防止界面卡死的方法可以使用Application.ProcessMessages; 例如下列方法: var n:Ibegin for n := 0 to 10000 dobegin Edit1.Text := IntToStr(n); 在程序里执行的时候,界面肯定会卡死的,但如何防止界面出现卡的情况呢,加入Application.ProcessMessages即可,修改后的代码为: var n:Ibegin for n := 0 to 10000 dobegin Application.
麦麦提敏 阅读(49) |
摘要: 请教,如何将image显示的图相保存到数据库中?以流的方式保存一下。我做过,就按照这样的。var _picture: TFileS begin _picture:= TFileStream.Create('c:\11.bmp',fmOpenRead); with ADOCommand do begin Parameters.C Parameters.AddParameter.Name:='UserPicture';//添加一个参数 Parameters.Add...
麦麦提敏 阅读(28) |
摘要: Delphi Excel 操作大全(一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: VExcelApp := CreateOleObject( 'Excel.Application' );1) 显示当前窗口:ExcelApp.Visible := T2) 更改 Excel 标题栏:ExcelApp.Caption := '应用程序调用 Microsoft Excel';3) 添加新工作簿:ExcelApp.WorkBooks.A4) 打开已存在的工作簿:ExcelApp.WorkBoo
麦麦提敏 阅读(56) |
摘要: Delphi中Format字符串说明 [Format('%.4d', [StrToInt(VarToStr(xxx))]);] ==& 0000function Format(const Format: const Args: array of const): Format字符串说明: &%& [index &:&] [&-&] [width] [&.& prec] type (1) 格式化字符串必须以%开头 (2) [index &:&]
麦麦提敏 阅读(49) |
摘要: 动态将ADOQuery数据移植到ClientDataSet通用函数昨天做程序突然想到的,如果您会使用内存表就不需要此例了,可以参考一下,代码如下://******************************************************************************// 函数功能: 执行SQL查询语句,影响ClientDataSet控件// 函数名称: cf_dbSelectSQL// 函数参数: var oClientDataSet:TClientDataS 对象(ClientdataSet)// sSQL String SQL结构化语言// s
麦麦提敏 阅读(27) |
摘要: TClientDataSet的全面剖析1.与TTable、TQuery一样,TClientDataSet也是从TDataSet继承下来的,它通常用于多层体系结构的客户端。很多数据库应用程序都用了BDE,BDE往往给发布带来很大的不便,因而TClientDataSet最大的特点是它不依赖于BDE(Borland Database Engine),但它需要一个动态链接库的支持,这个动态链接库叫DBCLIENT.DLL。在客户端,也不需要用TDatabase构件,因为客户端并不直接连接数据库。由于TClientDataSet是从TDataSet继承下来的,所以,它支持诸如编辑、搜索、浏览、纠错、过滤
麦麦提敏 阅读(48) |
摘要: ADO BUG之'无法为更新定位行....' 解决之道在Delphi中,如果使用ADOQuery插入数据没有问题,之后对数据进行修改保存时,就会遇到“无法为更新定位行,一些值可能已在最后一次读取后已更改”的问题。原因有这样几种:1.在数据库设计时,为某些字段设置了默认值,在修改进行提交以后,数据库会自动修改对应字段的所有行的默认值,从而导致了数据库与数据集中数据的不一致,使ADOQuery无法对数据集进行定位。2.数据库对应的表没有主键,输入了重复的数据以后,数据库里有两条一样的数据,从而使ADOQuery无法对数据进行定位。解决方法:1.修改数据库设计,不再设置默认值,为数据
麦麦提敏 阅读(41) |
摘要: Delphi数据库处理第一节 BDE、ADO、InterBase和dbExpress Delphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi 6.0开始还加入了一种dbExpress方法。 另外,Delphi还提供了专门处理Borland 公司自己的数据库产品InterBase 数据库的专门的方法。 BDE(Borland Databas Engine), 是Delphi中最古老的技术,从delphi 2.0加入BDE 技术以后,一直是Delphi处理数据库的事实上的标准。BDE 是一个基于驱动程序的体系结构,每一种数据格式或数据源都有一种驱动程序来驱动相近的数据源。..
麦麦提敏 阅读(70) |
摘要: Delphi笔记-数据库开发数据集的每一列被称为一个字段,每一行被称为一个记录。o数据集:是一个分立的数据记录的集合。数据集由VCL的TDataSet表示。o表:一种特殊类型的数据集。表一般是一个实际存储在磁盘上、包含有数据记录的文件。VCL的TTable类中封装了它的各种功能。o查询:也是一种特殊类型的数据集。它可以被看作是执行了特殊命令后所产生的“内存表”,这些命令一般是对物理表或表集的操作。 在VCL中由TQuery类来处理查询。o数据库:指磁盘中的一个目录(在处理像Paradox、dBASE文件这样的非服务器数据的情况下),或是一个SQL数据库(当使用SQL服务器时)。 在一个数据库中
麦麦提敏 阅读(463) |
摘要: 一 Dll的制作一般分为以下几步:1 在一个DLL工程里写一个过程或函数2 写一个Exports关键字,在其下写过程的名称。不用写参数和调用后缀。二 参数传递1 参数类型最好与window C++的参数类型一致。不要用DELPHI的数据类型。2 最好有返回值[即使是一个过程],来报出调用成功或失败,或状态。成功或失败的返回值最好为1[成功]或0[失败].一句话,与windows c++兼容。3 用stdcall声明后缀。4 最好大小写敏感。5 无须用far调用后缀,那只是为了与windows 16位程序兼容。三 DLL的初始化和退出清理[如果需要初始化和退出清理]1 DLLProc[SysUt
麦麦提敏 阅读(41) |
摘要: ◇[DELPHI]网络邻居复制文件 copyfile(pchar('newfile.txt'),pchar('//computername/direction/targer.txt'),false);◇[DELPHI]取得WINDOWS目录 var windir:array[0..255] getwindowsdirectory(windir,sizeof(windir)); 或者从注册表中读取,位置: HKEY_LOCAL_MACHINE\Software\Microsoft\Win
麦麦提敏 阅读(77) |
摘要: 对字符串及数组的操作,是每个程序员必须要掌握的。熟练的使用这些函数,在编程时能更加得心应手。1.Copy 功能说明:该函数用于从字符串中复制指定范围中的字符。该函数有3个参数。第一个参数是数据源(即被复制的字符串),第二个参数是从字符串某一处开始复制, 第三个参数是要复制字符 串的长度(即个数)。最后函数返回一个新的字符串(即是我们指定要复制的字符串内容)。 参考实例: var S: S MyStr: S // 保存新的字符串 begin S := ’’I Love China!’’; //下面将获取I Love China中的“Love”字符串。...
麦麦提敏 阅读(44) |
摘要: 首先要说一下begin ... end; 相当于c或者c++中的{ ... }。 (1)声明语句 常量:const 常量标识符[:类型]=常值; 变量:var 变量标识符:数据类型; (2)表达式语句 由运算符组成的合法语句运算符优先级: 运算符 优先级 @ not 1 (最高) *,/,div,mod,and,shl,shr,as, 2 +,-,or,xor 3 &,&,&=,&=,&&,=,in,is, 4 (最低) (3) with ... do ... end 语句 主要在操作记录类型或组件时使用。 示例:type people=Record //定
麦麦提敏 阅读(73) |
摘要: delphi中format函数详解 /list.asp?ID=614
麦麦提敏 阅读(19) |
摘要: 类似delphi中formatdatetime()的函数 /list.asp?ID=615
麦麦提敏 阅读(18) |
摘要: /liuke1987/archive//2907892.html
麦麦提敏 阅读(20) |
摘要: Delphi Excel 操作大全 http://blog.csdn.net/yanjiaye520/article/details/8154545
麦麦提敏 阅读(36) |
摘要: SQLConnection链接数据库代码如下:procedure TForm1.Button2Click(Sender: TObject); begin SQLConnection1.ConnectionName := 'MSSQLConnection'; SQLConnection1.Params.C SQLConnection1.Params.Add('DriverName=MSSQL'); SQLConnection1.Params.Add('HostName=192.168.21.110'); SQLConnection1.Pa
摘要: Sqlserver数据类型Delphi 数据类型AutoIntftAutoIncintegerftIntegertinyintftWordsmallintftSmallintbigintftLargeintmoneyftBCDsmallmoneyftBCDdecimalftBCDnumericftBCDrealftFloatfloatftFloatbitftBooleandatetimeftDateTimesmalldatetimeftDateTimecharftStringvarcharftStringncharftWideStringnvarcharftWideStringtextftMe
麦麦提敏 阅读(205) |

我要回帖

更多关于 delphi实现插值多项式 的文章

 

随机推荐