
Delphi
easyboot
愿断一切恶,愿修一切善。
展开
-
通过崩溃地址找错误行数之Delphi版
最近程序出现地址崩溃错误信息在网上查找处理方法,大部分人只是复制别人的文章.有些地方不够详细. 什么是 MAP 文件?简单地讲, MAP 文件是程序的全局符号、源文件和代码行号信息的唯一的文本表示方法,它可以在任何地方、任何时候使用,不需要有额外的程序进行支持。而且,这是唯一能找出程序崩溃的地方的救星。 DELPHI下生成MAP文件的方法: 生成详细的MAP原创 2013-07-11 10:52:42 · 2641 阅读 · 0 评论 -
delphi 的一个导出excel的方法的类
导出方法Buttonprocedure TFrm_ClientGameRecord.Act_ExportExecute(Sender: TObject);var ToExcel:TTOExecel;begin ToExcel:=TTOExecel.Create(GetTreeTopNode(Tree_Time.Selected).Text+'_交易记录.xls'); try转载 2013-01-02 09:34:25 · 905 阅读 · 0 评论 -
delphi 快速设置taborder的方法。
在程序设计的时候,需要设置taborder属性的时候,如果一个一个设置比较慢。有一种快捷的方式。把需要设置taborder 属性的组建按照倒序排列好。按照倒序把每一个组件的taborder属性设置为0.如图所示 设置顺序为:1 设置button6的taborder 为02 设置button5的taborder 为03 设置button4的taborder 为04 设置button3的原创 2012-12-17 10:50:12 · 5292 阅读 · 0 评论 -
在StringList中增加类对象!
unit fParameter;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ComCtrls, StdCtrls, Grids, DBGrids, TypInfo, Buttons, IniFiles,;t原创 2012-11-15 14:13:23 · 1187 阅读 · 0 评论 -
用枚举方法 在case 语句中使用字符
首先引用TypInfo单元type TCommandEnum = (_AA, _BB, _CC, _DD, _EE, _FF, _GG, _HH);procedure TCommandProcess.ProcessCmd(chn: Byte; cmd, s: string);var CMDEnum:TcommandEnum ;begin CMDEnum :=TComman原创 2012-02-27 17:19:19 · 492 阅读 · 0 评论 -
解决“RichEdit line insertion error”错误
非Unicode版本的Delphi,比如Delphi2007及以下,向TRichEdit内加入诸如“·”、“α”等字符时,会出现“RichEdit line insertion error”错误。网上有人说使用Try语句跳过,有人提出源码级更深层次的解决办法:http://topic.youkuaiyun.com/t/20050120/15/3741061.html。我先采用的Try的方法,后原创 2012-11-27 10:48:58 · 11408 阅读 · 1 评论 -
怎么样使用delphi 中的statusbar控件改变文字颜色
首先:确定Panels 的 Sytle 是否为:psOwnerDraw 其次:在statusbar控件单击 ondrawpanel事件写如下代码StatusBar.Canvas.Font.Color:=clGreen; 改成自己所要的颜色StatusBar.Canvas.TextRect(Rect, Rect.Left, Rect.Top, Panel.Text);原创 2012-10-17 15:23:57 · 4483 阅读 · 0 评论 -
DBGrid 根据表格中数据长度自动调整表格宽度
在“自动设置表格宽度”文本框中获取每个字段实际使用的最大字节数,然后设置DBGrid表格列的Field.DisplayWidth属性来根据实际字段长度自动调整表格宽度,主要代码如下:procedure TFrmOrderBy.BtnOrderClick(Sender: TObject);var i: integer; fieldname: string;begin with转载 2012-09-19 17:18:05 · 4446 阅读 · 0 评论 -
delphi中遍历枚举类型的方法
刚好碰到 ,顺便试了下,有需要的朋友可以看看。 uses TypInfo; type TOrderType = (otFN,otGR,otSZ);var pi:PTypeInfo; i:Integer; ot:TOrderType; s:String;begin pi:= TypeInfo(TOrderType); with GetTypeData转载 2012-09-21 14:37:32 · 3146 阅读 · 1 评论 -
Delphi 遍历类中的属性
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,TypInfo;type TForm1 = class(TForm) Button2: TButton; procedure原创 2012-09-21 16:45:35 · 5571 阅读 · 1 评论 -
delphi 查找指定目录,指定扩展名的所有文件名
function GetDirFileName(Dir,ExtName: string): TStringList;var FSearchRec: TSearchRec; FileList: TStringList; FindResult: Integer;begin if Dir[length(Dir)] <> '\' then Dir := Dir + '\';原创 2012-10-09 10:07:45 · 5173 阅读 · 0 评论 -
Delphi 支持通配符删除文件!
procedure DeleteFileEx(FileName:string);var FileDir:string; FileStruct:TSHFileOpStruct;begin FileDir := FileName;// 'C:\temp\abc*.txt'; FileStruct.Wnd :=0; FileStruct原创 2012-09-10 14:12:49 · 2450 阅读 · 1 评论 -
Delphi开发WebService给ASP.NET调用
申明:1、本文档分3个项目组,分别为:用Delphi编写WebService在IIS下安排WebService在ASP.NET中调用webservice2、开辟景象为Windows XP SP2、Delphi 7.0、IIS 5.1、VS 2008(C#) 一、用Delphi编写WebService第1转载 2013-01-07 11:32:05 · 983 阅读 · 0 评论 -
Delphi 7下Spcomm控件使用13H,11H不能接收问题
在使用Spcomm控件做串口通讯,发现13H,11H的数据无法接受。原因是:Spcomm控件支持软件流控制,只要禁用软件流的支持即可。Inx_XonXoffFlow:=False;Outx_XonXoffFlow:=False;TxContinueOnXoff:=False;原创 2012-05-11 15:11:08 · 1776 阅读 · 1 评论 -
delphi 结束外部程序
uses Tlhelp32function KillTask(ExeFileName: string): integer;const PROCESS_TERMINATE = $0001;var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32;begin原创 2013-06-14 11:49:34 · 803 阅读 · 0 评论 -
Delphi XE4 减少程序体积!
默认Delphi XE4 编译出来的程序体积很大。一般用两个方法可以很大程度上减少程序体积。一、在工程中用编译指令禁用RTTI禁用的方法很简单,就是要在工程 的Uses语句前添加下面的定义就可以了:{ Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) }{$IF Com原创 2013-05-13 14:40:55 · 3206 阅读 · 0 评论 -
Delphi 删除文件目录!
删除目录下子目录以及子目录下的文件需要 uses ShellAPIFunction DelTree(DirName : string): Boolean;varSHFileOpStruct : TSHFileOpStruct;DirBuf : array [0..255] of char;begintry Fillchar(SHFileOpStruct,Siz原创 2013-04-18 15:57:26 · 818 阅读 · 0 评论 -
用的好好的Delphi非法关机后,出现需要注册信息(Register Delphi)
用的好好的Delphi非法关机后,重启后弹出这个窗口:Borland license information was found, but it is not valid for Delphi.You can not run Delphi without this information.Click the 'Exit' button to exit Delphi.百度后:原因:原创 2013-04-17 10:41:50 · 1406 阅读 · 0 评论 -
Delphi 设置或者取消应用程序自动启动功能
1、// 调用此函数查找注册表中是否有指定的值,真:自动启动; 假:未自动启动 function TfrmMain.GetAutoRunValue: Boolean;var Reg: TRegistry;begin Reg := TRegistry.Create; //创建一个新键 try Reg.RootKey := HKEY_LOCAL_MACHINE; //将根键设转载 2013-03-25 11:14:32 · 956 阅读 · 0 评论 -
delphi实现FTP上传与下载
Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,转载 2013-03-25 16:41:06 · 2626 阅读 · 0 评论 -
delphi 实现数据库读取图片文件。
procedure TForm1.Button1Click(Sender: TObject); // 插入图片过程var Stream:TMemoryStream; Img: TImage;begin try Img := TImage.Create(nil); Stream := TMemoryStream.Create; // 创建内存流 Img.Picture.LoadFrom原创 2013-03-20 11:25:48 · 1554 阅读 · 0 评论 -
EOutOfResources字符异常
近日,用Delphi编程时,遇到一个莫名其妙的异常:EOutOfResources,这是一个可以重复再现的异常。开始以为是程序中创建的对象太多,导致占用了过多的资源,引起了这个异常。于是在代码中将许多不必要创建的对象统统删减,对代码进行了彻底的大瘦身,谁知竟然毫无效果!此时才注意到提示中有一句:“EOutOfResources with message 'RichEdit line insert转载 2013-03-18 15:12:32 · 2342 阅读 · 0 评论 -
实现 托动PageControl上的标签页
procedure TMainForm.PageControl1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ;begin PageControl1.BeginDrag(False) ;end;procedure TMainForm.PageControl1原创 2013-03-15 15:00:46 · 955 阅读 · 0 评论 -
Delphi中獲取GUID的函數
function GetGUID: string;var Guid: TGUID;begin CreateGUID(Guid); Result := GUIDToString(Guid);end; 最近在寫程序中需要分析文本文件,文件中的結果需要保存到數據庫,文件內容分兩個部分:一部分基本信息,一部分是詳細信息 。基本信息可以作為一條記錄保存,但是詳細信息是多條,如何將兩者原创 2013-03-12 16:31:05 · 3634 阅读 · 0 评论 -
TOpenDialog打开和取消按钮的选择
TOpenDialog //打开文件对话框if OpenDialog.Execute then //表示调用 打开文件对话框 begin //表示用户选择了打开文件 end else exit;//表示用户选择了取消文件原创 2013-03-11 15:45:24 · 1523 阅读 · 0 评论 -
获取本地计算机上的com口列表。
procedure EnumComPorts(Ports: TStrings);var KeyHandle: HKEY; ErrCode, Index: Integer; ValueName, Data: string; ValueLen, DataLen, ValueType: DWORD; TmpPorts: TStringList;begin ErrCode :=原创 2013-02-27 14:22:32 · 3081 阅读 · 0 评论 -
Delphi 7 中DBGrid的排序。
procedure TfrmTraceReport.DBGrid1TitleClick(Column: TColumn);var SortField, FieldTitle: string;begin SortField := Column.Field.FieldName; FieldTitle := Column.Title.Caption; ShowMessage(Sor原创 2012-09-07 12:25:02 · 2871 阅读 · 0 评论 -
delphi 创建GUID
uses activex;procedure TForm1.Button1Click(Sender: TObject);varID:TGUID;s:string;begin if CoCreateGuid(ID)=s_OK then begin showmessage(GUIDToString(ID)); end;原创 2012-08-24 16:41:06 · 3820 阅读 · 0 评论 -
检查输入的邮件地址是否合法
unit UMailAddressCheck;interfaceuses Windows, Classes, Registry, SysUtils, StrUtils, Dialogs, Forms;function IsVaildAllEmailAddr(EmailAddr: string): boolean;implementationfunction DelimitByS原创 2012-08-01 12:05:38 · 1137 阅读 · 0 评论 -
DBGrid间隔行颜色
procedure TFrmQueryData.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);var FindFieldCol: integer;begin if DBGrid1.DataSou原创 2012-06-05 15:38:07 · 1231 阅读 · 0 评论 -
获取网卡、硬盘、CPU硬件信息 的类
//---------------------------------------------------------------------------// HardwareInfo.pas Modified: 15-Jun-2006// 获取网卡、硬盘、CPU硬件信息// Copyright (c) 2006 - 20转载 2012-05-16 16:47:39 · 1357 阅读 · 0 评论 -
VirtualBox增大硬盘容量(guest为Linux)
如果virtualbox中的guest系统出现磁盘空间不足的情况,最方便的方法就是将已有硬盘变大。网上能找到不少guest为windows时的扩大硬盘容量的方法,但在guest为linux时又略有不同。其实方法不止一种,下面以virtualbox自带的调整工具为例进行说明。 第一步: 如guest系统的vdi为debian_work.vdi,原大小为10G,现在想要扩大到20G,则转载 2012-05-28 17:27:22 · 1974 阅读 · 0 评论 -
截获键盘事件(截获F8功能健)
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Qt;type TForm1 = class(TForm) Button1: TButton; procedure For原创 2012-04-20 17:10:14 · 1494 阅读 · 0 评论 -
WinAPI: sndPlaySound - 播放 wav 文件
WinAPI: sndPlaySound - 播放 wav 文件//声明:sndPlaySound( lpszSoundName: PChar; {声音文件} uFlags: UINT{播放选项}): BOOL;//uFlags 参数可选值:SND_SYNC = 0; {同步播放, 程序须等到播放完毕才向下执行}SND_ASYNC = 1; {异步播放,转载 2012-04-20 11:55:43 · 927 阅读 · 0 评论 -
Delphi中实现设置TEdit透明背景图片效果 本文来自Delphi之窗
private { Private declarations } FBitmap: TBitmap; FBrush: HBRUSH;protected procedure WndProc(var Message: TMessage); override; procedure TForm1.FormCreate(Sender: TObject);begin FBitmap := TBit转载 2012-04-19 09:30:39 · 4501 阅读 · 0 评论 -
delphi 实现简单工厂模式
计算器的功能实现实现工厂设计模式通过面向对象的思想,进行设计,所用的编程思想为对象的三大特性:封装,继承,多态通过实现一个简单的 计算器的功能(输入两个数,进行加,减,乘,除)思想思路:1.设计虚拟父类;2.子类继承父类3. 通过虚拟方法,进行进行重载4.工厂类,实例化对象,采用多态}unit uOperation;interfaceuses Classes, i转载 2012-03-21 08:47:56 · 1058 阅读 · 0 评论 -
创建窗体!
type TFrm = class(TForm) end;用户点击MainMenu1的事件procedure TFrmMain.mniDataQueryClick(Sender: TObject);var frm: TFrm;begin frm := TFrm(FrmQueryData); OpenForm(pgcForm, TFrmQueryData, frm);原创 2012-03-17 09:51:20 · 546 阅读 · 0 评论 -
动态创建popupmenu
定义:mmiTemp: array[1..8] of TMenuItem; 创建popupmenu procedu原创 2012-03-16 14:18:40 · 2810 阅读 · 0 评论 -
接受sendmessage(application.handle..)的消息?
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, sockets; const wm_mymessage = wm_user转载 2012-03-02 18:04:11 · 1147 阅读 · 0 评论 -
Delphi 事件触发!
事件通知!1.先写一个事件触发类。unit UNotifyProcess;interfaceuses Windows, Registry, SysUtils, StrUtils, winsock, Classes, Contnrs, Dialogs;const Restart_Stocket = 0; Allow_Work = 1; Forbid_Work = 2;typ原创 2012-03-07 14:35:42 · 2663 阅读 · 0 评论