Delphi控制摄像头
Delphi对摄像头的控制很简单,在System,windows和messages三个单元内已定义了所有的底层消息函数,我们只需要合理的调用它们就行了。我把摄像头的有关操作做成一个控件,这样就可以拖动窗体上直接使用了。
{************************************
* Camera Control for Delphi7 *
* Made by Rarnu ...
Delphi TBitMap[1] 位图 介绍
Delphi TBitMap[1] 位图 介绍
位图TBitMap,封装了Windows的 HBITMAP 句柄 和 HPALETTE 句柄,用于操纵位图和调色板。 TBitMap对象支持从文件、剪贴板、流中存取位图。
它可以自动管理调色板,还可以使用画布修改图像。创建TBitmap副本的速度非常快,因为句柄是复制的,而不是图像。如果图像被修改,并且句柄由多个TBitmap ...
TSQLConnection和TDSRestConnection
TSQLConnection和TDSRestConnection
两者都可以作为DATASNAP的客户端连接,且都可以自动生成DATASNAP的客户端远程方法代理类。
TSQLConnection既可以作为TCP连接,也可以作为HTTP连接。TDSRestConnection只可以作为HTTP连接。
TSQLConnection是dbexpress其中的一个控件,既可以连数据库,也可以连DATASNAP服务端。
从TDSRes ...
Delphi 转义字符
Delphi 转义字符
转义字符(Escape character),又 称 数据传送换码字符,符号“\”。
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。
C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等
转义字符
意义
ASCII码值(十进制)
\a
响铃(BEL)
007
\b
退格(B ...
Delphi 10.4.2最新消息
开始内测了!
在10.4.2版本中,将包括以下功能:
1.支持MSIX应用程序打包格式,改进Windows 10应用商店部署
2.新的VCL控件,封装Windows内置的控件,为客户提供更现代化的用户界面,重点是虚拟列表视图以及数字数入
3.更新支持的目标平台,完全支持以下平台:
iOS 14和iPadOS 14(Delphi与C++)
Mac OS 11 Big Sur(Intel)(D ...
ListView在delphi中的常用用法
ListView在delphi中的常用用法
//增加
i := ListView1.Items.Count;
with ListView1 do
begin
ListItem:=Items.Add;
ListItem.Caption:=IntToStr(i);
ListItem.SubItems.Add('第'+IntToStr(i)+' 行');
ListItem.SubItems.Add('第三列内容');
end;
//按标题删除
for i:=ListView1.Items.Cou ...
Delphi界面篇之ListView控件
//增加项或列(字段)
ListView1.Clear;ListView1.Columns.Clear;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Items[0].Caption:='id';ListView1.Columns.Items[1].Caption:='type';ListView1.Columns.Items[2].Caption:='title';ListView1.Columns.Items[2].Width:=300;Listview1 ...
delphi内存映射(跨平台)
delphi内存映射(跨平台)
/// <author>cxg 2020-12-9</author>
unit yn.map;
interface
uses
SysUtils,
{$IFDEF posix}
Posix.SysMman
{$ENDIF}
{$IFDEF mswindows}
Windows
{$ENDIF}
;
type
PShareMem = ^TShareMem;
TShareMem = record
size: Cardinal;
data: Pointer;
end;
type
...
delphi windows内存映射
delphi windows内存映射
使用内存映射文件读写大文件
几十GB、几百GB、乃至几TB的海量存储,再以通常的文件处理方法进行处理显然是行不通的。使用字符串变量的方法不仅会加重内存的负担,而且会Unicode和ASCII码的转换会把你弄得焦头烂额。目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,比I/O读 ...
delphi linux内存映射
delphi linux内存映射
内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间<---->用户空间两者之间需要大量数据传输等操作的话效率是非常高的。
uses Posix.SysMman;
内存映 ...
delphi助手类
delphi助手类
DELPHI2005及以上版本开始支持助手类。
用途:当我们想给一个类增加一个方法或者成员变量,但是这个类又被很多单元引用了,我们直接去该这个类,肯定是很不明智的,怎么办?
如果是类,继承一下就OK了。但是如果是结构体呢?其实这个关键更像是为结构体准备的。
限制:类别助手最明显的限制,就是我们每次对一 ...
【Delphi】Utils.Generics.ADODB
unit Utils.Generics.ADODB;
interface
uses
System.Classes, System.TypInfo, System.Win.ComObj, System.Generics.Collections,
Winapi.ActiveX, Data.DB, Data.Win.ADODB;
type
{
TMPropList class type
}
TMPropList = class(TObject)
private
FPropCount: Integer;
...
【Delphi】Utils.EventBus
unit Utils.EventBus;
interface
uses
System.Classes;
type
IEventBus = interface(IUnknown)
procedure Notify(information: TObject);
end;
////////////////////////////////////////////////////////////////////////////////
TEventBus = class(TObject)
private
subscribe ...
【Delphi】Utils.ADODB
unit Utils.ADODB;
interface
uses
System.Classes, System.TypInfo, System.Win.ComObj, Winapi.ActiveX, Data.DB, Data.Win.ADODB;
type
{
TMPropList class type
}
TMPropList = class(TObject)
private
FPropCount: Integer;
FPropList: PPropList;
protect ...
【Delphi】Utils.StdCtrls
unit Utils.StdCtrls;
interface
uses
Classes, Controls, StdCtrls, Windows;
type
TUiUtil = class(TObject)
public
{ 控件查找 TWinControl }
class function GetControlByName(ctrl: TWinControl; const name: string): TControl;
{ 控件查找 TComponent }
class funct ...
【Delphi】PLC.OMRON.FINS
OMRON FINS DEMO
unit PLC.OMRON;
interface
uses
System.StrUtils, System.SysUtils;
const
HEAD_CODE = '@';
DEFAULT_UNIT = 0;
PC_CODE = 'FA';
HEAD_BODY = '000000000';
READ_CMD = '0101';
WRITE_CMD = '0102';
DEFAULT_BIT = '00';
END_CODE = '*' + Chr(13);
WORD_PER_ ...
Delphi 容器类 TStringList 常用方法与属性(取值、赋值、排序)
Delphi 容器类 TStringList 常用方法与属性(取值、赋值、排序)
1、常用方法和属性
var
List: TStringList;
i: Integer;
begin
List := TStringList.Create;
List.Add('Test1'); {添加}
List.Add('Test2');
List.Exchange(0,1); {置换}
List.Insert(0,'Test3'); {插入}
i := L ...
dataset-serialize
dataset-serialize
<a href="https://github.com/viniciussanchez/dataset-serialize/blob/master/img/dataset-serialize.jpg"> <img alt="DataSet-Serialize" height="120" src="https://github.com/viniciussanchez/dataset-serialize/blob/master/img/dataset-serialize.jpg"></a>
# DataSet Serialize for Delphi an ...
有感Delphi 2021路线图
先回顾一下10.4.1,这个版本是在10.4的基础上,纯质量的提升,更确切的说,是进一步修正LSP,说实话,10.4的LSP只能说是个半成品,这个版本同时修正了上百个bug,遗憾的是,这个版本同时产生了严重的bug,那就是编译结果有错误,这是让人无法安心使用的,直到两个月后,才出补丁修正,昨天,又进一步发补丁,支持ios1 ...
Delphi ActionList详解
一个友好的用户界面,必须具有下拉菜单,弹出菜单,工具条和快捷键。同样一个功能,程序员可能要提供几种操作方式,如文本拷贝,菜单命令 &Copy,快捷键Ctrl+C,工具条上的拷贝按钮,都是程序员提供给用户的操作,可以大大方便了不同层次的用户。但是,多增加一种操作方式,就意味着增加响应事件的代码,还有,实现统一功 ...