当前位置:文档之家› Delphi基本语法格式和常用函数

Delphi基本语法格式和常用函数

Delphi基本语法格式和常用函数
Delphi基本语法格式和常用函数

Delphi基本语法格式和常用函数

分类:

《Delphi中的进制转换(如hex与bin)》

ShowMessage(Format('%d:%d', [pos, length(keys)])+':'+keys);

Format('%d:%d:%x', [pos, key_len,byte(pchar(keys)[0])]) // 其中keys

为string类型

《delphi快捷键-和vim对应上的快捷键》

delphi延时函数代码!

Delphi文件操作函数

Delphi关于多线程同步的一些方法,信号量,互斥量和临界区

delphi轻松实现原子操作-CreateSemaphore

获得Integer和DWord类型的最大值

ShowMessage(IntToStr(High(Integer)));

ShowMessage(IntToStr(High(DWord)));

// delphi的sleep()就是一个ms毫秒级延时函数,但是使用sleep会导致程序短暂pending

procedure TForm1.delay(MSecs: Integer);

//延时函数,MSecs单位为毫秒(千分之1秒)

var FirstTickCount, Now: Longint;

begin

if MSecs <> 0 then begin

FirstTickCount := GetTickCount();

repeat

Application.ProcessMessages;

Now := GetTickCount();

until (Now - FirstTickCount >= MSecs) or (Now < FirstTickCount); end;

end;

var

write_semaphore:THandle;

write_semaphore:=CreateSemaphore(0, 1, 1, nil);

procedure TForm1.Button1Click(Sender: TObject);

begin

WaitForSingleObject(com.write_semaphore, INFINITE); // 返回值

WAIT_TIMEOUT和WAIT_OBJECT_0

ReleaseSemaphore(com.write_semaphore, 1, nil);

end;

var file_name:string;

file_name:='c:\luther.gliethttp.txt';

send_fd:=FileOpen(file_name, fmOpenRead or fmShareDenyWrite); FileWrite(com.log_fd, PChar(file_name)^, length(file_name));

GetForegroundWindow找到xp操作系统上当前前景窗体句柄. GetActiveWindow 只是获取当前程序中(严格地说是线程中)被激活的窗口; GetForegroundWindow 是获取当前系统中被激活的窗口.《Delphi中FindWindow和FindWindowEx的语法和用法》《delphi获取操作系统已运行的所有窗口程序-如打开的所有记事本的标题》

两个函数的级别不一样, 一个是线程级、一个是系统级.被激活的窗口不一定是顶层窗口(最上面的窗口).

// 向当前占有焦点的控件发送剪切板粘帖指令

if Edit1.Focused or Edit3.Focused or Edit4.Focused then SendMessage(Form1.ActiveControl.Handle, WM_PASTE, 0, 0);

==================================

char类型数组和string之间的使用以及bin数据转换为hex函数使用

// 这是摘自Classes.pas库中的实现代码

procedure BinToHex(Buffer, Text: PChar; BufSize: Integer); assembler; const

Convert: array[0..15] of Char = '0123456789ABCDEF';

var

I: Integer;

begin

for I := 0 to BufSize - 1 do

begin

Text[0] := Convert[Byte(Buffer[I]) shr 4];

Text[1] := Convert[Byte(Buffer[I]) and $F];

Inc(Text, 2);

end;

end;

procedure TForm1.Button3Click(Sender: TObject); var strs:string;

p:pchar;

i,max:Integer;

begin

strs:='abcd1234';

max:=length(strs);

p:=Pointer(strs);

i:=0;

while (i <= max) do

begin

ShowMessage(p[i]);

Inc(i);

end;

end;

procedure TForm1.Button4Click(Sender: TObject); var strs:string;

hex:array of char;

max:integer;

hex_len:Integer;

begin

strs:='你cd1234';

max:=length(strs);

hex_len:=2*max;//+1;

SetLength(hex, hex_len);

BinToHex(pointer(strs), pointer(hex), max);

ShowMessage(inttostr(length(string(hex))));

hex_len:=high(hex)+1;

max:=hex_len shr 1;//div 2;

ShowMessage(IntToStr(hex_len)+':'+inttostr(max));

