Delphi
hiyaolee
这个作者很懒,什么都没留下…
展开
-
Delphi相關問題
1.存儲過程動態調用 sp_Exec.Parameters.Clear; sp_Exec.ProcedureName := sp_TransTo; sp_Exec.Parameters.CreateParameter(@mailId, ftString, pdInput, 50, MailId); sp_Exec.Parameters.CreateParameter原创 2004-10-06 17:22:00 · 982 阅读 · 0 评论 -
Delphi的一个基础构架模式
基础构架主窗体为MDIFORM窗体显示方式procedure TFmMain.mmCascadeClick(Sender: TObject); //层叠显示窗体begin Cascade;end;procedure TFmMain.mmArrangeIconsClick(Sender: TObject);//排列窗体begin ArrangeIcons;end;procedure TFmMai原创 2005-10-20 08:08:00 · 1168 阅读 · 0 评论 -
自定义Tabset实现DBClick
unit CustTabSet;interfaceuses Windows, Messages, SysUtils, Classes, Controls, Tabs;type TCustTabSet = class(TTabSet) private FOnDblClick: TNotifyEvent; procedure WMLBUTTONDBLCLK(var Message:原创 2005-10-15 10:28:00 · 1000 阅读 · 0 评论 -
启动后最小化
procedure TMain.FormShow(Sender: TObject);begin PostMessage(handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);end;原创 2005-10-26 17:30:00 · 1032 阅读 · 0 评论 -
Bpl包技术
在包中可以有很多窗体及很多函数,但要所有可以给外部调用的进行Exports。exports doShowForm;function doShowForm;begin Fmwindow:=TForm.Create(Application); Fmwindow.Show;end;注意:如果某个PAS在很多BPL和主程序都共用的,则可以把它包成一个BPL文件,这样使用才不会出现已经另一个包原创 2005-10-20 08:22:00 · 1062 阅读 · 0 评论 -
Load DLL's MdiChildForm and base frame
//***主程序和DLL都带包编译, build with runtime packages。//vcl.bpl and so on..**************************** MDIMainForm ************************************///////////////////////////////////////////////////原创 2005-12-05 15:35:00 · 1061 阅读 · 0 评论 -
Draw picture on form
procedure TMainForm.FormPaint(Sender: TObject);var CustRect: TRect; BmpFile: TBitmap; StrFile: string;begin if FileExists(ExtractFilePath(Application.ExeName) + Picture.bmp) then begin StrFi原创 2005-12-09 17:09:00 · 1019 阅读 · 0 评论 -
Dynamic Menu demo
//Dynamic Menu demoprocedure DrawMenu(MainMenu: TMainMenu); procedure DrawSubMenu(PItem: TMenuItem; iID: Integer); var SqlStr: string; Item: TMenuItem; adoMenu: TADOQuery; begin adoMenu原创 2005-12-08 20:06:00 · 1028 阅读 · 0 评论 -
KillTask
program KillTask;uses SysUtils, Messages, Classes, ShellApi, Forms, Windows, TLHelp32, rwIni;{$R CustKillTask.RES}{$R *.res}//brc32 CustKillTask.RC//TsKill kl_TsKill D:/SoftWare/KillTask/TsKi原创 2005-12-30 18:20:00 · 2244 阅读 · 0 评论 -
EDCode
unit EDCode;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;function MimeEncodeString (const s: AnsiString): AnsiString;function Mime转载 2006-03-10 10:11:00 · 1534 阅读 · 0 评论 -
提升進程令牌殺死進程
procedure FoundExeRun(ExeFileName: string); //提升進程令牌函數 function AdjustProcessPrivilege(ProcessHandle: THandle; Token_Name: Pchar): boolean; var Token: Cardinal; TokenPri: _TOKEN_PRIVILEGES;转载 2006-03-28 10:08:00 · 1311 阅读 · 0 评论 -
等待一個程序執行完畢
function ExecAppWait(AppName, Params: string): Boolean;var ShellExInfo: TShellExecuteInfo;begin FillChar(ShellExInfo, SizeOf(ShellExInfo), 0); with ShellExInfo do begin cbSize := SizeOf(ShellEx转载 2006-03-28 10:08:00 · 1438 阅读 · 0 评论 -
多線程同步(互斥)
//iMutex:THandle;//if iMutex = 0 then iMutex := CreateMutex(nil, True, B451-3129B0A7689C);procedure ThdDemoRun.Execute;begin if WaitForSingleObject(iMutex, 0) begin Synchronize(...); Rele转载 2006-04-01 09:30:00 · 1210 阅读 · 0 评论 -
文件簡單的加解密
procedure LockAndUnLock(FileID: string; InStrPwd: string);var iFileHandle: Integer; iFileLength: Integer; iBytesRead: Integer; Buffer: PChar; iReadID, CodeID: Integer; iPosPwd: Integer; StrPwd:原创 2006-03-02 10:44:00 · 1348 阅读 · 0 评论 -
将NT服务列表出来并停止某服务
unit ServiceManager; interface uses SysUtils, Windows, WinSvc; type TServiceManager = class private { Private declarations } ServiceControlManager: SC_Handle; Servi转载 2006-04-12 09:41:00 · 1308 阅读 · 0 评论 -
监视资源管理器的文件变化
unit Unit2;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, shlobj, activex, StdCtrls, FileCtrl,strUtils;constshcne_renameitem = $1;shcne_create = $2;shc转载 2006-04-12 09:36:00 · 1131 阅读 · 0 评论 -
防止调用中的屏幕抖动
LockWindowUpdate(GetDesktopWindow); ShowWindow((AModule.Form as TForm).Handle, SW_RESTORE); ShowWindow((AModule.Form as TForm).Handle, SW_SHOWMAXIMIZED); LockWindowUpdate(0);原创 2005-10-19 14:52:00 · 1086 阅读 · 0 评论 -
打印相关技术
用内嵌汇编调用中断INT 17H,读取打印机的状态字节加以分析,即可得到其当前状态.例:输入参数:如果有3个打印端口LPT1、LPT2、LPT3,那么输入参数LPTPort就是1、2、3。function TestPrinterStatus(LPTPort : word):byte;var status : byte; CheckLPT : word;begin status := 0原创 2005-10-04 13:54:00 · 1437 阅读 · 0 评论 -
程序只有一个实例运行
var Mutex: THandle;begin Mutex := CreateMutex(nil, True, E3FC3353-9B11-40B5-B6AA-0A670EC0A6A2); if GetLastError begin Application.Initialize; Application.Title := E&YOU配置管理; Applicatio原创 2005-10-05 13:46:00 · 922 阅读 · 0 评论 -
Delphi 控制Excel
1 创建Excel文件 要在Delphi中控制Excel,就必须用到OLE自动化。现在一般采用OLE2来创建OLE对象,当激活一个OLE对象时,服务器程序仅在容器程序内部激活,这就是所谓的“就地激活”(in-place activation)。 创建Excel文件时,先创建一个OLE对象,然后在对象中建立工作表worksheet,如函数createExcel所示: function cr原创 2004-11-16 09:26:00 · 3441 阅读 · 0 评论 -
數據集轉置
ColumnStr := TStringList.Create; ParallColumnStr := TStringList.Create; ColumnStr.Add(FSize); //把Size進行旋轉,其對應的值為Qty ParallColumnStr.Add(FQty); dtWhirlData := WhirlDataSet(dtQuery, Col原创 2005-01-12 13:01:00 · 1205 阅读 · 0 评论 -
Delphi 函数参考
Delphi字符串函数大全uses StrUtils;【字符串函数大全】 首部 function AnsiResemblesText(const AText, AOther: string): Boolean; $[StrUtils.pas 功能 返回两个字符串是否相似 说明 ANSI(American National Standards原创 2005-01-27 10:13:00 · 1007 阅读 · 0 评论 -
枚舉並設置界面的Caption之多語言方法
uses ..., TypInfo;procedure TForm1.FormCreate(Sender: TObject);var i: Integer; aComponent: TComponent; PropInfo: PPropInfo; ViewText, ViewHint: string;begin ViewText := Hello world; // for deb原创 2005-02-01 08:55:00 · 906 阅读 · 0 评论 -
Delphi消息
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的:type原创 2005-02-03 12:55:00 · 1003 阅读 · 0 评论 -
DBGrid 单击弹出PickList
type myGrid = class(TCustomGrid) end;type myInplaceEditList = class(TInplaceEditList) end; procedure TDemoForm.gdDemoGridCellClick(Column: TColumn);begin Column.Field.FocusControl;原创 2005-02-24 18:50:00 · 1533 阅读 · 0 评论 -
Dbgrid 当前行颜色
type TMyDBGrid = class(TDBGrid);procedure DemoDrawColumnCell( Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin with TMyDBGrid(Sender) do begin原创 2005-03-18 17:40:00 · 1374 阅读 · 0 评论 -
Autoupgrade
{----------------------------------------------------------------------------- Unit Name: AutoUpgrade Author: Martin Purpose:Auto upgrade your system. ChangeDate : 2005/03/09 Describe and License :原创 2005-07-13 13:28:00 · 2003 阅读 · 0 评论 -
Windows常用组合键屏蔽
Ctrl-Alt-DEl 在2k 下屏蔽需要HookAPI,但其他都可以屏蔽,比如Power键也可以;代码如下:unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) But原创 2005-08-12 17:28:00 · 2330 阅读 · 0 评论 -
临时选择目录对话框
uses ShlObj, ActiveX;Function BrowserGetPath:String;var SelectionPIDL: PItemIDList; BrowseInfo: TBrowseInfo; ShellAllocator: IMalloc; PathBuffer: array[0..MAX_PATH] of Char;begin Result := ;原创 2005-08-16 10:18:00 · 875 阅读 · 0 评论 -
Delphi Ctrl+Space生效方法
Delphi 6安装完成后,用update2升级之后,如果ctrl+space无用,则可以在[HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys/]下就00000010或其它的输入法将其"Key Modifiers"改成hex:02,40,00,00即可...如果未打update2升级,可以用如下代码处理://Uint pas unit Co原创 2005-08-05 08:08:00 · 2908 阅读 · 0 评论 -
动态建立Ado连接串
Uses AdoDb;var ConnStr:String;Begin ConnStr := PromptDataSource(Handle, ConnStr );end;原创 2005-08-16 13:47:00 · 776 阅读 · 0 评论 -
TEdit只能输入数据
EdPayKeyPress(Sender: TObject; var Key: Char);begin if ord(Key) in [46, 48..57] then begin if ord(Key) = 46 then begin if EdPay.Text = then begin Key := #0; end else原创 2005-08-23 14:44:00 · 878 阅读 · 0 评论 -
自定义安装程序
操作注册表,如下:1.在HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall键下建立一个主键,名称任意。例HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/MyUninstall2.在HKEY_LOCAL_MACHINE原创 2005-04-29 14:43:00 · 1689 阅读 · 0 评论 -
可视元件拖动
MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);const SC_DragMove = $F012;begin ReleaseCapture; Perform(WM_SysCommand, SC_DragMove, 0); //可以是其它元件:BtnExit.Perf原创 2005-09-27 09:28:00 · 832 阅读 · 0 评论 -
Delphi控件篇
www.tRichView.com (Richview)原创 2007-01-07 21:23:00 · 1272 阅读 · 0 评论