Delphi Stream(流)-介绍
Stream对象,又称流式对象,是TStream、THandleStream、TFileStream、TMemoryStream、TResourceStream和TBlobStream等的统称。它们分别代表了在各种媒介上存储数据的能力,它们将各种数据类型(包括对象和部件) 在内存、外存和数据库字段中的管理操作抽象为对象方法,并且充分利用了面向对象技术的优点,应用程序 ...
delphi内存镜像
/// <author>cxg 2020-12-9</author>
/// 内存映射 支持跨os
/// xe10.2及以上版本适用
unit yn.map;
interface
uses
SysUtils, SyncObjs
{$IFDEF posix}
, Posix.SysMman
{$ELSE}
, Windows
{$ENDIF}
;
type
PMem = ^TMem;
TMem = record
size: Cardinal;
data: Pointer;
end;
type
...
delphi SynPDF 介绍
SynPDF
介绍
概述
Synopse PDF 引擎是一个功能齐全的开源 PDF 文档创建库,用于 Delphi 和 FPC,嵌入在一个单元中。
被用于 mORMot 框架 中,用于从生成的报告创建 PDF 文件。如果下载整个 mORMot 源代码,则不需要这个单独的包。
特征
纯 Delphi 代码,没有外部 .dll,并且为您的可执行文件添加了非常小的代码大小;
针对 ...
delphi llPDFLib 文档设置
llPDFLib 文档设置
属性和方法
TPDFDocument.OutputStream
property OutputStream: TStream;
设置了此属性,则生成文档的输出在流中,而不是在文件中。
TPDFDocument.OnePass
property OnePass: Boolean;
直接创建文档。
创建大型文档时建议使用此属性。当创建下一个页面时,画布的内容将被直接写入输出流。与此相关的 ...
Delphi TBytes类型及与AnsiString、UnicodeString之间的转换
Delphi TBytes类型及与AnsiString、UnicodeString之间的转换
1、TBytes类型(引用单元:System.SysUtils)
type
TArray<T> = array of T;
TBytes = TArray<Byte>;
故 TBytes 类型,可以看成是 array of Byte
2、UnicodeString与TBytes的相互转换
function TEncoding.GetBytes(const S: string): TBytes;
var
...
lazarus CRUD
lazarus CRUD
unit Persistence;
{$MODE DELPHI}
interface
uses
SysUtils,
Classes,
BufDataset,
SQLdb,
SQLite3Conn;
function ListPersons: TStream;
procedure SavePersons(const ABytes: TBytes);
implementation
const
SQL_SELECT_PERSONS = 'SELECT * FROM persons';
SQL_UDPATE_PERSONS = 'UP ...
在DELPHI中调用API函数
一、概述
Delphi作为一种面向对象的可视化开发工具,以其开发程序的高速度和编译代码的高效率越来越受到广大编程人员的喜爱。Delphi本身提供了包括界面设计、数据库操作、报表打印和Internet等在内的数十个组件,开发者使用它们可以非常容易、快速地制作出所要的应用系统,同时所需要的编程量却非常地小。除此之外,del ...
Delphi Locate函数[1] - 查询、定位
Delphi TDataSet.Locate函数 - 查询、定位
使用ADO等数据控件的时候,经常会用到 locate 函数,在结果数据集中查询和定位,下面介绍一下:
原型:
1
function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean;
Locate ...
Delphi 11 保姆级安装教程
新版代号为 "Alexandria"新版本引入了许多重要的新特性和增强功能,官网首页写着一下大字介绍:The Delphi 11 Release Supports High-DPI and 4k+ screens, provisioning for Windows 11, Android 30 API and the macOS 64-bit ARM M1 processor大概意思是说支持高分屏(4k+ 显示器);支持 Windows 11、Android 30 API 和 ...
brookframework
brookframework
首先必须了解一下Sagui 是一个跨平台的 C 库,有助于开发 Web 服务器或框架。它的核心是使用 GNU libmicrohttpd、uthash、PCRE2、ZLib 和 GnuTLS 开发的,这就是它在嵌入式系统上运行如此快速、紧凑和有用的原因。
Sagui 编译好的库下载:https://github.com/risoflora/libsagui/releases
提供有FOR WINDOWS ...
delphi llPDFLib 操作PDF
llPDFLib 操作PDF
属性和方法
TPDFCanvas.SetActiveFont
procedure SetActiveFont(FontName: AnsiString; FontStyle: TFontStyles; FontSize: Extended; FontCharset: TFontCharset = ANSI_CHARSET); overload;
设置文本操作的活动truetype字体。llPDFLib模拟 fsUnderLine 和 fsStrikeOut 样式。 如果字体没有 fsBold 或 ...
Delphi 字符串替换 SysUtils.StringReplace
Delphi 字符串替换 SysUtils.StringReplace
StringReplace 返回一个字符串,其中一个子字符串替换为另一个子字符串。
原型:
function StringReplace(const S, OldPattern, NewPattern: string;
Flags: TReplaceFlags): string;
var
SearchStr, Patt, NewStr: string;
Offset: Integer;
begin
if rfIgnoreCa ...
Delphi常用关键字用法详解
目录absoluteabstractandarrayasasmassemblerautomatedbegincasecdeclclassconstconstructorcontainsdefaultdestructordispiddispinterfacedivdodowntodynamicelseendexceptexportexportsexternalfarfilefinalizationfinallyforforwardfunctiongotoifimplementationimplementsinindexinheritedinitializationinlineinterfac ...
delphi llPDFLib 常用功能
llPDFLib 常用功能
属性和方法
TPDFDocument.Create
constructor Create(AOwner: TComponent); override;
创建并初始化 TPDFDocument 的一个实例。
参数
AOwner 建立组件与其所有者的关系。
TPDFDocument.BeginDoc
procedure BeginDoc;
开始一个新的PDF文档。在创建的文档中添加第一页。
TPDFDocument.EndDoc
procedure ...
delphi llPDFLib 介绍
llPDFLib
介绍
概述
llPDFLib 是用于创建 PDF 文档的纯 Object Pascal 库。 该库不使用任何 DLL 或外部第三方软件来生成 PDF 文件。 库包括具有属性和方法的 TPDFDocument 组件,如 Delphi 的 TPrinter,但旨在生成 PDF 文件。
特征
真正的 Canvas.Handle (HDC)。
Unicode 支持。
PDF/A-1b 支持。
加密(40、128 位 RC4 和 ...
Delphi 解析HTML
uses mshtml;IHTMLEleMent.ID;IHTMLEleMent.tagName;IHTMLEleMent.title;elmt._className;elmt.getAttribute('anchor', 0);procedure TForm1.btnphClick(Sender: TObject);
var
Document: IHTMLDocument2;
FTableCollection, tempCoc: IHTMLElementCollection;
table: IHTMLTABLE;
TableRow: IHTMLTableRow;
elm ...
Delphi接口的一些简单介绍
Delphi只能单继承,不像C++可以多继承,而接口则为Delphi提供了弹性、让类别能够宣告支持多接口,并加以实现的能力,同时避免因多重继承而可能产生的问题。
简单的,把接口想成是一个对象拥有多个不同的基础类别。从宏观的角度来看,接口比类别支持了更多不同的面向对象程序设计的模式。实作接口的对象,可以视作它所实作它 ...
Delphi自定义组件
1.组件设计基础
a.编写组件步骤:
1)确定一个祖先类
TObject:直接从TObject继承下来的类不是组件。有些以此为基类的对象在设计期不需要使用,如TIniFile
TComponent:这是非可视组件的起点,它的特点是在设计时能够以流的方式在IDE上存取
TGraphicControl:创建一个不需要窗口句柄、但要在屏幕上显示的组件时,用这个 ...
Delphi dbgrid 导出 excel 方法
delphi dbgrid 导出Excel表 ///////// 利用剪贴板,速度很快!适合装有Excel的机器///////////////////// USES Clipbrd,ComObj; procedure TForm1.Button1Click(Sender: TObject); var &n ...
Delphi XE8 支持MD5
XE8新带了一个单元文件:System.Hash,其实,实现了三个类,分别是:
THash
THashMD5
THashSHA1
原生实现对MD5及SHA1的支持!
以MD5为例,很容易取一个串的MD5值。
procedure TForm40.Button2Click(Sender: TObject);
var
md5:THashMD5;
begin
Label1.Text:=md5.GetHashString(edit1.Text);//生成32字符长度 ...