当前位置:文档之家› Delphi的函数大全

Delphi的函数大全

Delphi的函数大全
Delphi的函数大全

delphi(pascal)的函册

名称类型说明

---------------------------------------------------------------------------------- Abort 函数引起放弃的意外处理

Abs 函数绝对值函数

AddExitProc 函数将一过程添加到运行时库的结束过程表中

Addr 函数返回指定对象的地址

AdjustLineBreaks 函数将给定字符串的行分隔符调整为CR/LF序列Align 属性使控件位于窗口某部分

Alignment 属性控件标签的文字位置

AllocMem 函数在堆栈上分配给定大小的块

AllowGrayed 属性允许一个灰度选择

AnsiCompareStr 函数比较字符串(区分大小写)AnsiCompareText 函数比较字符串(不区分大小写)AnsiLowerCase 函数将字符转换为小写

AnsiUpperCase 函数将字符转换为大写

Append 函数以附加的方式打开已有的文件

ArcTan 函数余切函数

AssignFile 函数给文件变量赋一外部文件名

Assigned 函数测试函数或过程变量是否为空

AutoSize 属性自动控制标签的大小

BackgroundColor 属性背景色

BeginThread 函数以适当的方式建立用于内存管理的线程BevelInner 属性控件方框的内框方式

BevelOuter 属性控件方框的外框方式

BevelWidth 属性控件方框的外框宽度

BlockRead 函数读一个或多个记录到变量中

BlockWrite 函数从变量中写一个或多个记录

BorderStyle 属性边界类型

BorderWidth 属性边界宽度

Break 命令终止for、while、repeat循环语句

Brush 属性画刷

Caption 属性标签文字的内容

ChangeFileExt 函数改变文件的后缀

ChDir 函数改变当前目录

Checked 属性确定复选框选中状态

Chr 函数返回指定序数的字符

CloseFile 命令关闭打开的文件

Color 属性标签的颜色

Columns 属性显示的列数

CompareStr 函数比较字符串(区分大小写)

Concat 函数合并字符串

Continue 命令继续for、while、repeat的下一个循环

Copy 函数返回一字符串的子串

Cos 函数余弦函数

Ctl3D 属性是否具有3D效果

Cursor 属性鼠标指针移入后的形状

Date 函数返回当前的日期

DateTimeToFileDate 函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr 函数将日期时间格式转换为字符串

DateTimeToString 函数将日期时间格式转换为字符串

DateToStr 函数将日期格式转换为字符串

DayOfWeek 函数返回星期的数值

Dec 函数递减变量值

DecodeDate 函数将日期格式分解为年月日

DecodeTime 函数将时间格式分解为时、分、秒、毫秒

Delete 函数从字符串中删除子串

DeleteFile 命令删除文件

DiskFree 函数返回剩余磁盘空间的大小

DiskSize 函数返回指定磁盘的容量

Dispose 函数释放动态变量所占的空间

DisposeStr 函数释放字符串在堆栈中的内存空间

DitherBackground 属性使背景色的色彩加重或减少50%

DragCursor 属性当鼠标按下时光标的形状

DragMode 属性按动的作用方式

DropDownCount 属性容许的显示数据项的数目

EditMask 属性编辑模式

Enabled 属性是否使标签呈现打开状态

EncodeDate 函数将年月日合成为日期格式

EncodeTime 函数将时、分、秒、毫秒合成为时间格式

EndMargin 属性末尾边缘

Eof 函数对有类型或无类型文件测试是否到文件尾

Eoln 函数返回文本文件的行结束状态

Erase 命令删除外部文件

ExceptAddr 函数返回引起当前意外的地址

Exclude 函数从集合中删除一些元素

ExceptObject 函数返回当前意外的索引

Exit 命令立即从当前的语句块中退出

Exp 函数指数函数

ExpandFileName 函数返回包含绝对路径的字符串

ExtendedSelect 属性是否允许存在选择模式,True时,MultiSelect才有意义ExtractFileDir 函数返回驱动器和路径

ExtractFileExt 函数返回文件的后缀

ExtractFileName 函数返回文件名

ExtractFilePath 函数返回指定文件的路径

FileAge 函数返回文件已存在的时间

FileClose 命令关闭指定的文件

FileCreate 命令用指定的文件名建立新文件

FileDateToDateTime 函数将DOS的日期格式转换为DELPHI的日期格式

FileExists 函数检查文件是否存在

FileGatAttr 函数返回文件的属性

FileGetDate 函数返回文件的DOS日期时间标记

FileOpen 命令用指定的存取模式打开指定的文件

FilePos 函数返回文件的当前指针位置

FileRead 命令从指定的文件读取

FileSearch 命令在目录中搜索指定的文件

FileSeek 函数改变文件的指针

FileSetAttr 函数设置文件属性

FileSetDate 函数设置文件的DOS日期时间标记

FileSize 函数返回当前文件的大小

FileWrite 函数对指定的文件做写操作

FillChar 函数用指定的值填充连续字节的数