strs:='';

SetLength(strs, max);

HexToBin(pointer(hex), pointer(strs), hex_len);

ShowMessage(strs);

end;

function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);

function IntToHex(Value: Integer; Digits: Integer): string; overload; function StrToInt(const S: string): Integer;

==================================

Format('x=%d',[12]);//'x=12'//最普通

Format('x=%3d',[12]);//'x=12'//指定宽度

Format('x=%f',[12.0]);//'x=12.00'//浮点数

Format('x=%.3f',[12.0]);//'x=12.000'//指定小数

Format('x=%8.2f'[12.0])//'x=12.00';

Format('x=%.*f',[5,12.0]);//'x=12.00000'//动态配置

Format('x=%.5d',[12]);//'x=00012'//前面补充0

Format('x=%.5x',[12]);//'x=0000C'//十六进制

Format('x=%1:d%0:d',[12,13]);//'x=1312'//使用索引

Format('x=%p',[nil]);//'x=00000000'//指针

Format('x=%1.1e',[12.0]);//'x=1.2E+001'//科学记数法

Format('x=%%',[]);//'x=%'//得到"%"

S:=Format('%s%d',[S,I]);//S:=S+StrToInt(I);//连接字符串

去除字符串中所有空格,字符串替换字符串

str:=StringReplace(str, ' ', '', [rfReplaceAll]);

function

StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;

数组和string字符串之间拷贝数据.

var buf:array [0..63] of char;

name:string;

......

name:=name+#13+#10+'hello!'+#13+#10+'https://www.doczj.com/doc/da4429655.html,'; strpcopy(pchar(@buf),name);

high(buf)取得数组最大值,此处为63

low(buf)获得数组最小值,此处为0

var

strs:TStringList;

begin

strs:=TStringList.Create;

strs.Delimiter:=' ';

strs.DelimitedText:='I am a programer';

strs[0]

strs[1]等就是去除了所有空格的一个个单词了

字符串string常用处理函数

uses StrUtils;

LeftStr(str, 3); // 读取最左边的3个字符

RightStr(S, 3); // 读取最右边的3个字符

Delete(str, 16, 1);

Copy(str, 3, 4);还有MidStr用于中文拷贝,如:MidStr('电脑报', 1, 1); Insert('h', str, 2);

LowerCase(str); // 将str变为小写

UpperCase(str); // 将str变为大写

Pos('Like', 'I Like Reading!'); // 查找Like的位置,此处为3,如果没有返回0

Trim(str); // 删除头尾的所有空格

TrimLeft(str);

TrimRight(str);

===================

var S: String;

arrText: array of Char; // 定义一个动态数组

SetLength(S, 10); // 当设置后,S变量只能赋值长度为10的字符串。SetLength(arrText, 10); // 只有使用SetLength为动态数组分配内存空间后才能使用动态数组。这句代码的作用相当于arrText: array[0..9] of Char ===================

var arrChar: array[0..255] of Char; // 这里声明了长度为256的Char型数组

StrPCopy(arrChar, 'Come on, baby!');

===================

1.常量:固定值,不可变数。

1)const

常量名= 常量值(表达式);

2)resourcestring

常量名= 字符串(常量);

2.变量

1)定义

Var 名字1,名字2,…名字n:类型;

2)命名原则(参考)

变量名字= 类型(缩写) + 作用域(简称) + 确切含义名称

3)三种赋值格式

变量名:= 值;

变量名1:= 变量2;

变量名:= 过程或函数的调用;

3.类型常量

1)类型常量是全局变量并不是一个常量,它进行了预初始化值。

2)定义

Const

名字:类型= 值;

3)种类

简单的类型常量

数组类型常量

记录类型常量

指针类型

Type名称=^结点类型

记录类型

Type名称=Record

域名1:类型;

域名1:类型;

……

域名N:类型;

end;

文件类型

Type名称=file of元素类型

语句

简单语句

X := Y + Z; // assignment

Randomize; // procedure call

复合语句

begin

A := B;

C := A * 2;

end;

end之前的最后一条语句末尾分号不是必需的,你可以写成:begin

A := B;

C := A * 2

