2008年9月7日
摘要: delphi操作word一、Delphi程序启动Word采用CreateOleObjects的方法来启动Word,调用VBA代码,具体实现过程为:首先使用GetActiveOleObject('Word.Application')判断当前内存中是否存在Word程序,如果存在,则直接连接,如果没有Word程序,则使用CreateOleObject('Word.Application')启动Word二、Delphi程序新建Word文稿格式:WordDocuments.Add(Template,NewTemplate,DocumentType,Visible)Template: 使用模板的名称,Ne 阅读全文
posted @ 2008-09-07 12:41 漂流侠 阅读(1032) 评论(0) 推荐(0) 编辑
摘要: procedure EnumComPorts(Ports: TStrings);var KeyHandle: HKEY; ErrCode, Index: Integer; ValueName, Data: string; ValueLen, DataLen, ValueType: DWORD; TmpPorts: TStringList;begin ErrCode := RegOpenKeyEx( HKEY_LOCAL_MACHINE, 'HARDWARE\DEVICEMAP\SERIALCOMM', 0, KEY_READ, KeyHandle); if ErrCode ERROR_S 阅读全文
posted @ 2008-09-07 12:38 漂流侠 阅读(220) 评论(0) 推荐(0) 编辑
摘要: //动态创建四级菜单var MainMenu:TMainMenu; SubMenu,SubMenu2,submenu3,submenu4:TMenuItem; MainMenu:=TMainMenu.Create(self); MainMenu.AutoHotkeys:=maManual; SubMenu:=TMenuItem.Create(self); SubMenu.Caption:='一级菜单'; MainMenu.Items.Add(SubMenu); SubMenu2:=TMenuItem.Create(self); SubMenu2.Caption:='二级菜单'; SubMe 阅读全文
posted @ 2008-09-07 12:36 漂流侠 阅读(302) 评论(0) 推荐(0) 编辑
摘要: {*******************************************************}{ }{进制转换 }{ }{ cxg 2008-08-23 08:52:16 }{ }{*******************************************************}unit uStrUnit;interfaceuses SysUtils, StrUtils, Windows, Classes, WinSock, Forms, Controls, Dialogs;const cHexBinStrings: array[0..15] of strin 阅读全文
posted @ 2008-09-07 12:30 漂流侠 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 获取当前系统版本号 阅读全文
posted @ 2008-09-07 12:27 漂流侠 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 防止程序重复执行的单元 阅读全文
posted @ 2008-09-07 12:26 漂流侠 阅读(198) 评论(0) 推荐(0) 编辑
摘要: {*******************************************************}{ }{ 操作TreeView }{ }{ 版权所有 (C) 2008 咏南工作室 }{ }{*******************************************************}//==============================================================================// 本单元实现了TreeView与数据的关联,各方法形参如下://// AId:为自增字段,用于标识节点的编号。// 阅读全文
posted @ 2008-09-07 12:23 漂流侠 阅读(375) 评论(0) 推荐(0) 编辑
摘要: //Delphi服务程序注册与卸载uses winsvc;function InstallService(ServiceName, DisplayName, FileName: string): boolean;varSCManager,Service: THandle;Args: pchar;beginResult := False;SCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);if SCManager = 0 then Exit;try Service := CreateService(SCManager, //句柄 阅读全文
posted @ 2008-09-07 11:42 漂流侠 阅读(738) 评论(0) 推荐(0) 编辑
摘要: uses TypInfoprocedure SetImeA(AOwner:TForm);var i:Integer;begin for i := 0 to AOwner.ComponentCount - 1 do begin if GetPropInfo(AOwner.Components[i],'ImeName')nil then begin SetPropValue(AOwner.Components[i],'ImeName', readinifile(getinifile,'ime','imename','')); end; end; end; 阅读全文
posted @ 2008-09-07 11:41 漂流侠 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 1.加权移动平均核算成本单价=(不含税库存金额+不含税入库金额)/(库存数量+入库数量)2.先进先出按进货时的单价及数量记录序列,以日期升序提取进价作为销售出库成本单价,核算出库成本金额。3.后进先出按进货时的单价及数量记录序列,以日期降序提取进价作为销售出库成本单价,核算出库成本金额。 4.高进先出按进货时的单价及数量记录序列,以单价降序提取进价作为销售出库成本单价,核算出库成本金额。 5.低进先出按进货时的单价及数量记录序列,以单价升序提取进价作为销售出库成本单价,核算出库成本金额。6.最高进价在进货时比较刷新最高进价记录,以此进价作为销售出库成本单价,核算出库成本金额。7.最低进价在进货 阅读全文
posted @ 2008-09-07 11:30 漂流侠 阅读(2570) 评论(0) 推荐(0) 编辑
摘要: uses Windows, Messages, SysUtils, Classes, Graphics, JPEG;function BmpToJpeg(Sou:TFileName;Des:TFileName):Boolean; //bmp转换成jpgfunction BmpToEmf(Sou:TFileName;Des:TFileName):Boolean; //bmp转换成emffunction BmpToWmf(Sou:TFileName;Des:TFileName):Boolean; //bmp转换成wmffunction BmpToIcon(Sou:TFileName;Des:Til 阅读全文
posted @ 2008-09-07 11:23 漂流侠 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 首先,在主窗体中声明以下private过程:procedure TMainForm.DoEnterAsTab(var Msg: TMsg; var Handled: Boolean);beginif Msg.Message = WM_KEYDOWN thenbeginif Msg.wParam = VK_RETURN thenKeybd_event(VK_TAB, 0, 0, 0);end; //ifend;在主窗体的OnCreate事件中加入:Application.OnMessage := DoEnterAsTab; 阅读全文
posted @ 2008-09-07 11:22 漂流侠 阅读(193) 评论(0) 推荐(0) 编辑
摘要: ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。  有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。下面举例说明它的用法。开始一个新的应用程序   ShellExecute(Handle, 'open', PChar('c:\test\app.exe'), nil, nil, SW_SHOW);打开记事本,并打开一个文件(系统能识别记事本应用程序的路径,因此我们不必使用绝对路径)   ShellExecute(Handle, 'open' 阅读全文
posted @ 2008-09-07 11:20 漂流侠 阅读(216) 评论(0) 推荐(0) 编辑
摘要: (一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObject( 'Excel.Application' );1) 显示当前窗口:ExcelApp.Visible := True;2) 更改 Excel 标题栏:ExcelApp.Caption := '应用程序调用 Microsoft Excel';3) 添加新工作簿:ExcelApp.WorkBooks.Add;4) 打开已存在的工作簿:ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );5) 阅读全文
posted @ 2008-09-07 11:19 漂流侠 阅读(230) 评论(0) 推荐(0) 编辑
摘要: {在Delphi中,一个控件上能否成为其它控件的父控件取决于此控件的ControlStyle属性。ControlStyle属性是集合类型的,如果此集合包含csAcceptsControls元素,则它能接受其它控件;否则,它就不能成为其它控件的父控件。ControlStyle属性只能在控件的构造函数(Constructor)中指定,在程序运行时它是不能被改变的。所以如果希望窗口状态条上面能包含其它控件,我们只需要在继承类中重载TStatusBar控件的Constructor函数,并且让控件的集合属性ControlStyle中包含csAcceptsControls即可。 }unit StatusB 阅读全文
posted @ 2008-09-07 11:15 漂流侠 阅读(199) 评论(0) 推荐(0) 编辑
摘要: //与数据库结构有关的一些函数//1、动态改变字段名称uses ComObj;//Access//TableName: 表名; OldColName: 原字段名; NewColName: 新字段名;procedure RenameField(const TableName, OldColName, NewColName: string);var DB, Col: OleVariant;begin DB := CreateOleObject('ADOX.Catalog'); DB.ActiveConnection := ADOConnection1.ConnectionObject; Col : 阅读全文
posted @ 2008-09-07 10:56 漂流侠 阅读(354) 评论(0) 推荐(0) 编辑
摘要: {*******************************************************}{ }{ 定时关闭各种对话框 }{ }{ 版权所有 (C) 2007 咏南工作室(陈新光) }{ }{*******************************************************}unit uTimerDlg;interfaceuses Windows, Messages, SysUtils, Classes, Forms, ExtCtrls;// 如果指定的时间没有操作对话框,则自动关闭procedure ResetDlgAutoClose;pr 阅读全文
posted @ 2008-09-07 10:52 漂流侠 阅读(262) 评论(0) 推荐(0) 编辑
摘要: {*******************************************************}{ }{ 通用打印模块 } { }{ 版权所有 (C) 2008 咏南工作室(陈新光) }{ }{*******************************************************}unit uPrint;interfaceuses DBGridEh,PrnDbgeh,SysUtils,Graphics,Forms,Printers,windows;procedure Prnt(AGrid:TDBGridEh;AOwner:Tform;APageHead 阅读全文
posted @ 2008-09-07 10:50 漂流侠 阅读(537) 评论(0) 推荐(0) 编辑
摘要: {*******************************************************}{ }{ 导出Tdbgrideh数据 }{ }{ 版权所有 (C) 2007 咏南工作室 }{ }{*******************************************************}unit uExport;interfaceuses DBGridEhImpExp, DBGridEh, SysUtils, Dialogs, ComObj, ActiveX, Variants, db, FormWait;procedure ExpDbgridEh(gri 阅读全文
posted @ 2008-09-07 10:45 漂流侠 阅读(440) 评论(0) 推荐(0) 编辑
摘要: {*******************************************************}{ }{ DES加解密算法 }{ }{ 版权所有 (C) 2008 咏南工作室(陈新光) }{ }{*******************************************************}unit DESCrypt;interfaceuses SysUtils;function EnCrypt(aStr: string; acKey: string): string;function DeCrypt(aStr: string; acKey: string): 阅读全文
posted @ 2008-09-07 10:44 漂流侠 阅读(176) 评论(0) 推荐(0) 编辑