{e.g

GetMem(R, SizeOf(TMyRecord));

FillChar(R^, SizeOf(TMyRecord), #0);

SetLength(R.S, $FFFF);

FreeMem(R); // 不会释放R.S 内存空间!!

}

FindClose 命令终止FindFirst/FindNext序列

FindFirst 命令对指定的文件名及属性搜索目录

FindNext 命令返回与文件名及属性匹配的下一入口

FloatToDecimal 函数将浮点数转换为十进制数

FloatToStrF 函数将浮点数转换为字符串

FloatToStr 函数将浮点数转换为字符串

FloatToText 函数将给定的浮点数转换为十进制数

FloatToTextFmt 函数将给定的浮点数转换为十进制数

Flush 函数将缓冲区的内容刷新到输出的文本文件中

FmtLoadStr 函数从程序的资源字符串表中装载字符串

FmtStr 函数格式化一系列的参数,其结果以参数Result返回

Font 属性设置字体

Format 函数格式化一系列的参数并返回Pascal字符串

FormatBuf 函数格式化一系列的参数

FormatDateTime 函数用指定的格式来格式化日期和时间

FormatFloat 函数指定浮点数格式

Frac 函数返回参数的小数部分

FreeMem 函数按给定大小释放动态变量所占的空间

GetDir 返回指定驱动器的当前目录

GetHeapStatus 返回内存管理器的当前状态

GetMem (var P: Pointer; Size: Integer);{(建立一指定大小的动态变量)分配一个指定大小的内存块(连续),并将指针指向该处}

GetMemoryManager 返回内存管理器的入口点

Glyph 函数按钮上的图象

学习视频网:https://www.doczj.com/doc/036576682.html,

Halt 停止程序的执行并返回到操作系统

Hi 返回参数的高地址位

High 返回参数的上限值

Hint 属性提示信息

Int 返回参数的整数部分

Include 添加元素到集合中

Insert 在字符串中插入子串

IntToHex(,) 将整型数转换为十六进制数。两个参数,第二个是返回十六进制数的最小长度IntToStr 将整型数转换为字符串

IOResult 返回最新的I/O操作完成状态

IsValidIdent 测试字符串是否为有效的标识符

Items 属性默认显示的节点

Kind 属性摆放样式

LargeChange 属性最大改变值

Layout 属性图象布局

Length 函数返回字符串的动态长度

Lines 属性缺省显示内容

Ln 函数自然对数函数

Lo 函数返回参数的低地址位

LoadStr 函数从应用程序的可执行文件中装载字符资源

LowerCase 函数将给定的字符串变为小写

Low 函数返回参数的下限值

Max 属性最大值

MaxLength 属性最大长度

Min 属性最小值

MkDir 命令建立一子目录

Move 函数从源到目标复制字节

MultiSelect 属性允许同时选择几个数据项

Name 属性控件的名字

New (var P: Pointer);{为一个指针变量分配内存,会自动计算指针所指数据结构需要空的空间大小(建立新的动态变量并设置一指针变量指向它)}

NewStr 函数在堆栈上分配新的字符串

Now 函数返回当前的日期和时间

Odd 测试参数是否为奇数

OnActivate 事件焦点移到窗体上时触发

OnClick 事件单击窗体空白区域触发

OnDblClick 事件双击窗体空白区域触发

OnCloseQuery 事件使用者试图关闭窗体触发

OnClose 事件窗体关闭后才触发

OnCreate 事件窗体第一次创建时触发

OnDeactivate 事件用户切换到另一应用程序触发

OnDragDrop 事件鼠标拖放操作结束时触发

OnDragOver 事件有其他控件从他上面移过触发

OnMouseDown 事件按下鼠标键时触发

OnMouseUp 事件释放鼠标键时触发

OnMouseMove 事件移动鼠标时触发

OnHide 事件隐藏窗体时触发

OnKeyDown 事件按下键盘某键时触发

OnKeyPress 事件按下键盘上的单个字符键时触发

OnKeyUp 事件释放键盘上的某键时触发

OnPaint 事件窗体上有新部分暴露出来触发

OnResize 事件重新调整窗体大小触发

OnShow 事件在窗体实际显示之前瞬间触发

Ord 返回序数类的序数

OutlineStyle 属性类型

OutOfMemoryError 引起OutOfMemory意外

PageIndex 属性页索引

Pages 属性页

ParamCount 函数返回在命令行上传递给程序的参数数量

ParamStr 函数返回指定的命令行参数

Pen 属性画刷设置

Pi 函数返回圆周率Pi

Picture 属性显示图象

PictureClosed 属性设置Closed位图

PictureLeaf 属性设置Leaf位图

PictureMinus 属性设置Minus位图

PictureOpen 属性设置Open位图

PicturePlus 属性设置Plus位图

Pos 函数在字符串中搜索子串

Pred 函数返回先前的参数

Random 函数返回一随机函数

Randomize 函数用一随机数初始化内置的随机数生成器

Read 函数对有格式的文件,读一文件组件到变量中;对文本文件,读一个或多个值到一个或多个变量中

Readln 函数执行Read过程,然后跳到文件下一行

ReadOnly 属性只读属性

ReAllocMem (var P: Pointer; Size: Integer);{重新分配指定大小内存块,参数P必须是nil或者指向一个由GetMem, AllocMem, 或ReallocMem分配的内存变量,其分配的内存是连续的,会把前面已有的数据移到新分配的内存中去}

Rename 函数重命名外部文件

RenameFile 函数对文件重命名

Reset 函数打开已有的文件

Rewrite 函数建立并打开一新的文件

RmDir 函数删除空的子目录

Round 函数将实数值舍入为整型值

RunError 函数停止程序的执行

ScrollBars 属性滚动条状态

Seek 函数将文件的当前指针移动到指定的组件上

学习视频网:https://www.doczj.com/doc/036576682.html,

SeekEof 函数返回文件的文件结束状态

SeekEoln 函数返回文件的行结束状态

SelectedColor 属性选中颜色

SetMemoryManager 函数设置内存管理器的入口点

SetLength函数为一个字符串变量分配空间

SetTextBuf 函数给文本文件指定I/O缓冲区

Shape 属性显示的形状

ShowException 函数显示意外消息与地址

Sin 函数正弦函数

SizeOf 函数返回参数所占的字节数

SmallChange 属性最小改变值

Sorted 属性是否允许排序

Sqr 函数平方函数

Sqrt 函数平方根函数

StartMargin 属性开始边缘

State 属性控件当前状态

Str 函数将数值转换为字符串

StrAlloc 函数给以NULL结束的字符串分配最大长度-1的缓冲区

StrBufSize 函数返回存储在由StrAlloc分配的字符缓冲区的最大字符数

StrCat 函数将一字符串附加到另一字符串尾并返回合并的字符串

StrComp 函数比较两个字符串

StrCopy 函数将一个字符串复制到另一个字符串中

StrDispose 函数释放堆栈上的字符串

StrECopy 函数将一字符串复制到另一个字符串并返回结果字符串尾部的指针StrEnd 函数返回指向字符串尾部的指针

Stretch 属性自动适应控件的大小

StrFmt 函数格式化一系列的参数

StrIComp 函数比较两个字符串(不区分大小写)

StringToWideChar 函数将ANSI字符串转换为UNICODE字符串

StrLCat 函数将一字符串中的字符附加到另一字符串尾并返回合并的字符串StrLComp 函数以最大长度比较两个字符串

StrLCopy 函数将一个字符串中的字符复制到另一个字符串中

StrLen 函数返回字符串中的字符数

StrLFmt 函数格式化一系列的参数,其结果中包含有指向目标缓冲区的指针StrLIComp 函数以最大长度比较两个字符串(不区分大小写)

StrLower 函数将字符串中的字符转换为小写

StrMove 函数将一个字符串中的字符复制到另一个字符串中

StrNew 函数在堆栈上分配一个字符串

StrPas 函数将以NULL结束的字符串转换为PASCAL类的字符串

StrPCopy 函数将PASCAL类的字符串复制为以NULL结束的字符串StrPLCopy 函数从PASCAL类的最大长度字符串复制为以NULL结束的字符串StrPos 函数返回一个字符串在另一个字符串中首次出现指针

StrRScan 函数返回字符串中最后出现字符的指针

StrScan 函数返回字符串中出现首字符的指针

StrToDate 函数将字符串转换为日期格式

StrToDateTime 函数将字符串转换为日期/时间格式

StrToFloat 函数将给定的字符串转换为浮点数

StrToInt 函数将字符串转换为整型

StrToIntDef 函数将字符串转换为整型或默认值

StrToTime 函数将字符串转换为时间格式

StrUpper 函数将字符串中的字符转换为大写

Style 属性类型选择

Suce 函数返回后继的参数

Swap 函数交换参数的高低地址位

Tabs 属性标记每一项的内容

TabIndex 属性标记索引

Text 属性显示的文本

TextToFloat 函数将字符串(以NULL结束的格式)转换为浮点数Time 函数返回当前的时间

TimeToStr 函数将时间格式转换为字符串

Trim 函数从给定的字符串中删除前导和尾部的空格及控制字符TrimLeft 函数从给定的字符串中删除首部的空格及控制字符TrimRight 函数从给定的字符串中删除尾部的空格及控制字符Trunc 函数将实型值截取为整型值

Truncate 函数截去当前文件位置后的内容

UnSelectedColor 属性未选中颜色

UpCase 将字符转换为大写

UpperCase 将给定的字符串变为大写

Val 函数将字符串转换为整型值

VarArrayCreate 函数以给定的界限和维数建立变体数组VarArrayDimCount 函数返回给定变体的维数VarArrayHighBound 函数返回给定变体数组维数的上界VarArrayLock 函数锁定给定的变体数组

VarArrayLowBound 函数返回给定变体数组维数的下界VarArrayOf 函数返回指定变体的数组元素

VarArrayRedim 函数通过改变上限来调整变体的大小VarArrayUnlock 函数解锁指定的变体数组

VarAsType 函数将变体转换为指定的类型

VarCase 函数将变体转换为指定的类型并保存他

VarClear 函数清除指定的变体

VarCopy 函数将指定的变体复制为指定的变体VarFormDateTime 函数返回包含日期时间的变体

VarIsArray 函数测试变体是否为数组

VarIsEmpty 函数测试变体是否为UNASSIGNED

VarIsNull 函数测试变体是否为NULL

VarToDateTime 函数将给定的变体转换为日期时间

VarType 函数将变体转换为指定的类型并保存他

Visible 属性控件的可见性

学习视频网:https://www.doczj.com/doc/036576682.html,

WantReturns 属性为True时,按回车键产生一个回车符;为False时,按下Ctrl+Enter才产生回车符

Write 命令对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中

Writeln 命令执行WRITE过程,然后输出一行结束标志

WideCharLenToString 函数将ANSI字符串转换为UNICODE字符串WideCharLenToStrWar 函数将UNICODE字符串转换为ANSI字符串变量WideCharToString 函数将UNICODE字符串转换为ANSI字符串

WideCharToStrVar 函数将UNICODE字符串转换为ANSI字符串变量

absolute

//它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var

Str: string[32];

StrLen: Byte absolute Str;

//这个声明指定了变量StrLen起始地址与Str相同.

//由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度.

begin

Str := 'abc';

Edit1.Text := IntToStr(StrLen);

end;

abstract

//它允许你创建抽象的方法, 包括有抽象方法的类称为抽象类.

//Abstract关键字必须与Virtual或Dynamic关键字同时使用, 因为抽象方法必须被覆盖式实现.

//抽象类不能实例化, 抽象方法不能包含方法体.

type

TDemo = class

private

protected

procedure X; virtual; abstract;

public

constructor Create;

destructor Destroy; override;

published

end;

and

//一、表示逻辑与

if (a>0) and (b>0) then

//二、表示位运算学习视频网 https://www.doczj.com/doc/036576682.html,

a,b,c: Integer;

begin

c := (a an

d b);

end;

//使用And表示逻辑时, And左右的表达式必须用小括号括起, 以避免以生条件的冲突.

//例如:

if a>0 and b>0 then

//编译器可能会理解为:

if a>(0 and b)>0 then

//或:

if (a>0) and (b>0) then

//但是实际编译时, 编译器会产生一个冲突, 报告错误.

//并且第一种可能包含了a>b>c的形式, 这在Delphi中不被支持.

//所以使用And运算符时必须使用括号, 以区分左右的条件.

//表示位运算时也必须加上括号, 将And以及左右参数括起.

array

//Array用于表示数组, 任何的对象都能被声明成数组.数组分为静态和动态的2种.

//静态数组

var

Arr1: array [1..10] of Integer;

//动态数组, 由于声明时不知其元素个数, 所以必须在后期用SetLength方法设置数组的大小

var

Arr2: array of Integer;

//数组作为参数时, 不能传入数组的大小, 只能传入数组名, 然后用Length方法获取数组的元素个数

function X(A: array of Integer): Integer;

var

i: Integer;

begin

Result := 0;

for i := 0 to Length(A)-1 do

Result := Result + A[i];

end;

as

//As用于将一个对象转换为另一个对象

procedure BtnClick(Sender:TObject);

begin

(Sender as TButton).Caption := 'Clicked';

学习视频网:https://www.doczj.com/doc/036576682.html,

//对于对象填充接口的转换, 必须用As进行

(HTTPRIO as IExp).GetConnection;

//As不能用于数据类型的转换, 下面的代码是错误的:

var

i: Integer;

s: string;

begin

s := (i as string);

end;

//正确写法是:

s := string(i);

asm

//Asm关键字用于插入汇编代码, 使用汇编代码时, 必须使用asm...end;的结构, 而非begin...end;

function IntToHex(Value: Integer; Digits: Integer): string;

asm

CMP EDX, 32

JBE @A1

xor EDX, EDX

@A1: PUSH ESI

MOV ESI, ESP

SUB ESP, 32

PUSH ECX

MOV ECX, 16

CALL CvtInt

MOV EDX, ESI

POP EAX

CALL System.@LStrFromPCharLen

ADD ESP, 32

POP ESI

end;

assembler

//Assembler关键字用于支持早期的汇编, 如80386等.

//它和Asm的区别:Asm允许使用Win32汇编, 而Assembler只允许80x86汇编, 它不允许Invoke语句的出现.

function IntToHex(AValue: Int64): string; assembler;

automated

//Automated访问区分符用于描述一个自动类型的成员, 它能够使程序的版本向下兼容.

//ComObj单元内的成员及其实例不能使用Automated访问区分符.

TDemo = class

automated

Str:WideString;

end;

//在程序的下一个版本中, 将Str做了修改, 变成

type

TDemo = class

automated

Str: AnsiString;

end

//则新版本的Str变量能够接受旧版本的WideString型数据, 并自动转换成AnsiString.

//在实际开发中, 如果没有特殊的需要, 一般不用automated访问区分符.

begin

//begin关键字用于表示一段程序或一个结构的开始, 必须用end关键字来结束.

procedure X;

begin

ShowMessage('A Demo');

end;

//一般的结构, 如If, For, While等也需要用begin关键字来标出结构起始点for i:=1 to 100 do

begin

sum := sum + i;

if sum > 1000 then Break;

end;

case

//Case语句用于完成条件选择, Case语句的的被选择对象必须是有序类型, 包括整型, 枚举类型, 字符型等.

//Case语句必须由end结束,如果没有相符合的选择项, 可以加入else来作出通用选择.

function GetDays(AYear,AMonth: Integer): Integer;

begin

case AMonth of

1,3,5,7,8,10,12: Result := 31;

4,6,9,11: Result := 30;

2: begin

if IsLeapYear(AYear) then

Result:=29

else

Result:=28;

学习视频网:https://www.doczj.com/doc/036576682.html,

else

Result:=0;

end;

cdecl

//Cdecl是函数调用协定的一种, 它规定了从C或C++编写的DLL中调用函数所必须遵守的规则.

//它可以将C或C++中的数据类型转换为Delphi的.

//例如C++中的代码:

int X(int i)

{

return i*2;

}

//这个函数被编译在Demo.dll中, 用Delphi调用时必须使用:

function X(i: Integer): Integer; Cdecl; external 'Demo.dll';

class

//Class关键字用于声明或继承一个类, 也可以使类和接口同时继承.

//另外, Class关键字也能用于声明类通用方法, 使得父类可以从类内访问子类的方法.

type

ClassDemo = class(TObject)

private

public

constructor Create;

end;

//如果用class声明方法, 则该方法在类与相关类中都可以使用, 譬如:

type

ClassA = class

private

public

procedure Y;

end;

type

ClassB = class(ClassA)

private

public

class procedure X;

end;

//则在使用时ClassA能够直接访问ClassB的X方法

procedure ClassA.Y;

begin

end;

//此时父类将子类的class方法作为自身的方法进行调用.

const

//Const关键字用于声明常量, 使用const声明的数据将不能在程序中被改变. //也可以用来声明函数参数, 用const指定的参数不允许在函数中改变. const MyFileName = 'Delphi';

const MyInteger = 100;

//用Const声明常量不需要指出其数据类型, 系统会自动判断类型, 并作自动调整.

//函数中可以用const声明不可更改的参数

function X(const i: Integer): string;

//此时在函数操作过程中, i的值不可改变.

constructor

//constructor关键字用来声明一个类的构造函数, 当类被实例化时, 首先调用此函数

//构造函数一般用Create表示, Create方法能够连带类中存在的CreateWnd方法.

type

ClassDemo = class(TObject)

private

fValue: Integer;

public

constructor Create;

end;

constructor ClassDemo.Create;

begin

fValue := 0;

end;

contains

//Contains关键字指出了某个包(Package)是否包含某个文件.

//用Contains引入的文件必须被添加到包文件中, 它可以避免关键文件的引用丢失.

package DATAX;

requires

rtl, clx;

contains

Db, DBLocal, DBXpress;

end.

学习视频网:https://www.doczj.com/doc/036576682.html,

default

//Default关键字用于指出一个属性的默认值

//只有有序类型的属性才允许默认值的存在, 否则必须在构造函数中初始化属

性值.

type

ClassDemo = class

private

fValue: Integer;

published

property Value: Integer read fValue write fValue default 0;

end;

//它也可以指出一个类的默认属性

property strings[Index: Integer]: string read GetString write PutString; Default;

destructor

//Destructor用于标识析构函数, 析构函数在类被释放时自动调用.

//析构函数只允许覆盖, 再不允许重载.析构函数通常用Destroy作为函数名. type

ClassDemo = class(TComponent)

public

destructor Destroy;override;

end;

//由于TComponent类中也有Destroy方法, 所以要将其重写

//但是若要重载析构函数, 则不允许, 下面代码是错误的:

destructor Destroy; overload;

dispid

//DispId关键字被用在DispInterface接口中, 用于指定特定的适配序号.

//在DispInterface接口中, 适配序号必须是唯一的,

//如果不指定DispId, 则系统会自动分配适配序号给接口内每一个方法.

//可以通过适配序号访问DispInterface接口中的方法.

type

IStringsDisp = dispinterface

['{EE05DFE2-5549-11D0-9EA9-0020AF3D82DA}']

property ControlDefault[Index: Integer]: Olevariant dispid 0; default;

function Count: Integer; dispid 1;

property Item[Index: Integer]: Olevariant dispid 2;

procedure Remove(Index: Integer); dispid 3;

procedure Clear; dispid 4;

function Add(Item: Olevariant): Integer; dispid 5;

function _NewEnum: IUnknown; dispid -4;

end;

dispinterface

//DispInterface用于声明一个特定的适配器接口, 这个适配器能够接受标准系统接口中传入传出的数据.

//用DispInterface声明的接口不能被继承, 只能够被引用.

//DispInterface中方法只能调用, 并且必须被动态绑定.

//可以通过DispId为接口内方汉分配适配序号.

//DispInterface仅能用于Windows平台, 如果在Linux下进行开发, 则此关键字会自动被系统屏蔽.

//通常情况下, 不使用DispInterface.

//实例请参见DispId

div

//Div用于求两数之整数商.用于Div运算的两个数值必须均为整型, 其运算结果也为整型.

var

a,b,c:Integer;

begin

a := 20;

b := 3;

c := a div b; {6}

end;

do

//Do关键字用于For, While, On, With语句, 构成特定的结构

//For语句:

for i := 1 to 100 do sum:=sum+i;

//While语句:

while i < 100 do

begin

sum := sum + i;

Inc(i);

end;

//On语句(异常处理):

try

i := StrToInt(s);

except

on exception do ShowMessage('Error!');

end;

//With语句:

with Memo1.Lines do

begin

学习视频网:https://www.doczj.com/doc/036576682.html,

Clear;

Append('abc');

Append('123');

end;

downto

//DownTo关键字用于For语句, 指明循环变量是递减的.

for i := 100 downto 1 do

ListBox1.Items.Add(IntToStr(i));

//在For语句中, 循环变量递增用To关键字, 递减用DownTo关键字.

dynamic

//Dynamic用于声明一个动态的方法,

//动态方法可以被覆盖, 并且可以使代码大小尽可能的减少(区别于Virtual). procedure X(i: Integer); dynamic;

else

//else用于引导程序的运行方向, 它可以与If, Case和On语句联用, 当条件不满足时, 转到else下运行

//If语句(在If语句中, else前不允许有分号):

if a > b then

c := a

else

c:=b;

//Case语句:

case Tag Of

1:Result:=1;

2:Result:=2;

3:Result:=3;

else

Result:=0;

end;

//On语句(异常处理):

try

i := StrToInt(s);

Excpet

on EZeroDivide do Result := 1;

on EOverflow do Result := 2;

else

Result := 0;

end;

end

//End用于结束一个语句块或是一个单元.

//它可以与begin, Case, Class, Interface, Asm, Unit, Package等相匹配. //对于语句块(局部结束), End后必须添加分号.

//而对于单元或包(全局结束), end后必须添加句号.

//在If语句中else关键字前的End后不允许添加符号.

procedure X;

begin

with Button1 do

begin

if Button1.ShowHint then

Button1.Caption := 'Hinted'

else

Button1.Caption := 'Not Hinted';

end;

end;

//在包内使用End来结束:

package DATAX;

requires

rtl,

clx;

contains Db, DBLocal, DBXpress;

end.

except

//except关键字用于异常处理, 必须用在try语句内, 如果发生异常, 则执行except后的语句

try

i := StrToInt(s);

except

ShowMessage('Error!');

end;

export

//Export标明了函数调用协定, 指出函数可以被输出, 输出的函数能被本地或远程调用.

//其他程序可以用dll的形式调用程序内的函数.它是向下兼容的.

function Add(a,b: Integer): Integer; export;

//如果这个程序被编译为Demo.exe, 并且另一个程序需要调用这个函数, 可以使用以下语句

function Add(a,b: Integer): Integer; stdcall; external 'Demo.exe';

学习视频网:https://www.doczj.com/doc/036576682.html,

exports

//exports用于输出对象, 它必须被用在接口和实现之间, 可以同时输出多个项, 项与项之间用逗号分开.

library Demo;

function X(i: Integer): string; stdcall;

begin

Result:=IntToStr(i);

end;

exports

X;

begin

end.

//如果输出的对象被重载(重载对象必须保证参数类型或个数不同), 则必须给

对象起个别名, 并注明参数.

library Demo;

function X(i: Integer): string; overload; stdcall;

begin

Result := IntToStr(i);

end;

function X(s: string): Integer; overload; stdcall;

begin

Result := StrToInt(s);

end;

exports

X(i: Integer) name 'x1',

X(s: string) name 'x2';

begin

end.

external

//External关键字用于引用一个外部的或是OBJ内的方法.

{$L Demo.OBJ}

procedure X(i:Integer);external;

//如果是从dll或外部程序中引用, 则可以使用以下代码:

function A(FileName: string): string; external 'Demo.dll';

//如果被引用的函数被重载, 则必须另外指出引用的名称.

function A(Name: string): string; overload; stdcall; external 'Demo.dll' name 'A1';

function A(Code: Integer): string; overload; stdcall; external

'Demo.dll' name 'A2';

//使用External关键字时, 必须注意大小写, 否则将出现错误.

far

//Far标明了函数调用协定, 指出函数可以被远程调用.

//其他程序可以用dll的形式调用程序内的函数.它是向下兼容的.

function Add(a,b: Integer): Integer; Far;

//如果这个程序被编译为Demo.exe, 并且另一个处于其他计算机的程序需要调用这个函数, 可以使用以下语句:

function Add(a,b: Integer): Integer; stdcall; external 'Demo.exe';

file

//File关键字指出了文件操作类型, 文件必须被声明为File,

//如果在File后追加Of和文件类型, 则文件可以被定义为读写指定类型数据. type

TPerson = record

PName: string[32];

PAge: Integer;

end;

var

PFile: file of TPerson;

finalization

//finalization关键字标识了单元被释放时所要调用的方法,

//通常是释放掉单元中不能自动释放的对象, 也可以不用.

//finalization最常用的情况是对OLE对象做反初始化.

initialization

ActiveX.OleInitialize(nil);

finalization

ActiveX.OleUninitialize;

finally

//finally关键字指出了异常处理中最后必须要调用的方法,

//不论是否发生异常, finally后的语句总是在try语句结束时执行.

try

Node := Node.GetNext;

学习视频网:https://www.doczj.com/doc/036576682.html,

Edit1.Text := Node.Text;

finally

Node := nil;

end;

for

//For关键字引出For循环结构, 用于做指定次数的循环.

for i := 1 to 100 do sum := sum + i;

//如果循环变量是递减的, 则可以用DownTo关键字

for i := 100 downto 1 do Inc(sum);

forward

//Forward关键字用于方法的前置定义.只定义方法声明, 然后在程序的后面对方法进行实现.

//这么做有利于代码的可读性, 可以将所有的声明放在一起, 然后将所有的实现也放在一起.

function X(i: Integer): Integer; forward;

procedure Y(s: string); forward;

...

function X;

begin

Result := i * 2;

end;

procedure Y;

begin

WriteLn(s);

end;

//用Forward前置声明的方法在实现时不需要再输入方法的参数和返回值, 直接使用方法名即可.

function

//Function用于声明函数

function X(i: Integer): Integer;

//它也可以用于动态函数的声明

type

TFun = function(i: Integer): Integer of object;

//动态声明时, 不需要指出函数名, 只需要指出参数和返回类型就可以, 具体的函数名可以在后期绑定.

Delphi Api

auxGetDevCaps API 获取附属设备容量 auxGetNumDevs API 返回附属设备数量 auxGetVolume API 获取当前卷设置 auxOutMessage API 向输出设备发送消息 auxSetVolume API 设置附属设备卷 AbortDoc API 终止一项打印作业 AbortPath API 终止或取消DC中的一切路径 AbortPrinter API 删除打印机缓冲文件AbortSystemShutdown API 停止系统工作 AccessCheck API 检验客户访问权限AccessCheckAndAuditAlarm API 检验访问,产生声音或警报ActivateKeyboardLayout API 激活一个新的键盘设备AddAccessAllowedAce API 将ACCESS_ALLOWED_ACE加入ACL AddAccessDeniedAce API 将ACCESS_DENIED_ACE加入ACL AddAce API 将ACE加入一个已存在的ACL AddAtom API 将一个字符串加入本地原子表AddAuditAccessAce API 将SYSTEM_AUDIT_ACE加入ACL AddFontResource API 将一种字体加入字体表 AddForm API 加入一个打印机窗体 AddJob API 启动一个打印作业 AddMonitor API 加入一个打印机管理器 AddPort API 加入一个打印机端口 AddPrintProcessor API 将打印处理器复制到打印机服务器中AddPrintProvidor API 加入一个打印机支持器 AddPrinter API 在打印机服务器上建立一个打印机AddPrinterConnection API 为当前用户建立与打印机的联系AddPrinterDriver API 将打印机驱动程序复制到打印机服务器中AdjustTokenGroups API 使能/取消令牌中的群AdjustTokenPrivileges API 使能/取消令牌特权AdjustWindowRect API 计算所需窗口矩形的大小AdjustWindowRectEx API 计算所需窗口矩形的大小AdvancedDocumentProperties API 进行打印机高级设置AllocConsole API 为当前进程建立控制台AllocateAndInitializeSid API 分配和初始化SID AllocateLocallyUniqueId API 分配LUID AngleArc API 按指定角度画弧 AnimatePalette API 替换逻辑调色板中的项目 AnyPopup API 标识弹出式窗口是否存在 AppendMenu API 在菜单中加入新的项目 Arc API 画弧 ArcTo API 画椭圆弧 AreAllAccessesGranted API 检查所有要求的访问AreAnyAccessesGranted API 检查任何要求的访问ArrangeIconicWindows API 排列最小化的子窗口

delphi数学模块函数、过程大全

function ArcCos(const X : Extended) : Extended; overload; function ArcCos(const X : Double) : Double; overload; function ArcCos(const X : Single) : Single; overload; function ArcSin(const X : Extended) : Extended; overload; function ArcSin(const X : Double) : Double; overload; function ArcSin(const X : Single) : Single; overload; function ArcTan2(const Y, X: Extended): Extended; procedure SinCos(const Theta: Extended; var Sin, Cos: Extended) register; function Tan(const X: Extended): Extended; function Cotan(const X: Extended): Extended; { 1 / tan(X), X <> 0 } function Secant(const X: Extended): Extended; { 1 / cos(X) } function Cosecant(const X: Extended): Extended; { 1 / sin(X) } function Hypot(const X, Y: Extended): Extended; { Sqrt(X**2 + Y**2) } function RadToDeg(const Radians: Extended): Extended; inline; { Degrees := Radians * 180 / PI } function RadToGrad(const Radians: Extended): Extended; inline; { Grads := Radians * 200 / PI } function RadToCycle(const Radians: Extended): Extended; inline; { Cycles := Radians / 2PI } function DegToRad(const Degrees: Extended): Extended; inline; { Radians := Degrees * PI / 180} function DegToGrad(const Degrees: Extended): Extended; function DegToCycle(const Degrees: Extended): Extended; function GradToRad(const Grads: Extended): Extended; inline; { Radians := Grads * PI / 200 } function GradToDeg(const Grads: Extended): Extended; function GradToCycle(const Grads: Extended): Extended; function CycleToRad(const Cycles: Extended): Extended; inline; { Radians := Cycles * 2PI } function CycleToDeg(const Cycles: Extended): Extended; function CycleToGrad(const Cycles: Extended): Extended; { Hyperbolic functions and inverses } function Cot(const X: Extended): Extended; inline; { alias for Cotan } function Sec(const X: Extended): Extended; inline; { alias for Secant } function Csc(const X: Extended): Extended; inline; { alias for Cosecant } function Cosh(const X: Extended): Extended; function Sinh(const X: Extended): Extended; function Tanh(const X: Extended): Extended; function CotH(const X: Extended): Extended; inline; function SecH(const X: Extended): Extended; inline; function CscH(const X: Extended): Extended; inline; function ArcCot(const X: Extended): Extended; { IN: X <> 0 } function ArcSec(const X: Extended): Extended; { IN: X <> 0 } function ArcCsc(const X: Extended): Extended; { IN: X <> 0 } function ArcCosh(const X: Extended): Extended; { IN: X >= 1 } function ArcSinh(const X: Extended): Extended;

Delphi如何使用基本的绘图函数绘制统计图

一个windows自带的画图工具是无论如何也不能满足我们的画图需要的,很多效果都需要我们在另外的工具中来实现。这些高级的功能是如何实现的呢,如何操纵一些基本的属性和函数,让它们最终能作出我们想要的效果呢?这里我们以绘制统计图来说明这些问题。 解决思路―― 这里,我们暂且先撇开具体的问题,综合地一下讨论画图的问题。 画图工具是基本元素的具体实现,对于我们初学者来说,还是有很好的参考价值的,在delphi 5中有一个自带的工程例子“……Borland\Delphi5\Demos\Doc\Graphex”,这个例子可以实现一些基本的绘图功能。对这个例子多加修改,一定会有所收获的。这里就不列出它的详细代码了,有心的读者可以自己找到这个例子。我这里只是想综合地讨论这方面的问题。使用DELPHI编写绘图软件的灵魂就在于操作画布,画笔和刷子,尽可能地挖掘它们的属性和相关参数的设置。 (一)画布 画布,画笔和刷子之间的关系很明了.其实,画笔和刷子都是画布的一个属性.而画布也只是TForm,TImage,TShape等组件对象的一个属性,专门负责与图象相关的信息打交道.它的主要作用可以概括如下几点: 1.指定使用画笔,刷子和字体的使用类型; 2.绘制和填充指定形状的线或图形; 3.修饰和改变图象; 画布的主要属性有: Brush--指定填充图形和背景的样式 CanvasOrientation--指定画布的定位类型,有coLeftToRight, coRightToLeft两个属性; ClipRect--指定剪切矩形的边界; CopyMode--指定图形图象的复制模式; Font--指定画布上使用的字体; Handle--为画布指定窗口GDI对象的设备描述表; LockCount--指定画布被别的线程锁定的次数; Pen--指定画布上使用的画笔,具体见下面描述; PenPos--指定画笔当前的位置; Pixels--指定当前剪切矩形的象素颜色; TextFlags--指定字体在画布上的显示方式,有ETO_CLIPPED,ETO_OPAQUE,ETO_RTLREADING,ETO_GL YPH_INDEX,ETO_IGNORELANGUAGE,ETO_NUMERICSLOCALETO_NUMERIC SLATIN等值可选; 画布相关的API函数及其注释如下: Arc--按指定方式画一条弧; BrushCopy--把位图复制到指定的画布的矩形中,用画布刷子颜色替换位图的颜色; Chord--按指定方式画弦; CopyRect--从一个矩形区域复制部分图象到另一个矩形区域; Draw--用指定参数在指定位置画图; DrawFocusRect--按指定焦点风格,通过异或操作来绘制一焦点矩形; Ellipse--按指定参数画一椭圆; FillRect--按指定的刷子填充一矩形; FloodFill--使用当前选定的刷子填充指定设备描述表中的一块区域;

DELPHI常用组件

Delphi常用组件的使用 目录 1.按钮类组件 1.1Button组件

Button组件位于Standard页。 Button组件的常用属性表 属性描述 Cation用于在按钮上显示文本内容 Cancel用来指定按钮是否为取消按钮 Default用于指定按钮是否为默认按钮,在按Enter键时也选中命令按钮Hint设置鼠标在组件上短暂停时在组件旁显示的提示小窗口的内容ShowHint确定是否显示提示文本,默认值是FALSE 1.2Bitbtn组件 Bitbtn组件(位图组件)位于Additional,与Button很相似,只是多了一个位图符号在按钮上(如带有对号的OK,问好的Help等),其某些属性与Button类似,下表为其独有的的特性。(注:此组件不需编写代码) Bitbtn组件的常用属性表 属性描述 Kind Kind属性的值就是位图按钮上显示的图标。Kind属性后的下拉列表中有一组默认图标的属性值,有bkCancel(取消)、bkAbort(终止)、bkAll(所有)、 bkClose(关闭)等。 Glyph用于在位图按钮上显示加载后的位图图形 NumGlyphs用于指明位图按钮所能使用位图的个数。在delphi中,最多允许向一个位图按钮提供4个图像文件,用于表示4中不停状态 Layout用于指出位图图形在位图组件上的放置位置 1.3SpeedButton组件 SpeedButton组件(加速按钮)位于Additional,常放置在Panel组件上,用于设计工具栏。它与Bitbtn相似,也可以显示图像和文本,但通常只用于显示图像。 SpeedButton组件的常用属性表 属性描述 AllowAllUp用于设置同一组的加速按钮是否具有同时弹起的状态。若设置为FALSE,则当同一组加速按钮中的一个被按下时,其他加速按钮都处于弹起状态,即这 组按钮必须有且只有一个处于按下状态 Down用于设置该加速按钮是否处于按下状态,若设置为TRUE,则表示按钮处于按下状态 Flat用于设置在鼠标移动到该按钮上时,按钮是否显示三维效果。为FLASE则不出现 GroupIndex用于将数个加速按钮设置成一组,只需将其值设置成不等于0的数值即可1.4RadioButton组件

DELPHI常用函数说明

一、数据类型转换函数1 在我们编写程序当中,根据不同情况,会使用到多种数据类型。当要对不同的类型进行操作时,必须要将不同的类型转换成同样的类型。因此熟练地掌握数据类型的转换是非常重要的。 1.FloatToStr 功能说明:该函数用于将“浮点型”转换成“字符型”。 参考实例: Edit1.Text := FloatToStr(1.981); 2.IntToStr 功能说明:该函数用于将“整数型”转换成“字符型”。 参考实例: S := IntToStr(10);(注:S为String类型变量。) 3.IntToHex 功能说明:该函数用于将“十进制”转换成“十进制”。该函数有二个参数1。第一个参数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据。 参考实例: Edit1.Text := IntToHex('100', 2);

执行结果,Edit1.Text等于64。 注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函数可以实现这个功能。具体代码是:I := StrToInt('S\' + '64'); 这时I等于100。加上一个'S\'即可将“十六进制”转换为“十进制”。 4.StrToInt 功能说明:该函数用于将“字符型”转换成“整数型”。 参考实例: I := StrToInt('100'); 注意:不能转换如StrToInt('ab')或StrToInt('好')这样的类型,因为他们并不存在数字型。 5.StrToFloat 功能说明:该函数用于将“字符型”转换成“浮点型”。 参考实例: N := StrToFloat(Edit1.Text); 注意:Edit1.Text中的内容为1.981(凡在Edit 控件中显示的文本均为字符串)。N为Double类型,用于保存转换后的浮点型数据。

(DELPHI)API函数大全

(DELPHI)API函数大全 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC (统一命名规范)名称 WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 2. API之消息函数 BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息 SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 3. API之文件处理函数 CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件

Delphi函数大全

Delphi函数大全 首部function Languages: TLanguages; $[ 功能返回系统语言对象 说明通过此函数可以得到系统的语言环境 参考type 例子 12a12c12a12c. 参考 例子:= IsValidIdent; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToStr(Value: Integer): string; overload; $[ 首部function IntToStr(Value: Int64): string; overload; $[ 功能返回整数Value转换成字符串 说明Format('%d', [Value]) 参考function 例子:= IntToStr; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToHex(V alue: Integer; Digits: Integer): string; overload; $[ 首部function IntToHex(V alue: Int64; Digits: Integer): string; overload; $[ 功能返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value]) 说明参数Digits指定字符最小宽度;最小宽度不足时将用0填充 参考function 例子:= IntToHex, ; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToInt(const S: string): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时将引起异常 参考procedure 例子:= StrToInt; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToIntDef(const S: string; Default: Integer): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时则返回默认值Default 参考procedure 例子:= StrToIntDef, 0); ━━━━━━━━━━━━━━━━━━━━━ 首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[ 功能返回字符串S转换成整数V alue是否成功 说明字符串非整数表达时返回False并且Value将输出为0 参考procedure 例子 ..);打开失败则返回负数 参考function

delphi常用函数大全

delphi常用函数大全(转) Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中 Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块 AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写) AnsiCompareText函数比较字符串(不区分大小写) AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程 BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录 Checked属性确定复选框选中状态 Chr函数返回指定序数的字符 CloseFile命令关闭打开的文件 Color属性标签的颜色 Columns属性显示的列数 CompareStr函数比较字符串(区分大小写) Concat函数合并字符串 Continue命令继续for、while、repeat的下一个循环 Copy函数返回一字符串的子串 Cos函数余弦函数 Ctl3D属性是否具有3D效果 Cursor属性鼠标指针移入后的形状 Date函数返回当前的日期 DateTimeToFileDate函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr函数将日期时间格式转换为字符串DateTimeToString函数将日期时间格式转换为字符串 DateToStr函数将日期格式转换为字符串

Delphi 文件操作集锦

Delphi 文件操作集锦 Delphi 文件操作集锦 时间:2011-5-26来源:yang 作者: peng点击: 11次Delphi 文件操作集锦 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses activex,comobj,shlobj; {$R *.dfm} function ResolveLink(const ALinkfile: String): String; var

link: IShellLink; storage: IPersistFile; filedata: TWin32FindData; buf: Array[0..MAX_PATH] of Char; widepath: WideString; begin OleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, link)); OleCheck(link.QueryInterface(IPersistFile, storage)); widepath := ALinkFile; Result := ‘unable to resolve link‘; If Succeeded(storage.Load(@widepath[1], STGM_READ)) Then If Succeeded(link.Resolve(GetActiveWindow, SLR_NOUPDATE)) Then If Succeeded(link.GetPath(buf, sizeof(buf), filedata, SLGP_UNCPRIORITY)) Then Result := buf; storage := nil; link:= nil; end; // 用法: procedure TForm1.Button1Click(Sender: TObject);

常用API函数参数

常用API函数参数5 ImmIsIME 函数功能: 判断指定的句柄是否为IME; 函数原型: BOOL ImmIsIME( HKL hKL ); 参数hKL: 待检查的键盘布局句柄; 返回值: 函数调用成功返回1,失败返回0. 速查信息: Windows NT: 要求4.0或更高版本 Windows: 要求Windows 95 或更高. Windows CE:不支持. Header: 声明在imm.h. Import Library: imm32.lib. Windows XP没有自带五笔型输入法,这对五笔型用户而言无疑是个大大的遗憾。网上的五笔型输入法虽然种类很多,也不乏优秀的版本,但一方面有些版本是共享软件需要注册,另一方面也许很多五笔型输入法的老用户最习惯用的还是老牌的“王码五笔型输入法86/98版”。 微软的Office XP软件中包含了这个老牌的五笔型输入法,但如果用户并不使用Office XP中的任何组件,仅仅是为了使用“王码五笔型输入法”而运行Office XP安装程序,就显的有些小题大做了,更不用说是某些零时在外面用公用电脑而又想用五笔型输入法的情况。于是网上出现了很多简化的安装方法,大体上可以分为三个步骤: 拷贝输入法文件(从Of还是9x/ME。示例代码fice XP光盘中或已经安装了“王码五笔型输入法”的电脑中提取) 增加注册表项 重启后通过控制面板添加输入法

整个过程中拷贝输入法文件和增加注册表项可以用批处理和导入注册表文件来简化操作,但必须重启计算机才能在控制面板里添加输入法,这同样让使用者觉得比较烦琐。那么作为一个编程爱好者能不能通过写个小程序来实现在不重新启动计算机的情况下全自动的安装“王码五笔型输入法”呢(也就是即装即用)?答案是肯定的!因为微软的Office XP 安装程序做到了,这就表示微软肯定留有一个专门用来安装输入法的接口,一般来说应该是一系列API函数。 经过一番摸索,笔者在MSDN里找到了这个可以用来安装输入法的API:ImmInstallIME()。Ok,现在我们就开始利用这个API来实现自己的“王码五笔型输入法”全自动安装程序。 一、准备素材 我们先试着从Office XP光盘中提取“王码五笔型输入法”的输入法文件。通过Windows 的查找功能在Office XP的第一张安装盘中查找与“WINWB”相关的文件,在OFFICE1.CAB 中找到了一下14个文件:WINWB86.CHM.*、https://www.doczj.com/doc/036576682.html,T.*、WINWB86.HLP.*、WINWB86A.IME.*、WINWB86A.MB.*、WINWB86W.IME.*、WINWB86W.MB.*、WINWB98.CHM.*、https://www.doczj.com/doc/036576682.html,T.*、WINWB98.HLP.*、WINWB98A.IME.*、WINWB98A.MB.*、WINWB98W.IME.*、WINWB98W.MB.*,其中*是很长的一串由字母、数字和下滑线组成的序列(个人认为应该是微软为了校验文件内容的正确性而加上的内容为该文件效验码的后缀吧)。去掉这个长长的后缀,可以看到5 种类型的文件。很明显,*.CHM、*.CNT和*.HLP是五笔型输入法的帮助文件,*.MB是码表文件,而*.IME是主要的输入法文件。其中*.IME和*.MB有文件名部分以A结尾和以W结尾两个版本,经过笔者试验证实了它们分别是ANSI和UNICODE两种版本的输入法文件。文件名部分以A结尾的文件适用于Windows 9x,以W结尾的文件适用于NT系列Windows系统。 提取了输入法文件后必须让安装程序针对不同版本的操作系统将它们拷贝到正确的目录,以便调用API来进行输入法安装。笔者分别在安装了Office XP中自带的“王码五笔型输入法”的Windows 98SE和Windows XP操作系统中查找以上文件,发现帮助文件都存放在WINDOWSHELP目录中(这里假设Windows系统都安装在WINDOWS目录)。而主要的输入法文件(*.IME)和码表文件(*.MB)在Windows 9x下存放于WINDOWSSYSTEM目录中,在NT系列Windows系统中存放于WINDOWSSYSTEM32目录中。 二、相关API函数 素材的准备工作已经完成,现在我们来看一下代码编写过程中需要用到的4个主要的API函数。 2.1 GetVersion 函数原型:

Delphi函数大全 (2)

Delphi函数大全 function Int(X:Extended):Extended;//取整 function Round(X:Extended):Int64;//四舍五入function Trunc(X:Extended):Int64;//将小数无条件舍去信息来源:邪恶八进制信息安全团队 名称类型说明 ---------------------------------------------------------------------------------- Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录

delphi函数参考手册

delphi函数参考手册 名称类型说明 abort 函数引起放弃的意外处理 abs 函数绝对值函数 addexitproc 函数将一过程添加到运行时库的结束过程表中addr 函数返回指定对象的地址 adjustlinebreaks 函数将给定字符串的行分隔符调整为cr/lf序列align 属性使控件位于窗口某部分 alignment 属性控件标签的文字位置 allocmem 函数在堆栈上分配给定大小的块 allowgrayed 属性允许一个灰度选择 ansicomparestr 函数比较字符串(区分大小写)ansicomparetext 函数比较字符串(不区分大小写)ansilowercase 函数将字符转换为小写 ansiuppercase 函数将字符转换为大写 append 函数以附加的方式打开已有的文件 arctan 函数余切函数 assignfile 函数给文件变量赋一外部文件名 assigned 函数测试函数或过程变量是否为空 autosize 属性自动控制标签的大小 backgrounddi2001.jpg 属性背景色 beginthread 函数以适当的方式建立用于内存管理的线程bevelinner 属性控件方框的内框方式

bevelouter 属性控件方框的外框方式 bevelwidth 属性控件方框的外框宽度 blockread 函数读一个或多个记录到变量中blockwrite 函数从变量中写一个或多个记录borderstyle 属性边界类型 borderwidth 属性边界宽度 break 命令终止for、while、repeat循环语句 brush 属性画刷 caption 属性标签文字的内容 change 函数改变文件的后缀 chdir 函数改变当前目录 checked 属性确定复选框选中状态 chr 函数返回指定序数的字符 closefile 命令关闭打开的文件 color 属性标签的颜色 columns 属性显示的列数 comparestr 函数比较字符串(区分大小写)concat 函数合并字符串 continue 命令继续for、while、repeat的下一个循环copy 函数返回一字符串的子串 cos 函数余弦函数 ctl3d 属性是否具有3d效果

API函数手册

POSTEK PPLⅠAPI函数手册 G Series 条码标签打印机 Version 2.00 深圳市博思得通信发展有限公司 二○○四年

API函数库文件说明 名称:CDFPSK.dll 中文版本编号:1.X.X.X 英文版本编号:2.X.X.X 版权所有:?2004深圳市博思得通信发展有限公司。保留所有权利。 用途 本API函数库为深圳市博思得通信发展有限公司条码标签打印机的用户提供一组命令,为他们编写基于Windows9X,NT,2000,XP等操作系统的应用程序提供便利。 本API函数库仅支持本公司产品。 缩略语对照 PPLⅠ:深圳市博思得通信发展有限公司的第一套打印机编程语言(Printer Porgram Language Ⅰ)。 API:应用程序编程接口(Application Program Interface)。 Dots:像素(pixel)是一种计算机科学技术尺寸单位,原指电视图像成像的最小单位,在打印机领域表示打印机的最小打印成像单位:1dot等于一英寸除以打印机的最大分辨率。 - 对于203DPI的打印机来说, 1dot = 25.4mm/203 = 0.125mm(1dot = 1000 / 203 = 5mil); - 对于300DPI的打印机来说, 1dot = 25.4mm/300 = 0.085mm(1dot = 1000 / 300 = 3mil)。 TrueType Font:是基于Windows操作系统使用,可装卸的字体。 - 已经安装的TrueType Font,都可以被本函数使用。 使用前须知 字符串 * 字符串以双引号(“)作为起始和结束标记; *

Delphi字符串处理函数

【字符串函数大全】 首部function AnsiResemblesText(const AText, AOther: string): Boolean; $[StrUtils.pas 功能返回两个字符串是否相似 说明ANSI(American National Standards Institute)美国国家标准协会;不区分大小写参考function StrUtils.SoundexProc; var StrUtils.AnsiResemblesProc 例子CheckBox1.Checked := AnsiResemblesText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiContainsText(const AText, ASubText: string): Boolean; $[StrUtils.pas 功能返回字符串AText是否包含子串ASubText 说明不区分大小写 参考function StrUtils.AnsiUppercase; function StrUtils.AnsiPos 例子CheckBox1.Checked := AnsiContainsText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiStartsText(const ASubText, AText: string): Boolean; $[StrUtils.pas 功能返回字符串AText是否以子串ASubText开头 说明不区分大小写 参考function https://www.doczj.com/doc/036576682.html,pareString 例子CheckBox1.Checked := AnsiStartsText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiEndsText(const ASubText, AText: string): Boolean; $[StrUtils.pas 功能返回字符串AText是否以子串ASubText结尾 说明不区分大小写 参考function https://www.doczj.com/doc/036576682.html,pareString 例子CheckBox1.Checked := AnsiEndsText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiReplaceText(const AText, AFromText, AToText: string): string; $[StrUtils.pas 功能返回字符串AText中用子串AFromText替换成子串AToText的结果 说明不区分大小写 参考function SysUtils.StringReplace; type SysUtils.TReplaceFlags 例子Edit4.Text := AnsiReplaceText(Edit1.Text, Edit2.Text, Edit3.Text);

DELPHI中如何调用API,可举例说明

DELPHI中如何调用API,可举例说明 第一部分Delphi知识1. 如果一个元件希望放到IDE的元件面板上,它必须从________类派生,如果一个元件能作为其它元件的容器,它必须从_____________类派生,如果一个元件在运行时可见,它必须从___________________类派生(A)TGraphicControl (B)TWinContr 1、rtl70.bpl是什么?有什么用? 2、delphi的Package相对dll有什么优点? 3、以下的记录(结构)变量在内存占多少字节?type a = packed record v1: Byte; v2: Word; v3: string[16]; v4: Double; v5: string; v6: TForm; end; 4、以下的写法是否正确?type a 1.您为什么选择软件开发这个行业?(30字左右简写); 2.如果有您解决不了的软件问题您会采取什么样的解决措施; 3.a.请您写出Object Pascal所支持的数据类型;b.请您写出Shl、Shr、Xor、Not 的数学表示法; 4.请您写出VCL结构层次(以TObject开始,最少五层);5 二.是非题(共20道)1.从主菜单上选择Project|Syntax Check 菜单选项,Delphi将编译从上次编译后有改动的任何单元,并报出遇到的错误。()2.Delphi的VCL对象有些是指针,从堆栈中分配空间,有些则不是。()3.粘贴时,如果作为容器的组件已被选择,

剪贴 一.选择题(共40道)1.用户开发程序时需要经常在窗体和编辑器窗口之间来回切换,可使用快捷键()。A、F12和F11 B、F12和F13 C、F12和Ctrl+F12 D、F12和Alt+F12 E、F12和Shift+F12 2.某函数如下:Function check(n,k:Integer):Integer; Var m:Integer; Beg 编程语言:delphi7.0或Vc++6.0 时间:4小时内环境:可参考帮助文档,但不能上网查资料1、编程查找指定目录下所有EXE 文件,并将其全路径存入Result.txt中,要求用递归。2、采用SOCKET(可用SOCKET API或delphi Socket控件)实现点对点传输大文件,要求不能掉

相关主题
文本预览
相关文档 最新文档