end;

赋值语句

在Pascal 语言中赋值语句用冒号-等号操作符“:=”,

条件语句

If语句

对if-then型语句,仅当条件满足时,语句才执行;

if CheckBox1.Checked then

ShowMessage ('CheckBox1 is checked')

对if-then-else型,if语句在两条语句中选择一条执行

if CheckBox2.Checked then

ShowMessage ('CheckBox2 is checked')

else

ShowMessage ('CheckBox2 is NOT checked');

要注意的是,不能在第一句之后、else 关键词之前加分号,否则编译器将告知语法错误。实际上,if-then-else 语句是单纯的一

条语句,因此不能在语句中间加分号。

if 语句可以很复杂,句子中的条件部分可以是一系列条件(用and、 or 、 not等布尔操作符联接起来),if语句又可以嵌套另一

个if语句

begin

// compound if statement

if CheckBox1.Checked then

if CheckBox2.Checked then

ShowMessage ('CheckBox1 and 2 are checked')

else

ShowMessage ('Only CheckBox1 is checked')

else

ShowMessage (

'Checkbox1 is not checked, who cares for Checkbox2?') end;

Case语句

case语句包括用来选值的表达式、可能值序列或一个取值范围。这些值应该是常量,并且它们必须唯一,而且应属于有序类型。

Case语句最后可以带一个else 语句,当没有一个标签与选择器的值一致时,执行else语句。下面是两个简单的例子:

case Number of

1: Text := 'One';

2: Text := 'Two';

3: Text := 'Three';

end;

case MyChar of

'+' : Text := 'Plus sign';

'-' : Text := 'Minus sign';

'*', '/': Text := 'Multiplication or division';

'0'..'9': Text := 'Number';

'a'..'z': Text := 'Lowercase character';

'A'..'Z': Text := 'Uppercase character';

else

Text := 'Unknown character';

end;

Pascal语言中的循环

其它编程语言中使用的循环语句,Pascal语言中都有,它们包括 for、 while 和repeat 语句。如果你用过其他编程语言,你会发

现Pascal中的循环语句没什么特别的,因此这里我只作简要的说明。

For循环

Pascal 中的for循环严格地建立在计数器基础上,循环每执行一次,计数器不是增加一个值就是减小一个值。下面是一个for语句的

简例,用来将前十个数加起来:

var

K, I: Integer;

begin

K := 0;

for I := 1 to 10 do

K := K + I;

同样的for语句可以用正好相反的计数器来写:

var

K, I: Integer;

begin

K := 0;

for I := 10 downto 1 do

K := K + I;

Pascal 中的for循环语句其灵活性比其他语言小(它不能指定1之外的步长),不过简单也容易理解。如果需判断的条件比较复杂,

或想自定义计数器,你可以用while语句或 repeat 语句,而不是for循环语句。注意:for循环计数器不必非是数字,它可以是任何有序类型的值,例如一个字符或一个枚举类型值。

while语句和repeat语句

while-do 循环语句和 repeat-until 语句的不同点在于repeat 循环语句的代码至少要执行一次。从下面的简例很容易理解这一点

while (I <= 100) and (J <= 100) do

begin

// use I and J to compute something...

I := I + 1;

J := J + 1;

end;

repeat

// use I and J to compute something...

I := I + 1;

J := J + 1;

until (I > 100) or (J > 100);

从上可见即使 I 或 J 的初始值大于100,repeat-until循环中的代码也仍会执行一次。

注意:两种循环另一个关键的不同点是,repeat-until 循环的条件是反向的条件,只要不满足这个条件,循环就执行;当条件满足

时,循环终止。这正好与while-do 循环相反,while-do 循环当条件是真值时才执行。为此,我不得不在上面代码中用反向条件来

获得相同的结果。

注意:用 Break 和 Continue 系统过程可以改变循环执行的标准流程。Break 中断循环;Continue直接跳至循环测试句,或使计数

器增加一个步长,然后继续循环(除非条件为空或计数器达到最大值)。还有两个系统过程 Exit 和 Halt,让你立即从函数或过程

中返回,或者终止程序。

With语句

with BirthDay do

begin

Year := 1995;

