随笔分类 -  Delphi

上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要:使用 TRegistry 类[1]: 显示各主键下的项{XP 注册表中的主键}HKEY_CLASSES_ROOT {文件类型信息} HKEY_CURRENT_USER {当前用户信息}HKEY_LOCAL_MACHINE {软硬件信息} HKEY_USERS {所有用户信息} HKEY_CURRENT_CONFIG {当前配置信息}{Delphi 定义的常量}HKEY_CLASSES_ROOT = DWORD($80000000);HKEY_CURRENT_USER = DWORD($80000001);HKEY_LOCAL_MACHINE = DWORD($8000... 阅读全文
posted @ 2013-11-21 23:35 麦麦提敏
摘要:ini 文件操作记要(1): 使用 TIniFileunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButt... 阅读全文
posted @ 2013-11-21 23:32 麦麦提敏
摘要:先人的DELPHI基础开发技巧 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar('newfile.txt'),pchar('//computername/direction/targer.txt'),false);◇[DELPHI]产生鼠标拖动效果 通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL: var xpanel,ypanel,xlabel,ylabel:integer; PANEL的MouseMove事件:xpanel:=x;ypanel:=y; P 阅读全文
posted @ 2013-11-19 08:57 麦麦提敏
摘要:Q: 怎么来改变ListBox的字体呢?就修改其中的一行。A: 先把ListBox1.Style 设成lbOwnerDrawFixed然后在 OnDrawItem 事件下写下如下代码procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;Rect: TRect; State: TOwnerDrawState);varOffset: Integer;beginOffset := 2;with (Control as TListBox).Canvas do beginFillRect(Rect);if Index 阅读全文
posted @ 2013-11-19 08:54 麦麦提敏
摘要:------------------------------------------------------- ◇删掉程序自己的exe文件 procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var F:TextFile; begin AssignFile(F,'delself.bat'); Rewrite(F);{F为TextFile类型} WriteLn(F,'del '+ExtractFileName(Application.ExeName)); WriteLn(F, 阅读全文
posted @ 2013-11-19 08:50 麦麦提敏
摘要:delphi 换行操作我将我的商用《旅行社管理系统》的 发团通知 部分奉献给您,望对您有所帮助。 procedure TFrmMain.N327Click(Sender: TObject); var FWord :Variant; FDoc :Variant; strSQL :string; begin //首先创造对象,如果出现异常就做出提示 try FWord := CreateOleObject('Word.Application'); //WOrd程序的执行是否可见,值为false时,程序在后台运行。 FWord.Visible := True; except mess 阅读全文
posted @ 2013-10-21 13:13 麦麦提敏
摘要:先看一个非多线程的例子, 代码执行时不能进行其它操作(譬如拖动窗体):{自定义方法: 在窗体上绘制...}procedure MyMethod;var i: Integer;begin for i := 0 to 500000 do begin Form1.Canvas.Lock; Form1.Canvas.TextOut(10, 10, IntToStr(i)); Form1.Canvas.Unlock; end;end;{调用上面的自定义方法}procedure TForm1.Button1Click(Sender: TObject);begin MyMethod;end;修改为多线... 阅读全文
posted @ 2013-10-21 11:28 麦麦提敏
摘要: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.StdCtrls;type TForm1 =... 阅读全文
posted @ 2013-10-21 11:14 麦麦提敏
摘要:STA 单元 (用到 System.SysUtils.TStringHelper):------------------------------------------------------------------------------------------------------------------------------------------unit STA;interfaceuses System.SysUtils, System.Classes;type TSta = record FSeparator: Char; FArr: TArray>; con... 阅读全文
posted @ 2013-10-21 10:58 麦麦提敏
摘要:以前写代码, 总是把主单元弄得满满当当; 现在更喜欢把控件比较独立的功能写成一个单元, 改写属性、重载方法...哪怕只有一点点和默认不同, 也喜欢独立出来.刚刚用到 TListBox, 需要能拖动元素、双击删除.------------------------------------------------------------------------------------------------------------------------------------------------unit ListBox2;interfaceuses System.Classes, Vcl.C. 阅读全文
posted @ 2013-10-21 10:54 麦麦提敏
摘要:uses Winapi.msxml, System.DateUtils;//实时获取网络时间的函数, 得到的是格林威治时间; 默认从 sohu 服务器获取, 因为它最快, 平均只需 15 毫秒function GetNetTime(aUrl: WideString = 'http://www.sohu.com'): string;begin with CoXMLHTTP.Create do begin open('Post', aUrl, False, EmptyParam, EmptyParam); send(EmptyParam); Result := ge 阅读全文
posted @ 2013-10-21 10:48 麦麦提敏
摘要:_StreamADODB_TLBakTop, akLeft, akRight, akBottomControlsApplication (the variable not a type)FormsBeepSysUtils or Windows (different functions)CGID_EXPLORERShlObjCN_BASEControlsCoInitializeActiveXCopyFileWindowsCoUnInitializeActiveXCreateComObjectComObjCreateOleObjectComObjDateSysUtilsDeleteFileSysU 阅读全文
posted @ 2013-10-13 18:21 麦麦提敏
摘要:多步操作产生错误,请检查每一步的状态值需检查是否是以下这些情况:1.无主键2.字段允许为空3.字段类型不匹配4.字段是不是精度不够。5.ADO控件 CursorLocation的属性,默认值为“clUseClient”,应设为“clUseServer”。 阅读全文
posted @ 2013-09-05 22:15 麦麦提敏
摘要:删除整个目录以往删除目录时,都需要先用递归删干净目录下的文件和子文件夹,这样做的时候,如果文件数量大,那么删除会非常慢; 于是找了个方便一点的方法,直接使用API将目录删除:代码如下:function DelDirectory(const Source: string): boolean;var fo: TSHFILEOPSTRUCT;begin FillChar(fo, SizeOf(fo), 0); with fo do begin Wnd := 0; wFunc := FO_DELETE; pFrom := PChar(Sour... 阅读全文
posted @ 2013-09-05 22:14 麦麦提敏
摘要:Ribbon_窗体_实现Ribbon风格的窗体随着office2007的兴起,微软让我们看到了Ribbon风格的窗体,现在很多软件也都开始使用Ribbon风格。那么我们如果要自己开发,应当怎么做呢?本文就是为大家解开这个疑团的。首先,delphi本身并没有Ribbon风格的窗口可以直接拿来使用,而市面上很多类似于Ribbon的风格都是用截图法做出来的,那样做很麻烦,而且对于图片的控制要求非常高。这样无疑是增加了软件的成本,这里介绍的方法是使用第三方控件,DevExpress Bar 6 来完成Ribbon风格的界面。首先下载并安装DevExpress Bar 6,注意必须是6,以往的版本没有R 阅读全文
posted @ 2013-06-17 13:43 麦麦提敏
摘要:一名Delphi程序员的开发习惯有关开发习惯的一些想法,如鲠在喉,不吐不快。究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些建议,或者参考(希望不是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。谢谢。一.建立工程目录首先,第一步要做的,当然是给新项目建一个单独的目录(别笑)。目录名称与项目名称同名,或者另取一个也可,只要清楚、简练。然后,在此目录中创建以下各个目录:<Doc>:用来存放该项目相关的开发文档(需求说明,概要设计,详细设计等等等等);<Source>:用来存放Delphi源程 阅读全文
posted @ 2013-06-14 10:37 麦麦提敏
摘要:Delphi語法筆記单元 程序头:uses(子句列出了那些链接到程序的单元),block(声明,命令语句)一个程序包括:• 一个程序头(program heading)• 一个uses 子句(可选),和• 一个包含声明和命令语句的块(block)一个单元以单元头(unit heading)开始,后面跟interface、implementation、initialization和finalization 部分,后面两个部分是可选的一个uses 子句可以出现在:• 程序或库的工程文件• 单元的接口部分,和• 单元的实现部分在单元声明以及uses 子句中(尤其是在Linux 下),单元名称必须和文 阅读全文
posted @ 2013-06-14 10:34 麦麦提敏
摘要:delphi 公共函数让TDBNavigator变透明procedure TForm1.Button1Click(Sender: TObject);var i : Integer; x : Integer;begin for i := DBNavigator1.ControlCount - 1 downto 0 do begin x := DBNavigator1.Left + DBNavigator1.Controls[i].Left; with DBNavigator1.Controls[i] do begin Parent := DBNavigator1.Parent; Left := 阅读全文
posted @ 2013-06-14 10:30 麦麦提敏
摘要:很多系统都有类似于如下的表结构(table1):IDName ParentID---------------------------------------------------------001 电子类0002金属类 0003 电容电子 001004 电阻电子 001005 有色金属002而且大家都习惯于用树(TreeView)来显示,这样就可以很好的显示整个表的分类情况。但如果数据量多时会造成树的生成比较慢,特别是用递归来实现时要访问数据库的次数很多(根据层数),用在三层中效果更加显。在此提供一个好的方法来生成树形结构。这个算法只访问一次数据库,具体的实现如下:1、一次性从数据库中取出所 阅读全文
posted @ 2013-06-02 20:45 麦麦提敏
摘要:Dephi XE 编译后执行文件的路径怎么改在右侧树形结构,的工程目录下,有个Build Configurations,下面的Debug 和 Release上右键,选Edit...,在弹出的对话框中的最后一个选项即是 Output Directory 是Exe目录 Unit Output directory 是 dcu目录 阅读全文
posted @ 2013-05-30 12:10 麦麦提敏

上一页 1 ··· 3 4 5 6 7 8 9 10 下一页