自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (15)
  • 收藏
  • 关注

原创 Delphi语言怎样对自己定义类进行持久化保存及恢复 (性能远比json/xml高)

Delphi的RTL自身就带有一套非常好的资源持久化保存(IDE设计窗口时,保存为DFM格式及编译到EXE里面的资源文件)及恢复机制(EXE启动时对窗口资源的载入),那么应不是必需再额外用xml/json格式保存程序的參数了。我们大能够将參数集中在一个參数类里面,然后通过这套机制进行保存及恢复。

2023-11-30 00:06:26 394

原创 Delphi消息的广播方式(先RegisterWindowMessage,后SendMessage HWND_BROADCAST,最后改写接收窗口的WndProc)

///////消息广播只能将消息传递到接收消息的主程序中,MDIChild窗体不能接收到广播消息;/////////

2023-09-28 21:54:30 298

原创 使用 ISuperObject 库json的 Delphi7 应用程序示例

使用 ISuperObject 库json的 Delphi7 应用程序示例

2023-06-25 14:21:26 679

原创 Delphi 支持共享内存的概念,可以通过 TSharedMemory 类来实现两个程序之间的共享内存。

请注意,两个程序必须使用相同的共享内存名称来访问同一个共享内存块。在上面的示例中,我们使用了“MySharedMemory”作为共享内存名称。确保在两个程序中都使用相同的名称才能使它们共享相同的内存块。Delphi 支持共享内存的概念,可以通过 TSharedMemory 类来实现两个程序之间的共享内存。

2023-03-16 17:51:22 727 1

原创 改写min函数,让它支持NAN空缺值的比对

【代码】改写min函数,让它支持NAN空缺值的比对。

2023-03-15 18:21:39 77

原创 type 自定义结构体中的single填充nan空缺值

type 自定义结构体中的single填充nan空缺值

2023-03-10 16:02:09 75

原创 Cross函数,通过Variant体自动区分传入的是数组还是数字类型CROSS(A,0,2)

Cross函数,通过Variant体自动区分传入的是数组还是数字类型CROSS(A,0,2)

2023-03-10 15:56:09 91

原创 Delphi 计算一个字符串在另一个字符串中出现的次数

Delphi 计算一个字符串在另一个字符串中出现的次数

2023-02-20 10:28:26 433

原创 TMemo动态创建

TMemo动态创建

2023-02-07 15:42:35 126

原创 TStringList 根据自定义排序

TStringList 根据自定义排序

2023-02-06 18:25:25 111

原创 Delphi语言最好的JSON代码库 mORMot

Delphi语言最好的JSON代码库 mORMot

2022-05-06 12:07:45 1458

原创 delphi中ASQLite3的应用

delphi_ASQLite3

2022-05-05 16:59:23 658

原创 Delphi判断文件大小

Delphi判断文件大小

2022-05-01 11:15:56 296

原创 Delphi中三种延时方法

Delphi中三种延时方法

2022-04-26 15:07:05 2689

原创 Delphi取整函数

floor 和 ceil 是 math unit 里的函数,使用前要先 Uses Math。trunc 和 round 是 system unit 里的函数,缺省就可以用。floor 直接往小的取,比如 floor(-123.55)=-124,floor(123.55)=123trunc 直接切下整数,比如 trunc(-123.55)=-123, floor(123.55)=123ceil 直接往大的取,比如 ceil(-123.55)=-123, ceil(123.55)=124round .

2022-03-23 12:23:22 1733

原创 竖表格中,根据策略名称,在cxdbvrtclgrd1中自动增加对应的字段

procedure SettVar(CLName:string); //根据策略名称 让参数显示对应的选项 ////根据策略名称,在cxdbvrtclgrd1中增加对应的字段 var// CLName:string; //策略名称 list,list2:TStringList; ifor,ifor2:integer; Names,FieldNames:string; editproperties:string; //设置表格数据类型 I: Integer; AIte.

2021-12-21 14:26:28 78

原创 Delphi设置快捷键 热键演示为Ctrl+Alt+F8

Delphi设置快捷键 热键演示为Ctrl+Alt+F8

2021-12-08 15:35:00 1120

原创 CxGrid查询第几行第几列的值

i:=TableViewA.Controller.FocusedRowIndex;// 当前行号// ShowMessage('当前行号'+IntToStr(i2)); V_Nob_Cctable:=TableViewA.DataController.Values[i,9] ; //查询第几行第几列的值// nob:=TableViewA.DataController.Values[行,列] ; //查询第几行第几列的值// ShowMessage('查询第几行第几列的值...