Month := 2;

Day := 14;

end;

关键字

absolute 指令 (变量)

abstract 指令 (方法)

and 运算符 (布尔)

array 类型

as 运算符 (RTTI)

asm 语句

assembler 向后兼容 (汇编)

at 语句 (异常处理)

automated 访问类别符 (类)

begin 块标记

case 语句

cdecl 函数调用协定

class 类型

const 声明或指令(参数)

constructor 特殊方法

contains 运算符 (集合)

default 指令 (属性)

destructor 特殊方法

dispid dispinterface 界面类别符

dispinterface 类型

div 运算符

do 语句

downto 语句 (for)

dynamic 指令 (方法)

else 语句 (if 或 case)

end 块标记

except 语句 (异常处理)

export 向后兼容 (类)

exports 声明

external 指令 (函数)

far 向后兼容 (类)

file 类型

finalization 单元结构

finally 语句 (异常处理)

for 语句

forward 函数指令

function 声明

goto 语句

if 语句

implementation 单元结构implements 指令 (属性)

in 运算符 (集合) - 工程结构index 指令 (dipinterface界面) inherited 语句

initialization 单元结构

inline 向后兼容 (见 asm) interface 类型

is 运算符 (RTTI)

label 声明

library 程序结构

message 指令 (方法)

mod 运算符 (数学)

name 指令 (函数)

near 向后兼容 (类)

nil 数值

nodefault 指令 (属性)

not 运算符 (布尔)

object 向后兼容 (类)

of 语句 (case)

on 语句 (异常处理)

or 运算符 (布尔)

out 指令 (参数)

overload 函数指令

override 函数指令

package 程序结构 (控件包) packed 指令 (记录)

pascal 函数调用协定

private 访问类别符 (class) procedure 声明

program 程序结构

property 声明

protected 访问类别符 (类)

public 访问类别符 (类)

published 访问类别符 (类)

raise 语句 (异常处理)

read 属性类别符

readonly dispatch 界面类别符

record 类型

register 函数调用协定

reintroduce 函数指令

repeat 语句

requires 程序结构 (控件包) resident 指令 (函数) resourcestring 类型

safecall 函数调用协定

set 类型

shl 运算符 (数学)

shr 运算符 (数学)

stdcall 函数调用协定

stored 指令 (属性)

string 类型

then 语句 (if)

threadvar 声明

to 语句 (for)

try 语句 (异常处理)

type 声明

unit 单元结构

until 语句

uses 单元结构

var 声明

virtual 指令 (方法)

while 语句

with 语句

write 属性类别符

writeonly dispatch 界面类别符

xor 运算符 (布尔)

优先法则

单目运算符 (最高优先级)

@ 取变量或函数的地址(返回一个指针)

not 逻辑取反或按位取反

乘除及按位运算符

* 相乘或集合交集

/ 浮点相除

div 整数相除

mod 取模 (整数相除的余数)

as 程序运行阶段类型转换 (RTTI运算符)

and 逻辑或按位求和

shl 按位左移

shr 按位右移

加减运算符

+ 相加、集合并集、字符串连接或指针增加一个偏移量

- 相减、集合差集或指针减少一个偏移量

or 逻辑或按位或运算

xor 逻辑或按位异或运算

关系及比较运算符(最低优先级)

= 判断是否相等

<> 判断是否不相等

< 判断是否小于

> 判断是否大于

<= 判断是否小于或等于,或是否是一个集合的子集

>= 判断是否大于或等于,或是否是一个集合的父集

in 判断是否是集合成员

is 判断对象是否类型兼容 (又一个RTTI运算符)

Boolean (ByteBool WordBool LongBool)

Char

Integer

ShortInt -128~127

Byte 0~255

SmallInt -32768~32767

Word 0~65535

LongInt LongWord

Int64

Interger Cardinal

AnsiChar

WidChar

#=Chr(),把数字转化为字符,Ord为相反,把字符转化为数字#9 Tab键

#10 换行

#13 回车

类型转换

Chr 将一个有序数据转换为一个ANSI字符

Ord 将一个有序类型值转换为它的序号

Round 转换一个实型值为四舍五入后的整型值

