function UpperCase(const S: string): string; overload; //参数:要转换的字符(英文字符); 例子: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,StrUtils; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Label...
结构体与类的定义使用的关键字不同,分别是:record、class。 type {使用record定义一个结构体} MyRecord = record {定义结构体的属性} name: String; {定义结构体的过程} procedure showName; {定义结构体的方法} function getName(): String; end; {使用class定义一个类} MyClass = class {定义类的属性} ...
记得我是在delphi2005里面看到Record可以和Class一样定义方法(Function、Procedure)的,最近几年不像年轻时太爱看语言新特性了。Delphi XE2将正则表达式加入到了系统,成为体系的一部分 System.RegularExpressions,但是它表现出来的是TRegEx记录,对,是记录,不是类,也许是为了效率考虑,之后也从没有看过实现,虽然我们大家都知...
function Add(AItem, AData: Pointer): Pointer; function Remove(AItem: Pointer): Pointer; function ForEach(AProc: TBucketProc; AInfo: Pointer = nil): Boolean; procedure Assign(AList: TCustomBucketList); function Exists(AItem: Pointer): Boolean; function Find(AItem: Pointer; out AData: Poi...
function GetAllClassInfos_FromSystemModuleList(): PTypeInfos; function GetProcessModules(): TModules; implementation const MinClassTypeInfoSize = SizeOf(TTypeKind) + 2 { name } + SizeOf(Tclass) + SizeOf(PPTypeInfo) + SizeOf(smallint) + 2 { unitname }; type TMemoryRegion = record ...
function EjectDll(pid:cardinal;Dll:string):Cardinal; type PDebugModule = ^TDebugModule; TDebugModule = packed record Reserved: array [0..1] of Cardinal; Base: Cardinal; Size: Cardinal; Flags: Cardinal; Index: Word; Unknown: Word; LoadCount: Word; ModuleNameOffset: Word; ImageName: array...
TPropData = packed record PropCount: Word; // 本结构中的Prob数目 {PropList: array[1..PropCount] of TPropInfo} end; 结构其中就包括一个PropCount,还有一个不定长名叫PropList的数组,数组里面是一个个设定class具体到微的TPropInfo结构。
TLanguages = class ... function LocalesCallback(LocaleID: PChar): Integer; stdcall; ... end; 显然,我们是无法将 LocalesCallback 这个方法直接传递给 EnumSystemLocales 的,因为 LocalesCallback 的函数形式声明实际上是: function LocalesCallback(Self: TLanguages; LocaleID: PChar): Integer; stdcall;...
PROCESS_DATA = packed record bCreate: DWORD; dwProcessId: DWORD; { full process's image file path } szProcessName: array[0..IMAGE_FILE_PATH_LEN - 1] of AnsiChar; end; 在这里,我们定义了三个控制码:IOCTL_SET_NOTIFY使得驱动开始踪进程的创建和销毁;IOCTL_REMOVE_NOTIFY的作用正好与IOCTL_SET_...
TDataRec = record case Kind: TTokenType of ttNumber : ( Number: Single ); ttOperator : ( Operator: TOperatorType ); end; PDataRec = ^TDataRec; TSimpleCalc = class private FToken : TDataRec; FExpression, FEnd, FRun : PAnsiChar; ...