程序Delphi
文章平均质量分 82
苍穹帝
这个作者很懒,什么都没留下…
展开
-
Delphi 调用Oracle中包(package)中的过程
一、利用AdoQuery1procedure TForm1.Button4Click(Sender: TObject);begin AdoQuery1.Close ; AdoQuery1.Parameters.Clear ; AdoQuery1.SQL.Clear ; AdoQuery1.SQL.Add('{call PKG_JCCTEST1.GetSu原创 2020-03-11 11:34:49 · 280 阅读 · 0 评论 -
delphi bpl插件系统开发(转)
半路出家的delphier一如我,对于win32api式的调用有着近乎厌恶的抵触情绪,我很早以前看c++的教程时看到lptrXXXXX的变量就头大,以至于到现在都不会用c++,都不曾写成功过那怕一个helloworld程序,所以对于dll式的导出函数后面加stdcall使用右到左的参数调用方式,总觉得没有delphi的美感.再加上看到了许多bpl可以导出类,而dll很麻烦的文章,更是坚定了我的方向转载 2016-04-12 14:39:53 · 2562 阅读 · 0 评论 -
Delphi SendMessage PostMessage 原理和区别
今天用实例解释一下SendMessage PostMessage 原理和区别:向按钮(Button)发送单击:SendMessage: SendMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0); SendMessage(Button1.Handle, WM_LBUTTONUP, 0, 0);PostMessage:原创 2015-08-26 11:07:51 · 10716 阅读 · 0 评论 -
Delphi操作XML
Delphi操作XMLDelphi操作XMl,只要使用 NativeXml。我是用的版本是4.02。NativeXML的使用方法比较简单,但是功能很强大。XE2的话,要在simdesign.inc后面加上: // Delphi XE2 / 16 {$ifdef VER230} {$define D7UP}转载 2015-02-28 17:08:25 · 3265 阅读 · 0 评论 -
Delphi 鼠标移动
procedure TForm1.Button1Click(Sender: TObject);var oldPoint, newPoint: TPOINT;begin GetCursorPos(oldPoint); //保存当前鼠标位置。 newPoint.x := oldPoint.x + 400; newPoint.y := oldPoint.y + 100;原创 2015-01-04 17:30:23 · 2778 阅读 · 0 评论 -
EhLib安装问题(dbsumlst.dcu出错)
如果你在安装 EhLib 4.1.4等版本过程中出现下面的错误提示,可以按照解决方法来安装: 1. 把 EhLib 中的 common 和 DataService 文件拷贝到 Delphi7 目录中.2.在 TOOLS->Environment Options->Library->Library Path 中添入EHLIB路径。3.打开新建文件夹中的 EHLIB70.DPK ,转载 2014-12-24 17:14:31 · 1907 阅读 · 0 评论 -
Delphi DBGridEH中,选中行、列、单元格
// 新增行后,默认首列procedure TForm1.ADOQuery1AfterInsert(DataSet: TDataSet);begin with DBGridEh1 do begin SelectedIndex := 0; end;end;// 行选中DBGridEh_Yingfu_SearchQK.SelectedRows.S原创 2014-12-24 10:21:58 · 15047 阅读 · 0 评论 -
Delphi读写UTF-8、Unicode格式文本文件
// UTF-8文件写入函数procedure SaveUTFFile(const FileName: string; S: string; WriteHeader: Boolean = True);var MemStream: TMemoryStream; HeaderStr: String;begin if S = '' then Exit; MemStr转载 2014-06-04 10:59:19 · 1042 阅读 · 0 评论 -
Delphi 的 Utf-8 转换
新版的 Delphi 應該不用這麼麻煩, 據說只要直接在 AnsiString, WideString, UTF8String 之間 assign 時就會自動幫你做轉換 (沒用過, 不知道是不是真的這樣就可以).不過... 還在用 Delphi 3/5, 所以... 只好自己來轉:unit util_utf8;interfaceuses Windows;type转载 2014-06-04 11:00:11 · 5727 阅读 · 0 评论 -
Delphi接口的底层实现
Delphi接口的底层实现引言 接口是面向对象程序语言中一个很重要的元素,它被描述为一组服务的集合,对于客户端来说,我们关心的只是提供的服务,而不必关心服务是如何实现的;对于服务端的类来说,如果它想实现某种服务,实现与该服务相关的接口即可,它也不必与使用服务的客户端进行过多的交互。这种良好的设计方式已经受到很广泛的应用。 早在Delphi3的时候就引入了接口的概念,当时完转载 2014-04-26 15:45:21 · 756 阅读 · 0 评论 -
Delphi 窗口半透明
Delphi 窗口半透明原创 2014-05-16 11:46:33 · 2572 阅读 · 0 评论 -
Delphi 打印 TPrinter
打印 打印对于许多 Windows 程序员来说是十分棘手的问题。 Delphi 简化了打印时用户所必须了解的大部分内容。用户可以很轻松地写出简单的打印程序来输出文本和位图化了的图像。对于更为复杂的打印,仅需了解几个要领和技术,用户就可以实现任何类型的自定义打印。当了解了这些后,打印也就不那么困难了。 Delphi 的TPrinter对象封装了 W转载 2015-09-02 16:02:22 · 1787 阅读 · 1 评论 -
使用Delphi调用条形码控件BarTender打印标签
1. 要实现的条形码功能最近一个项目需要在扫描条码后按固定的格式打印。条形码打印控件客户习惯使用的是BarTender,使用Delphi调用BarTender来完成打印条码标签功能。此功能的重点在于:a) 使用BarTender格式打印b) 格式中有需要变动的部分2. 条形码标签设计a) 新建一个空白标签b转载 2016-03-16 10:39:24 · 6219 阅读 · 0 评论 -
Delphi indy TIdHTTP TIdHTTPServer Post Get
TIdHTTPServer : try IdHTTPServer1.Bindings.Clear; //要绑定的端口,一定设置此项,这是真正要绑定的端口; IdHTTPServer1.DefaultPort:=8099; IdHTTPServer1.Bindings.Add.IP := '127.0.0.1'; //启动服务器原创 2017-11-23 13:42:10 · 4614 阅读 · 0 评论 -
Delphi XE MD5加密
需要要用System.Hash,若不行还得引用IdHashMessageDigest, IdGlobal, IdHash(一般不用)var TMPMD5: string; //需要加密的信息 md5: THashMD5; //加密后的信息TMPMD5 := UpperCase(md5.GetHashString(TMPStr));原创 2017-10-24 17:13:38 · 3448 阅读 · 0 评论 -
Delphi XE10,Json 生成和解析,再利用indyhttp控件Post
Delphi XE10,Json 生成和解析,再利用indyhttp控件Post原创 2017-09-20 18:30:23 · 9938 阅读 · 0 评论 -
Delphi 读写Oracle,中文出现乱码:靠靠
Delphi连接Oracle数据库时,出现中文乱码:靠靠,plsql查询出来的显示正常:with DmMain.ADOStoredProc1 do begin Close; Parameters.Clear; ProcedureName := 'pkg_SynZhongTai.sp_SaleListEnd';原创 2017-09-26 11:08:16 · 2450 阅读 · 0 评论 -
Delphi 用ADO调用oracle的包中的过程,报 列不存在 的错误
ADOConnection连接Oracle数据库时,选择的驱动不正确的原因。不要使用Provider=MSDAORA.1;这样格式的,解决方法:将ADOConnection驱动程序改为Oracle本身提供的驱动程序“Provider=OraOLEDB.Oracle.1”,同时增加属性:“ExtendedProperties="PLSQLRSet=1;”连接字符串如下:原创 2017-09-25 19:14:43 · 502 阅读 · 0 评论 -
Delphi 客户端调用WebService
客户程序:第一步:新建一个Application。第二步:File----->New----->Other------>WebServices----->WSDLimporter然后在Wsdl or Xml Schema Location中填入:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?w原创 2013-09-30 14:02:05 · 12304 阅读 · 1 评论 -
Delphi FastReport 打印条码
新建delphi过程,放入控件ADOQuery1,ADODataSource1,frxReport1,frxDesigner1(用于运行时设计报表),frxDBDataset1,frxBarCodeObject1。ADOQuery1,ADODataSource1连接数据库。frxDBDataset1的DataSource连接ADODataSource1。双击frxReport1进行原创 2017-01-16 14:00:52 · 4615 阅读 · 0 评论 -
Delphi exe + bpl 简述
例:exe+Base.bpl+Function.bpl+A.bplA.bpl要继承Base.bpl,操作步骤:1、在A.bpl中的Requires中加热Base.dcp2、在A.bpl中新建窗口,窗口中引入Base单元,窗口名称改为从TBase继承3、右击窗口,View as Text,将首行object改为inherited这样新建的窗口就可以看的从Base继承了。原创 2016-04-13 15:11:11 · 1335 阅读 · 0 评论 -
Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值
cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号cxGrid1DBTableView1.Controller.FocusedRow 当前行cxGrid1DBTableView1.Controller.FocusedColumn 当前列cxGrid1DBTableView1.Controller.FocusedColumnIndex原创 2014-05-10 18:04:06 · 1795 阅读 · 0 评论 -
Delphi使用Image显示gif动画
delphi中,使用TGifimage这个类可以使Image显示Gif动画// Image1:TImage;// Image1.Picture.LoadFromFile(OpenDialog1.FileName);TGIFImage(Image1.Picture.Graphic).AnimationSpeed := 100;TGIFImage(Image1.Picture.Gr原创 2014-05-15 16:47:36 · 7724 阅读 · 0 评论 -
cxGrid 中使用像DBGridEH中的PickList、KeyList一样,可以根据数据库中的值自动对应显示
在cxGrid,要显示的值和数据库中存的值不一样,就像在DBGridEH中使用PickList、KeyList一样,可以根据数据库中的值自动对应显示。原创 2014-04-25 15:23:32 · 2921 阅读 · 0 评论 -
Webbrowser中模拟连接点击(非鼠标模拟)
Delphi[delphi] view plaincopyuses mshtml, ActiveX; //初始加载网易主页 procedure TForm1.FormCreate(Sender: TObject); begin Webbrowser1.Navigate('http://www.163.com/'); end; procedu转载 2013-05-07 18:19:45 · 842 阅读 · 0 评论 -
用Delphi学设计模式之工厂方法篇
http://www.51mokao.com/Groups/ForumPost.aspx?id=34864----------------------------------------------------------------------------------------------------------------------------------------------转载 2013-04-28 17:16:53 · 973 阅读 · 0 评论 -
Delphi之virtual,dynamic,abstract
对象的方法能定义成静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)。请看下面 的例子: TFoo = class procedure IAmAStatic; procedure IAmAVirtual; virtual; procedure IAmADynamic; dynamic; procedure IAmAMessage转载 2013-04-28 16:54:57 · 831 阅读 · 0 评论 -
DBGridEh的Title(表头)动态赋值
with Dm_Main.ADOQuery_Temp do begin Sql_Open(Format('select distinct wxxm_no,wxxm_mc from sm_tongji_xm where GongSiNo = ''%S'' ', [GongSiNo]), Dm_Main.ADOQuery_Temp); with DBG原创 2012-09-12 09:43:30 · 1697 阅读 · 0 评论 -
Delphi GotoBookmark
TMP_Str_List_no := ''; with DBGridEh_YingSh_SearchYS do begin with DM_Xiao.ADOQuery_xiaoshou_selectyshk do begin Selectrow_Count := SelectedRows.Count; if Selectrow_Count原创 2012-11-19 14:52:58 · 3445 阅读 · 0 评论 -
Delphi 四舍五入、只舍不入、只入不舍
//TMP_FieldName:字段名称;XiaoShuWeiShu:小数位数;Flag_SheRu:舍入标识(0:四舍五入;1只舍不入;2只入不舍)function TFrm_Shuju_PeiJian.Return_XiaoShuSheRu(Peij_no, TMP_FieldName: string; XiaoShuWeiShu, Flag_SheRu: Integer): Dou原创 2012-10-27 13:24:06 · 3584 阅读 · 0 评论 -
delphi 中获取文件大小
delphi 中获取文件大小,大概有这些方法可以获得文件大小 :FileSizeByName(需要引用IdGlobal单元) GetFileSize FileSize(不能获得正在使用的文件大小) FileSeek TFileStream.Size 下面是使用例子 1。FileSizeByName(需要引用IdGlobal单元) begin if OpenD转载 2012-09-24 14:15:52 · 1513 阅读 · 0 评论 -
关于Delphi颜色
1.使用DELPHI内置颜色: 有些颜色是DELPHI内置的,它们很常用,以枚举方式存在.如:clred(红),clblue(蓝).详细参见系统里的graphics.pas文件.2.使用16进制颜色: 在delphi 里面,16进制用"$"表示,其他和普通的html颜色表示相似.如:HTML中蓝色#0000FF,DELPHI中的蓝色$FF0000.大家可能已经看到了原创 2012-09-12 09:20:28 · 2135 阅读 · 0 评论 -
TColor 与 RGB 的互转
先晒个图^_^?unitUnit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdi转载 2012-09-12 09:22:04 · 1449 阅读 · 0 评论 -
Delphi7怎么样调用系统语音库 .
(一)要使用系统的语音库,你需要先安装 Microsoft Speech SDK 5.1 及其语言包,下载地址:Speech SDK 5.1: http://www.newhua.com/soft/38264.htmSpeech SDK 5.1 语言包(中英文): http://www.onlinedown.net/soft/38265.htm (二)安装完成后,需要在D7转载 2013-06-15 17:27:09 · 2008 阅读 · 0 评论 -
FastReport的使用
一、使用TfrxReport组件工作1、加载并存储报表默认情况下,报表窗体同项目窗体构存储在同一个DFM文件中。多数情况下,无须再操作,因而你就不必采用特殊方法加载报表。如果你决定在文件中存储报表窗体或者是数据库的Blob字段(他提供了非常大的弹性,你能够在非编译程序中修改),你必须使用“TfrxReport”提供的加载和存储方法。function LoadFromFile(c转载 2013-06-15 17:30:44 · 4021 阅读 · 0 评论 -
Delphi~通过程序窗体句柄获取程序路径
引用 ShellAPIvar h:HWND; pid: Cardinal; pHandle: THandle; buf: array[0..MAX_PATH] of Char;begin h:=GetForegroundWindow; //获取当前激活的窗体句柄 GetWindowThreadProcessId(h, @pid); //通过句柄获取其原创 2013-08-07 15:54:58 · 1118 阅读 · 0 评论 -
delphi中多线程的简单应用
线程是进程内一个相对独立的、可调度的执行单元。一个应用可以有一个主线程,一个主线程可以有多个子线程,子线程还可以有自己的子线程,这样就构成了多线程应用了。由于多个线程往往会同时访问同一块内存区域,频繁的访问这块区域,将会增加产生线程冲突的概率。一旦产生了冲突,将会造成不可预料的结果(该公用区域的值是不可预料的)可见处理线程同步的必要性。 注意:本文中出现的所有代码都是用DELPHI描述的,转载 2014-03-30 22:15:34 · 723 阅读 · 0 评论 -
《大话设计模式》之 简单工厂模式 Delphi/C shap /JAVA 实现
{计算器的功能实现 实现工厂设计模式 通过面向对象的思想,进行设计,所用的编程思想为对象的三大特性:封装,继承,多态 通过实现一个简单的 计算器的功能(输入两个数,进行加,减,乘,除) 思想思路: 1.设计虚拟父类; 2.子类继承父类 3. 通过虚拟方法,进行进行重载 4.工厂类,实例化对象,采用多态 }unit uOperation;i转载 2014-03-05 17:20:27 · 900 阅读 · 0 评论 -
Delphi IDHTTP用法详解
[delphi] view plaincopyprint?一、IDHTTP的基本用法 IDHttp和WebBrowser一样,都可以实现抓取远端网页的功能,但是http方式更快、更节约资源,缺点是需要手动维护cook,连接等 IDHttp的创建,需要引入IDHttp procedure InitHttp(); begin http := TIdHTTP转载 2014-02-28 10:49:24 · 2677 阅读 · 0 评论 -
Delphi 类似实现QQ多窗口显示任务栏上
Form2为动态创建窗口,在窗口的OnCreate事件中添加以下代码。 procedure TForm2.FormCreate(Sender: TObject); begin SetWindowLong(Handle,GWL_EXSTYLE,(GetWindowLong(handle,GWL_EXSTYLE) or WS_EX_APPWINDOW));end;转载 2013-12-13 16:16:23 · 710 阅读 · 0 评论