Trunc 转换一个实型值为小数截断后的整型值

Int 返回浮点数的整数部分

IntToStr 将数值转换为字符串

IntToHex 将数值转换为十六进制数字符串

StrToInt 将字符串转换为一个整型数,如字符串不是一个合法的整型将引发异常

StrToIntDef 将字符串转换为一个整数,如字符串不合法返回一个缺省值

Val 将字符串转换为一个数字(传统Turbo Pascal例程用于向后兼容)

Str 将数字转换为格式化字符串(传统Turbo Pascal例程用于向后兼容)

StrPas 将零终止字符串转换为Pascal类型字符串,在32位Delphi中这种类型转换是自动进行的

StrPCopy 拷贝一个Pascal类型字符串到一个零终止字符串, 在32位Delphi中这种类型转换是自动进行的

StrPLCopy 拷贝Pascal类型字符串的一部分到一个零终止字符串

FloatToDecimal 将一个浮点数转换为包含指数、数字及符号的十进制浮点记录类型FloatToStr 将浮点值转换为缺省格式的字符串

FloatToStrF 将浮点值转换为特定格式的字符串

FloatToText 使用特定格式,将一个浮点值拷贝到一个字符串缓冲区

FloatToTextFmt 同上面例程,使用特定格式,将一个浮点值拷贝到一个字符串缓冲区StrToFloat 将一个Pascal字符串转换为浮点数

TextToFloat 将一个零终止字符串转换为浮点数

Dec 将例程中的参数值递减1或一个特定的值,其中特定值可在第二个可选参数中定义

Inc 将例程中的参数值增加1或一个特定的值

Odd 如果参数为奇数返回真

Pred 根据参数在其数据类型定义中的序列,返回参数值的前驱值

Succ 返回参数值的后继值

Ord 返回参数值在其数据类型值集合中的序号

Low 返回参数对应的有序数据类型的最小取值

High 返回参数对应的有序数据类型的最大取值

实数:

Single

Double

Extended

Real {$REALCOMPATIBILITY ON}据说不标准,要兼容旧的格式使用这个宏

Comp

Currency

TDateTime = type Double

为了后续使用或直接用于变量,需要给自定义类型命名。如果自定义一个命名的类型,你必须将代码放在特定的type区,如下所示:

最多的如定义类等。

type

Uppercase = 'A'..'Z';

Temperatures = array [1..24] of Integer;

Date = record

Month: Byte;

Day: Byte;

Year: Integer;

end;

Colors = (Red, Yellow, Green, Cyan, Blue, Violet);

Letters = set of Char;

end;

子界类型

a...b

a~b为有序类型

枚举类型

type

Colors = (Red, Yellow, Green);//园括弧括起来的,在属性列表中最多出现。

end;

只能有一个值

CPP = enum

集合类型

type Letters = set of Char;

var Letters1,Letters2etters;

begin

Letters1 := ['A'.'B'.'C'];

Letters2 := ['K'];

end;

是什么什么的集合,可以有多个属性。

CPP = 多字段与或

Font.style := [fsBold, fsItalic]; // two styles

Font.style :=Oldstyle + [fsBold, fsItalic];

数组类型

type

MonthTemps = array [1..24, 1..31] of Integer;

YearTemps = array [Jan..Dec] of Integer;

type

Date = record

Year: Integer;

Month: Byte;

Day: Byte;

end;

类似 structure

指针

type

PointerToInt = ^Integer;

var

P:^Integerl

X:Integer;

begin

P := @X; p = &x;

X :=10; x = 10;

P^ :=20; *p = 20;

end;

除了表示已分配内存的地址外,指针还能通过New 例程在堆中动态分配内存,不过当你不需要这个指针时,你也必须调用Dispose 例程释放你动态分配的内存。

P:=nil;

Pointer 类型,如void *;

实际上,Delphi 中必须使用指针的情况很少,这是Delphi开发环境一个诱人的优点。

文件类型

type

IntFile = file of Integer;

能打开一个与这个结构相应的物理文件、向文件中写入整数、或者从文件中读取当前的值

简单语句:

单行:X:= Y+Z;

调用一个过程

Randomize;

复合语句begin end;