2021-10-15 14:39:58 194

原创 CxGrid 表格列内容居中

CxGrid 表格列内容居中首先每一列 Cxgrid 都不知道要当成什么来出来,所以每一列都有个properties 让你来设置,告诉cxgrid 这列的内容是什么,然后根据你给出的内容 再来决定用什么居中方式;就是说 官方再设计的时候,想的是 居中的方式与你所认为这列的内容格式有关,因为如果是字符串、数值类型,那么可以居中,如果是个进度条呢,那么就没有必要居中;如果是图片呢,等等;不同的格式的居中方式也可能不同,所以官方先让你设置下这列的格式属性。举例:如果内容是普通文本,那么你可以用TextE

2021-09-15 15:52:46 499

原创 CXGrid 根据指定条件进行合并单元格

设置 cxGrid 的某列的 CellMerging 属性可使这一列相同值的单元格合并。1)cxGridDBTableViewColumn1.Options.CellMerging:=true 2)编写代码procedure cxGrid1DBBandedTableView1PAB01CompareRowValuesForCellMerging( Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEdi

2021-09-15 15:32:30 692

原创 Delphi 鼠标模拟点击

//Delphi 鼠标模拟点击1.把句柄窗口设置成顶置窗口2.保存鼠标当前位置3.把鼠标移动到新的位置4.执行右键或左键操作5.鼠标移动到原来位置procedure TForm1.btn2Click(Sender: TObject);var oldPoint,newPoint:TPoint; hw2:HWND; r:TRect; //获取句柄窗口鼠标位置begin GetCursorPos(oldPoint); //保存当前鼠标位置。 hw2:=StrToInt(edt

2021-09-10 12:13:51 1725

原创 Delphi CxGrid 用法详解说明

1. 去掉cxgrid中抬头的box,在tableview1的ptionsview的groupbybox=false;1.1类似PageControl显示 解决:增加一个Level,将cxGrid1->RootLevelOptions->DetailTabsPosition设为dtpTop,然后相应的设置cxGrid1Level1,和cxGrid1Level2的Caption值 2. 在GRID footer 中加入sum(列),tableview1的optionsview的fo

2021-08-03 17:43:24 2406 1

原创 delphi char数组、string和Pchar的相互转换

delphi char数组、string和Pchar的相互转换因为要调用windows的api或者给vc++写接口,很多地方都要用到pchar,现在将char数组、string和pchar之间的相互转换都列出来,都是网上找的资料,我总结一下,先直接上代码,再讲原理。1.string转换成pchar 可以使用pchar进行强制类型转换,也可以使用StrPCopy函数复制代码var s:string; p,p1:PChar;begin s:='Hello Delphi';

2021-07-21 01:26:16 2760

原创 2021-07-20

RzTrayIcon1.Icons := ImageList1; //RzTrayIcon1 使用的图标列表 RzTrayIcon1.Interval := 1500; //动画显示图标的时间间隔; RzTrayIcon1.Animate := True;//图标开始动了咯 {关键就是图标 ImageList ,里面要放多个图标,这样图标就会转啊转的}TTrayIcon 的主要属性:TrayIcon.Icon指定托盘图标, 有几种用法:1、设计时选择; 2、把一个 T...

2021-07-20 16:01:28 130

原创 BMDThread通过var Data: Pointer传递参数

BMDThread通过var Data: Pointer传递参数procedure TForm1.bmdthrd1Start(Sender: TObject; Thread: TBMDExecuteThread; var Data: Pointer); var s1:string;begin s1:='abcd'; Data:=Pointer(S1);end;procedure TForm1.bmdthrd1Execute(Sender: TObject; Thread

2021-07-20 15:25:53 206

原创 delphi OnException捕捉全局异常错误的方法

软件总有想不到的异常发生,比如网络访问不了。。。如果系统弹出错误窗体,软件有可能就会终止运行,特别是那些不是人工守着的软件,这个delphi源代码就让所有的窗体显示在软件本身的文本框中,而不能让它弹出来,软件不会中断将继续运行!private { Private declarations } public procedure GlobalExceptionHandler(Sender: TObject; E: Exception); { Public declarations }

2021-07-20 00:02:10 1090

原创 DELPHI动态创建窗体

//第一种方式procedure TForm1.btn1Click(Sender: TObject);beginWith TForm2.Create(Application) doTry ShowModal;finally free;end;end; //第二种方式procedure TForm1.btn2Click(Sender: TObject);begin if not assigned(Form2) then begin Form2:=TForm2.

2021-07-17 23:19:50 825

原创 AlphaControls窗口有阴影

procedure TFCjbcUi.FormCreate(Sender: TObject);begin//<<AlphaControls窗口有阴影sknmngr1.ExtendedBorders:=true;sknprvdr1.AllowExtBorders:=true;sknprvdr1.UWPMode:=True;//>>AlphaControls窗口有阴影end;

2021-07-17 15:02:23 80

原创 delphi MessageBox 退出

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);begin if MessageBox(Form1.Handle,' ------亲.真的需要退出吗?------','退出程序',MB_OkCancel + MB_DEFBUTTON2 + MB_ICONASTERISK )= idOk then begin CanClose := True; end ELSE begin CanClo

2021-07-17 01:38:52 235

原创 Delphi 复制粘贴

//需要用到Clipbrd,单元 //剪贴板的读写和清除功能 Clipboard.SetTextBuf(PChar(edt5.Text)); //复制到剪切板 edt1.Text:=(Clipboard.AsText); //粘贴 //===========================================procedure TForm1.Button1Click(Sender: TObject);beginMemo1.SelectAll;Memo1.CopyToClip.

2021-07-17 01:19:59 784

原创 Delphi 打开文件对话框 OpenDialog使用方法

var OpenDlg: TOpenDialog; strFileName: string;begin OpenDlg := TOpenDialog.Create(nil); try OpenDlg.Filter := '协议文件(*.EXE)|*.EXE|全部文件(*.*)|*.*'; OpenDlg.DefaultExt := '*.EXE'; if OpenDlg.Execute then begin strFileName := Trim

2021-07-13 12:50:20 2381

原创 delphi窗口跟随

procedure TForm1.FormPaint(Sender: TObject);begin fSQLMon.Show; fSQLMon.SetBounds(Left + Width + 10, Top, 300, Height);end;

2021-06-28 12:17:59 197

原创 Delphi单元文件Unit详解

Delphi单元文件Unit详解`有时随着项目改变开发语言也要换,今天用C#,明天可能就用DELPHI,在此把DELPHI文件结构备忘一下unit Unit1; interface {接口部分开始} uses {引用单元列表,这是可选的,如果包含必须紧跟interface关键字} {接口部分声明常量/类型/变量/过程和函数,这些声明对引用单元就像自己的声明一样} {在接口部分声明的过程和函数,就像使用了forward关键字}

2021-06-22 18:36:29 815

原创 DELPHI idhttp

//试下用idhttpuses IdHTTP;function GetWebPage(const Url :string; IsUtf8 :Boolean = False):string;varidp :TIdHTTP;beginResult := '';idp := TIdHTTP.Create(Application);tryidp.HandleRedirects := True;idp.Request.UserAgent := 'Mozilla/5.0';Result := id

2021-06-22 11:30:58 120

原创 delphi DBNaVigator组件的使用方法

DBNavigator组件用于在数据集进行记录导航,当用户单击DBNaVigator组件的某个按钮时,可实现记录指针的前移、后移,插入‘删除、修改当前记录等操作,而无须编写任何程序代码。 DBNavigator组件按钮功能First按钮 将指针移到数据表的第一条记录。Previous按钮 将指针前移一条记录oNext按钮 将指针后移一条记录。Last按钮 将指针移到数据表的最后一条记录。Insert按钮 在当前记录前插入一条新记录,并将数据集组件置于插人状态。Dele

2021-06-09 17:30:38 1210

原创 Delphi数据库技术中Disablecontrols和Enablecontrols的功能

一般来说,用来扫描整个数据库表并修改每个记录的某一个字段的程序如下所示:with Table DobeginDisableControls;{在修改记录的过程中,使其它部件无效}First; {将记录指针指向第一条记录}while not EOF dobegin<读取记录的一个字段值到一个变量中><做适当的修改>Edit; {将TTable部件置成编辑状态}<将修改后的字段值写回到其对应的字段>post; {将修改后的记录写回数据库}next; {

2021-06-02 11:55:07 404

转载 delphi web script II(DWSII)控件源码及使用文档

delphi web script II(DWSII)控件源码及使用文档来源于网址http://sourceforge.net/projects/dws/files/,适合Delphi5,Delph6,Delphi7环境下编译安装

2021-04-30 17:23:58 332 1

原创 Delphi Random() 随机函数

Delphi Random() 随机函数函数原型:function Random ( Range: Integer) :integer;参数:Range:整数,返回值:整数,其范围为:0 <= Random(Range) < Range (指定Range)0 <= Random< 1 (不带参数Range)Random()生成随机数。(运行几次会发现取得的随机数一样,因为系统的随机种子没有改变,Ramdomize; 用来改变随机种子)。例:begin Ra

2020-12-11 17:28:49 947

原创 Delphi字符串 DLL传递字符串方式

Delphi字符串 DLL传递字符串方式(1)var修饰符添加var 是地址传递,会修改原有的变量var s: string;begin S := 'Hello'; ChangeSVar(s); ShowMessage(S);end;// ChangeSVar 定义procedure TForm1.ChangeSVar(var A: string);begin A := A + 'World';end;以上会输出Hello World,因

2020-11-19 13:29:05 638 1

原创 Delphi 时间的比较

时间比较函数CompareDateTime() //比较两个时间是否相同CompareDate() //比较两个时间的日期是否相同CompareTime() //比较两个时间的时分秒是否相同SameDateTime() //比较两个时间是否相同SameDate() //比较两个时间的日期部分是否相同SameTime() //比较两个时间的时分秒是否相同前3个函数 的返回值

2020-10-18 21:43:34 1434 1

delphi 自定义结构数据通过内存流方式读取与保存到本地 TMemoryStream

说明: 自定义中的数据类型尽量不要用string 如果使用那么在保存数据,与读取数据中增加转换 var MyDynamicArray: array of Char; begin SetLength(MyDynamicArray, 48); // 设置数组长度为 48 StrPCopy(MyDynamicArray, 'Hello, World!'); // 将字符串复制到数组中 SetLength(MyDynamicArray, 0); // 释放数组内存 end; ======================== var ch1: array[0..47] of Char; str1: string; begin // 假设 ch1 已被赋值 str1 := StrPas( ch1); end; type Re_TodayData = record ArrToday: array[0..47] of Integer; len:Cardinal; s1:array[0..255]

2023-11-30

最精简使用MORMOT

最精简使用MORMOT MORMOT是免费开源的SDK,它封装了HTTP.SYS,这是许多人使用它的原因,让人难以想像的是它居然支持DELPHI6及以上版本。 但MORMOT本身已经被封装的很庞大,它提供许多的单元,这让人不免眼花缭乱,惊恐而不敢下手试用。 其实,我们完全可以最精简使用MORMOT,比如笔者就只使用它的HTTP.SYS通讯部分,其他部分舍弃不用。 只需要复制MORMOT的以下几个单元文件: SynCommons.pas,SynCrtSock.pas,SynLZ.pas,SynZip.pas,SynWinSock.pas, Synopse.inc,SynopseCommit.inc, trees.obj,deflate.obj。

2022-05-06

delphi 7 SQLMemTable_Thread多线程读写同一个内存表

1)SQLMemTable_Thread多线程读写同一个内存表 2)启动时读取数据SMemDB.db 3)退出时保存数据SMemDB.db 4)循环操作中.两个线程写入,两个线程读取 注意:用到BMDThread控件,DBGridEh控件

2022-04-23

AlphaControls_v16.21_Stable_DCU_for_DX10Rio.rar

AlphaControls是一个标准的皮肤控件集合,它具有很多新的属性,可以添加到普通的控件中以增强程序界面效果,同时还能添加一些行为到普通的控件中,并使用了一些新技术。AlphaControls是一个易于使用且很强大的工具,非常适合用于开发具有独创的皮肤和无皮肤的业务/媒体应用程序。

2021-12-24

superobject1.5.rar

CHANGES: * V1.5 * + 修正indent[aaa,bbb] 的问题 ,后面没换行的问题,主要是美化。 * + 2014-2-18 by xuweihang czmagic@163.com * V1.4 * + 修正D7下关闭溢出出错的问题{.$.Q-} * + 2014-2-18 by xuweihang czmagic@163.com * V1.3 * + Add support to Delphi XE2 * + Delphi XE2 RTTI marshalling * + 2013-08-17 by xuweihang czmagic@163.com * v1.2 * + support of currency data type * + right trim unquoted string * + read Unicode Files and streams (Litle Endian with BOM) * + Fix bug on javadate functions + windows nt compatibility * + Now you can force to parse only the canonical syntax of JSON using the stric parameter * + Delphi 2010 RTTI marshalling * v1.1 * + Double licence MPL or LGPL. * + Delphi 2009 compatibility & Unicode support. * + AsString return a string instead of PChar. * + Escaped and Unascaped JSON serialiser. * + Missed FormFeed added \f * - Removed @ trick, uses forcepath() method instead. * + Fixed parse error with uppercase E symbol in numbers. * + Fixed possible buffer overflow when enlarging array. * + Added "delete", "pack", "insert" methods for arrays and/or objects * + Multi parametters when calling methods * + Delphi Enumerator (for obj1 in obj2 do ...) * + Format method ex: obj.format('%tab[1]%') * + ParseFile and ParseStream methods * + Parser now understand hexdecimal c syntax ex: \xFF * + Null Object Design Patern (ex: for obj in values.N['path'] do ...)

2021-06-30

内存表,,json,Tstringlset查询速度比较.rar

总结 创建用时 Hash=list < json <内存表 读取用时 json < Hash <内存表 <list

2021-06-25

DelphiWebScript II-dws2src20-20030907.zip

DelphiWebScriptII,脚本编译器

2021-04-30

Delphi 线程控件BMDThread2.1(D5-XE10,XE10.3).rar

BMDThread控件是一套相当成熟的线程控件,使用它可以让你快速的创建、管理线程。 1、将路径添加搜索路径下 2、BMThreadDsnD7.dpk先编译后安装 安装后两个控件

2020-07-08

C-源码-(包括stdio,stdlib和string三大部分).rar

C-源码-(包括stdio,stdlib和string三大部分).rar

2020-07-08

Delphi7-SQLMemTable 多线程修改内存表 例子.rar

Delphi7-SQLMemTable 多线程 同时 修改内存表(SQLMemTable)例子

2020-06-18

delphi EhLib 9.5.012 Full Source 专业版 .rar

EhLib.VCL 9.5内部版本9.5.012专业版。 ---------------------------------------------- 该库包含Borland Delphi版本7、9的组件和类。 Developer Studio 2006,Delphi 2007,Embarcadero RAD Studio 2009-XE10.3,Lazarus。 目录 ----------------- 总览 安装库 安装帮助 示范节目 注册和价格 其他资讯 关于作者 从哪儿开始。 ------------------- 从主要的Demo项目开始概述库 。\ Demos \ Bin \ MainDemo.Exe。 (已编译的演示文件在该库的评估版中可用) 如果您使用了库的早期版本,则可以阅读摘要 的新功能和更改中的内容history-eng.html。 此版本库中有关新功能的更多详细信息 可以在文件中找到-关于EhLib 9.5 Eng.doc 要在IDE中安装该库的新版本,请使用安装程序 。\ Installer \ EhLibInstaller.exe 如果安装时有任何问题,请写信给ehlib支持 地址support@ehlib.com 您还可以按照以下说明在库IDE中手动安装文件 第2章安装库 安装后,请确保所有已安装组件的可操作性。 为此,请打开IDE,编译并启动一个主要的演示项目。 。\ Demos \ MainDemo \ Project1_XE2.dpr 阅读下一个文件,以获取有关使用库组件的完整说明: 。\ Hlp \ ENG \“ EhLib-用户指南.doc” 在文件中阅读有关EhLib for Lazarus的信息-Lazarus \ readme.txt 总览 -------- 该库包含几个组件和对象。 TDBGridEh组件 TDBGridEh提供TDBGrid的所有功能 并添加了一些新功能,如下所示: 允许选择记录,列和矩形区域。 可以对应于多个/所有列的特殊标题。 能够显示总和/计数/其他字段值的页脚。 自动调整列大小以将网格宽度设置为等于客户端宽度。 能够更改行和标题的高度。 允许自动中断单行长标题和数据行 到多行。 标题可以充当按钮,并可以选择显示排序标记。 自动排序标记。 能够用省略号截断长文本。 查找列表可以显示几个字段。 在查找字段中进行增量搜索。 冻结的列。 DateTime选择器支持TDateField和TDateTimeField。 允许根据字段值显示TImageList中的位图。 允许隐藏和跟踪水平或垂直滚动​​条。 允许隐藏列。 允许显示冻结,页脚和数据行的3D框架。 允许绘制备忘字段。 多行就地编辑器。 比例滚动与数据集的排序无关。 自动显示布尔字段的复选框。允许显示 其他类型字段的复选框。 具有保存和还原布局的程序(可见列,列 注册表或ini文件中的顺序,列宽,排序标记,行高)。 允许显示提示(工具提示)以显示单元格中不适合的文本。 允许将数据导出为Text,Csv,HTML,RTF,XLS和内部格式。 允许从文本和内部格式导入数据。 可以对各种数据集中的数据进行排序。 可以过滤各种数据集中的数据。 当DBGridEh连接到TMemTable类型的数据集时,它允许: 在不移动活动记录的情况下查看所有数据。 显示TMemTable记录的树型结构。 在SubTitle过滤器的下拉列表中自动形成值列表。 根据所选库伦创建分组记录。 TDBVertGridEh组件 在“垂直方向”中显示数据集中的一条记录的组件。 有一个特殊的列来显示字段标题 可以像DBGridEh中一样自定义就地编辑器和单元格数据。 TDBLookupComboboxEh组件 提供TDBLookupCombobox的所有功能并添加 几个新功能如下: 可以有平面样式。 允许只将值分配给KeyValue属性 显示文本属性。 允许将值键入(分配)到数据列表中未包含的Text属性 (样式= csDropDownEh)。 允许将KeyValue和Text保持为互不影响的值。 当KeyField,ListField,ListSource,DataField和DataSource生效 属性为空。 下拉列表可以: 显示标题 有上浆力, 自动将宽度设置为列表字段DisplayWidth之和(宽度= -1), 用户按下按键时自动掉线。 编辑按钮可以: 显示下拉,省略号或位图图像。 有指定的宽度。 还有其他事件:OnKeyValueChanged,OnButtonClick。 TDBSumList组件 此组件用于总计一个记录中的记录的总数和数量。 TDataSet具有动态更改。组件保留TDBSum的列表 对象,其中包含组操作的类型(goSum或goCount) 和名称总和字段(无需goCount字段名称)。 TPrintDBGridEh组件 TPrintDBGridEh提供用于预览和预览的属性和例程。 具有以下功能的TDBGridEh组件的打印: 能够垂直扩展行,直到打印所有文本。 缩放网格以使其适合页面宽度的能力。 能够打印/预览网格标题。 能够打印/预览页面标题和页面页脚 指定当前页面,当前日期,当前时间和/或静态的宏 文本。 自动打印/预览TDBGridEh的选定区域 不为空。 能够在网格之前和之后打印/预览富文本。 TPreviewBox组件 TPreviewBox使您可以创建可自定义的运行时预览。 TPrinterPreview对象 TPrinterPreview允许您将可打印数据记录在缓冲区中以进行跟踪 将它们输出到屏幕上并发送到打印机。TPrinterPreview具有所有功能,并且 属性与TPrinter对象中的属性相同。您可以类似地使用TPrinterPreview对象 TPrinter的功能,除了一些细节。在TPrinter Printer.Canvas.Handle和 Printer.Handle相同,但在TPrinterPreview中PrinterPreview.Canvas.Handle 表示图元文件,其中的数据和PrinterPreview.Handle的内容相同 代表Printer.Handle。这意味着您必须使用 用于绘制操作的PrinterPreview.Canvas.Handle(DrawText,DrawTexteEx等) 并在返回有关以下信息的函数中使用PrinterPreview.Handle 打印机功能(GetDeviceCaps等)。全局功能PrinterPreview 返回默认的PrinterPreview对象,并以默认预览形式显示数据。 TDBEditEh组件 表示可以显示和编辑字段的单行或多行编辑控件 在数据集中或可以用作非数据感知的编辑控件。 TDBDateTimeEditEh组件 表示可以显示和编辑的单行日期或时间编辑控件 数据集中的日期时间字段,或可用作非数据感知的编辑控件。 TDBComboBoxEh组件 表示结合了编辑框的单行或多行编辑控件 带有可滚动列表,并且可以显示和编辑数据集中的字段,或者可以 用作非数据感知组合编辑控件。 TDBNumberEditEh组件 表示可以显示和编辑数字的单行数字编辑控件 数据集中的字段或可以用作非数据感知的编辑控件。 TPropStorageEh,TIniPropStorageManEh,TRegPropStorageManEh组件 组件实现了在设置中存储组件属性的技术 存储,如ini文件,注册表等。 TMemTableEh组件 数据集,将数据保存在内存中。它可能考虑为 记录。 此外,它: 支持一个特殊的接口,该接口允许DBGridEh组件查看所有 数据而不移动活动记录。 允许从TDataDriverEh对象(DataDriver属性)获取数据。 允许卸载更改回DataDriver中,可操作或推迟(在 CachedUpdates属性的相关性)。 允许在客户端上创建主/明细关系(过滤记录) 或在外部源上(更新参数[Params]并需要数据 从DataDriver)。 允许一次(无动态支持)排序数据,包括 计算和查找字段。 允许在设计时创建和填充数据,并将数据保存在的dfm文件中 形成。 允许以树的方式进行记录。每条记录可以有一条记录 元素分支和本身是其他父母记录的元素。 组件TDBGridEh支持显示这些组件的树型结构 记录。 允许连接到其他TMemTableEh的内部阵列(通过 ExternalMemData属性)并使用其数据:排序,过滤,编辑。 具有用于在列表的一列中请求所有唯一值列表的接口 记录数组,忽略数据集的本地过滤器。TDBGridEh使用此 属性,用于自动填充字幕的DropDownBox中的列表 过滤单元。 TDataDriverEh组件 执行两项任务: 将数据传送到TMemTableEh。 处理TMemTableEh的更改记录(将它们记录在其他数据集中, 或调用事件以处理程序中的更改)。 TSQLDataDriverEh 具有四个TSQLCommandEh类型的对象的DataDriver:SelectCommand, DeleteCommand,InsertCommand,UpdateCommand,GetrecCommand。 TSQLDataDriverEh无法将查询传输到服务器,但会调用全局 (对于应用程序)执行SQL必须编写的事件 服务器上的表达式。 TBDEDataDriverEh,TIBXDataDriverEh,TDBXDataDriverEh和TADODataDriverEh组件。 这些是SQLDataDrivers,可以使用以下命令将查询传递到服务器 数据访问的相应驱动程序。 -------------------- 2.安装库 -------------------- -------------------- 2.1自动安装库 -------------------- 从“安装程序”文件夹中运行EhLibInstaller.exe程序以在以下位置安装EhLib Delphi / C ++ Builder IDE。该程序创建文件夹以保持EhLib二进制 和其他重新整理的文件,将重新整理的文件复制到创建的文件夹, 编译程序包,在IDE中注册程序包并编写重新格式化的路径 在注册表中。 如果您具有可执行的安装程序(例如,EhLibSetupD7Eval.exe) 那么您只需要运行程序并遵循安装过程即可。自动设置 将所有单元写入必要的目录,在IDE中安装软件包和帮助文件。 -------------------- 2.2手动安装库 ------------------- 按照以下说明从EhLib归档文件安装文件: - 2.2.1。对于RAD Studio XE2(Delphi)或更高版本: -------------------

2020-06-17

Delphi 10.4 中英文一键切换助手.rar

Delphi 10.4 中英文切换助手 随时中切换中英文,方便学习

2020-06-11

delphi控件备份还原 V1.0.0.5.rar

Delphi控件备份还原 支持D7,2007,2010,xe版本 备份前后控件的pas文件的目录必须一致,自行备份控件文件夹

2019-12-13

Delphi 10.3.3 中英文一键切换助手.rar

delphi 10 中英文切换助手 随时中切换中英文,方便学习

2019-11-27

可用AlphaControls v14.04 Beta FOR Delphi7 or 10.23.rar

AlphaControls软件包是用于AlphaSkins用户界面设计的非常有价值且专业的组件。AlphaController软件包对于构建商业和媒体软件非常有用,并且易于使用。许多功能和特性极大地提高了此程序包的价值。这个软件包有一套不错的界面控件,在其他任何软件包中都找不到。每个控件都有其自己的属性,并且具有与其他控件不同的属性。还提供了各种图形和渲染工具,它们都是实时渲染的,AlphaController14的缩放引擎已被完全重写

2019-11-26

StyleControls_v4.50.zip

StyleControls是一款功能强大的套包控件,包含了独特的高级可扩展标准VCL控件的解决方案和控件,各种风格和高级按钮、复选框、发光效果、动画效果等,支持Delphi/C++Builder XE2-XE10.3。简单和可调整控件的标准主题和VCL风格

2019-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除