赋值 :=

=表示关系运算符,用于判断是否相等用 c: ==

条件

if 用and、 or 、 not等布尔操作符联接起来的条件 then

else

statement;

end;

Case语句

case Number of

1: Text:='One';

2: Text:='Two';

else //default;

Text:='Unknow';

end;

循环循环条件为顺序数

for I:=1 to 10 do

statement;

for I := 10 downto 1 do 递减

statement;

while conditions do

statement;

repeat

statement;

until conditions;

With语句

begin

with BirthDay do

begin

Year:=1999;

Month :=2;

Day :=14;

end;

end;

减少BirthDay.xxx 的代码工作量,但现在的自动完成比他效率高可以with多个,同样属性的取最后一个的,容易出错。

函数和过程

procedure Hello;

begin

ShowMessage ('Hello world!');

end;

调用:Hello;

function Double (value: Integer) : Integer;

begin

Double := value * 2; //函数名做返回值

end;

function Double2 (value: Integer) : Integer;

begin

Result := value * 2; //Result作返回值

end;

引用参数

同C++中的(&xx)

使用var关键字表示

procedure Produ(var value:Integer);

既做传递参数,又把值返回给调用程序。

procedure Produ(out value:Interger);

用作返回。

常量参数

使用const

开放数组参数

function Sum (const A: array of Integer): Integer;

var

I: Integer;

begin

Result := 0;

for I := Low(A) to High(A) do

Result := Result + A[I];

end;

可以传递大小不定的数组

类型变化的开放数组参数

可以接收多种类型的数组参数

function SumAll (const Args: array of const): Extended; 调用协定

fastcall 只要有可能,传递到CPU寄存器多达3个,操作更快

delphi3+ 缺省标记

win32 API是stdcall,win16 API是原始的Pascal调用和cdecl调用混合体

方法:

是一种特殊的函数或过程

他与类这一数据类型相对应,每个事件都定义一个方法,通常是过程。

forward 申明

欲声明一个过程或函数,而且只给出它的名字和参数,不列出其实现代码,需要在句尾加forward 关键字:

procedure Hello; forward;

可用来写递归调用

当你在一个单元(关于单元的更多内容见下一章)的interface 部分声明一个过程或一个函数时,它被认为是一个forward声明,即使没有forward关键字也一样。

过程类型

type

IntProc = procedure (var Num: Integer);

IP: IntProc;

begin

IP := otherProcedure;

函数重载 overload关键字

function Min (A,B: Integer): Integer; overload;

function Min (A,B: Int64): Int64; overload;

function Min (A,B: Single): Single; overload;

function Min (A,B: Double): Double; overload;

function Min (A,B: Extended): Extended; overload;

确省参数

procedure MessBox (Msg: string;

Caption: string = 'Warning';

Flags: LongInt = mb_OK or mb_IconHand);

字符串

ShortString

AnsiString

WideSting

如果只简单地用String定义字符串,那么该字符串可能是短字符串也可能是ANSI长字符串,这

04 FunCode C 开发常用API

FunCode C开发常用API C语言标准库函数 在实验中,我们需要用到一些C语言标准库函数,主要用于字符串处理,获得随机值,处理数学函数等。 Math.h 函数原型功能与返回值参数说明与应用举例 public static double atan2( double y, double x );返回两点之间的正 切值 x:点的x坐标 y:点的y坐标 float ftan = atan2((fMouseY-fY),(fMouseX-fX)); float sqrt( float x ); 功能:计算平方根 返回值:x的平方根 sqrt(9) = 3 Stdio.h 函数原型功能与返回值参数说明与应用举例 int sprintf( char *buffer, const char *format, [ argument] … ); 把格式化的数据写 入某个字符串缓冲 区。 返回值:字符串长 度(strlen) buffer:char型指针,指向将要写入的 字符串的缓冲区。 format:char型指针,指向的内存里面 存放的将要格式字符串。 [argument]...:可选参数,可以是任何类 型的数据。 sprintf(szUfoName,"ufo_%d_%d", iLoop, iTotalUfoCount ); String.h 函数原型功能与返回值参数说明与应用举例 extern char *strstr( char *str1, char *str2 );找出str2字符串 在str1字符串中 第一次出现的位置 (不包括str2的 串结束符)。 返回值:返回该位 置的指针,如找不 到,返回空指针。 strstr(szName, “feichong”) != NULL 说明szName中包含feichong 可以用来判断前一个字符串包含后面 一个字符串 extern int strcmp( const char *s1, const char * s2 );比较字符串s1和 s2。 当s1

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--使用当前选定的刷子填充指定设备描述表中的一块区域;

常用MFC和API函数

常用MFC和API函数 索引 CArchive类:用于二进制保存档案 CBitmap类:封装Windows的图形设备接口(GDI)位图 CBrush类:封装图形设备接口(GDI)中的画刷 CButton类:提供Windows按钮控件的功能 CByteArray类:该类支持动态的字节数组 CCmdUI类:该类仅用于ON_UPDATE_COMMAND_UI处理函数中 CColorDialog类:封装标准颜色对话框 CDC类:定义设备环境对象类 CDialog类:所有对话框(模态或非模态)的基类 CDocument类:提供用户定义的文档类的基本功能 CEdit类:是一个用于编辑控件的类 CFile类:该类是基本文件类的基类 CFileDialog类:封装了打开和保存文件的标准对话框 CFindReplaceDialog类:封装了标准查找/替换对话框 CFont类:封装了Windows图形设备接口(GDI)中的字体对象 CFontDialog类:封装了字体选择对话框 CGdiObject类:GDI绘图工具的基类 CIPAddressCtrl类:提供了IP地址控件的功能 CImageList类:管理大小相同的图标或位图集 CMenu类:封装应用程序菜单栏和弹出式菜单 CPen类:封装了Windows图形设备接口(GDI)中的画笔对象 CPoint类:操作CPoint和POINT结构 CRect类:封装了一个矩形区域及相关操作 CRgn类:封装用于操作窗口中的椭圆、多边形或者不规则区域的GDI区域 CSize类:用于表示相对坐标或位置 CSpinButtonCtrl类:旋转控件Spin的控制类 CStatusBar类:状态栏窗口的基类 CString类:处理字符串 CStringList类:支持CString对象的列表 CWinApp类:派生的程序对象的基类 CWnd类:提供所有窗口类的基本函数 API函数 CArchive类:用于二进制保存档案 CArchive::CArchive 建立一个CArchive对象 CArchive(CFile* pFile,UINT nMode,int nBufSize=4096,void* lpBuf=NULL); 参数:pFile 指向CFile对象的指针,这个CFile对象是数据的最终源或目的;nMode是标志,取值为CArchive::load时,从文档中加载数据(要求CFile读许可),取值为CArchive::store时,将数据存入文档(要求CFile写许可);nBufSize 指定内部文件缓冲区的大小(按字节计); lpBuf 指向大小为nBufSize的缓冲区,若未指定,则从局部堆中分配一缓冲区,

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类型,用于保存转换后的浮点型数据。

常用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/da4429655.html,T.*、WINWB86.HLP.*、WINWB86A.IME.*、WINWB86A.MB.*、WINWB86W.IME.*、WINWB86W.MB.*、WINWB98.CHM.*、https://www.doczj.com/doc/da4429655.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)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

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常用函数大全

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函数将日期格式转换为字符串

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 删除指定文件 DeviceIoControl 对设备执行指定的操作

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(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。 API:应用程序接口(API:Application Program Interface) 应用程序接口(是一组定义、程序及协议的集合,通过API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过调用API 函数对应用程序进行开发,可以减轻编程任务。API 同时也是一种中间件,为各种不同平台提供数据共享。 根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将API 分为四种类型: 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过数据库实现应用程序间的数据共享。 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。

信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。 当前应用于API 的标准包括ANSI 标准SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API 可以应用于所有计算机平台和操作系统。这些API 以不同的格式连接数据(如共享数据缓存器、数据库结构、文件框架)。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种API 只处理一种信息格式,所以该情形下的信息交付API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API 类型是比较理想的选择。 API 与图形用户接口(GUI)或命令接口有着鲜明的差别:API 接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。 有时公司会将API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。

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