九月星空

Code

DELPHI复习笔记[三]

作者: 2008年04月05日, 分类:Code

[补]
布尔型:Boolean 只包含true或False两个值,占用1字节内存.
字符型:Char 一个ASCII字符.
字符串类型:String 一串最长可达255个ASCII字符.
指针型:Pointer 可以指向任何特定类型.
字符串型:PChar 是一个指向以零结尾的字符串的指针. 

列表中字符串处理函数
indexof(字符串) 返回列表中字符串出现的位置,如无返回-1.
---例:FileListBox1.Items.IndexOf('AUTOEXEC.BAT') > -1.
add(字符串)把字符串加至列表尾部.
insert(位置,字符串)在列表指定列添加字符串.
move(原位置,新位置)在列表中移动指定列的字符串到一个新位置.
delete(位置)删除指定位置列的字符串.如果清空所有列表就用clear方法.
复制列表:把一个列表复制到另一个列表.
---例:memo.Lines:=ComboBox1.Items.
添加列表:把一个列表添加到另一个列表尾部使用addstrings方法.
---例:memo.Addstrings(ComboBox1.Items).

Modified  属性 用以标识数据是否被改变.
SelectAll 方法 选中部件的全部文本.
Selstart  属性 返回选中文本的开始位置.
SelText   包含着被选中的文本.
SelLength 属性 返回选中文本的长度.
Execult   方法 来显示对话框.

图形图像编程
1.TCanvas对象的方法
Arc(x1,y1,x2,y2,x3,y3,x4,y4 : Integer);
Arc方法在椭圆上画一段弧,椭圆由(x1,y1),(x2,y2) 两点所确定的椭圆所决定.弧的起点是椭圆圆周和椭圆中心与(x3,y3)连线的交点.弧矩形终点是椭圆圆周和椭圆中心与(x4,y4)连线的交点,以逆时针方向画弧.
Chord(x1,y1,x2,yx,x3,y3,x4,y4 : Integer);
Chord方法连接椭圆上的两点,椭圆由(x1,y1),(x2,y3)两点所确定的矩形决定,(x3,y3)是始点,(x4,y4)是终点.
Ellips(x1,y1,x2,y2 : Integer);
Ellips方法在画布指定的矩形边界上画一个椭圆,(x1,y1)是矩形左上角的象素坐标,x2,y2是矩形右下角的象素坐标.
Brushcopy(const Dest : TRect;Bitmap : TBitmap;const Source TRect;Color : TColor);
Brushcopy方法把位图的一部分复制到画布的某个矩形区域,并用画笔的当前颜色替换位图的颜色.参数Dest定义画布的一个矩形区域,该矩形用以填充位图,Bitmap定义位图;Source定义位图中的矩形区域,该区域上的位图将被复制;Color定义画笔中,用以替换位图的颜色.
CopyRect(Dest : TRect;Canvas : TCanvas; Source TRect);
CopyRect方法从另一个画布对象上复制部分图像到该画布.Canvas表示源画布,Source是源画布上要复制的图像区域.Dest表示目标画布上将接受复制图像的矩形区域.
Draw(x,y : Integer;Graphic : TGraphic);
Draw此方法在画布给定的象素点坐标(x,y)处画Graphic所给的图像,该图像可以是位图 图标或元位图.
LineTo(x,y : Integer);
LineTo从当前位置画一条线至(x,y)所指定的位置,并把笔的位置移至(x,y).
MoveTo(x,y : Integer);
MoveTo将笔的当前位置设置到点(x,y)处,笔的当前位置在PenPos属性中.
Die(x1,y1,x2,y2,x3,y3,x4,y4 : Longint);
Die方法绘制椭圆的一部分,椭圆由点(x1,y1),(x2,y2)所指定的矩形所决定,绘制的那部分由椭圆中心到(x3,y3),(x4,y4)两点的两条辐射线所决定.
Polygon(Points : array of TPrint);
Polygon方法在画布上绘制一系列的点,各点依次连成线,最后将首尾两点相接形成一个区域,并用当前笔刷填充此区域.
Polyline(Ports : array of TPort);
Polyline方法在画布上用当前画笔绘制一系列的点,各点依次连成线.
StretchDraw(Const Rect : TRcct : Graphic : TGraphic);
StretchDraw方法在Rect参数指定的矩形内画一图像.图像延伸改变大小以适应矩形.
Rectangle(X1,y1,x2,y2 : Integer);
Rectangle方法在画布上用当前画刷绘制矩形.(x1,y1)是矩形的左上角,(x2,y2)是矩形的右下角.
TextOut(X,Y,字符串);
Textout方法在屏幕坐标点上输入指定字符串.
2.Tpen画笔对象
笔的颜色在Color属性中定义,线条宽度在Width属性中定义.
Style属性定义了线段的各种类型:
PSolod 画固定线段
PSDash 画由下划线组成的线段
PSDot 画由点组成的线段
PsDashDot 画点划线
PsClear 画双点划线
PsClear 画看不见的线段
PsInsideFrame 画边界的矩形线框
Mode属性定义线段的颜色.可结合当前的颜色 屏幕颜色或它们反转值,对线段的颜色重新定义,但不改变Color属性.
Mode象素颜色:
PmBlack 黑色
PmWhite 白色
PmNop 不变
PmCopy 使用Color属性中的颜色
PmNotCopy 笔颜色的反转值
PmMergePenNot 笔的颜色与屏幕颜色反转值的结合
PmNaskNotPen 屏幕颜色与笔颜色
PmMergeNotPen 屏幕颜色与笔颜色反转值的结合

3.TBrush画刷对象
画刷对象用以填充图形,TBrush拥有一个画刷句柄(HBrush).画刷的颜色定义在Color属性中.画刷还有一个Bitmap属性,该属性只能在运行时得到,画刷可使用位图填充图形以产生特殊效果.位图大小为8个象素点,高8个象素点宽.

4.TColor类型
DELPHI用4字节的二进制码来定义颜色.低3位字节代表RGB相应的颜色.如果最高位字节是$00,则表示用系统调色板中最相近的颜色;最高位字节是$01,则表示用当前调色板中最相近的颜色匹配;最高位字节是$02,则用当前设备描述表中逻辑调色板的次相近颜色匹配.
用Windows API的SelectPalette函数可创建逻辑调色板,要实现逻辑调色板到硬件调色板的映射,需用函数RealizePalett.

文件管理
Delphi同Object Pascal一样支持三种文件类型.即:文本文件 记录文件 无类型文件.
文件定位:
Seek:把文件当前位置移到指定部分
FilePos:返回文件的当前位置
Eoln:返回行结束标志
EOF:返回文件结束标志
FileSeek:改变当前文件指针的位置
*Seek与FileSeek的区别是:
1. Seek仅用于记录文件;
2. FileSeek的参数是文件句柄 偏移量 起始位置.其中起始位置有文件首 当前位置 文件尾三种选择.Seek的参数是文件变量 偏移量 偏移量是从文件首开始定位的.
3. FileSeek的偏移量以字节数来计算,而Seek是根据记录号进行移动.
4.Seek FilePos仅用于记录文件,但任何文件都可以看作是基于字节的记录文件.

1.文本文件
声明var TextFileVar:Text;
文本文件是以行为单位进行读、写操作的.而且只能单独为读或写而打开.
文本文件的打开需要两个步骤:(1) 文件变量与文件名关联;(2) 初始化读写.
关联文件变量与文件名调用AssignFile标准过程: AssignFile(TextFileVar,FileName);
初始化读写有三种方式:
Reset : 为读打开文件并把文件指针移动到文件首.
Rewrite : 为写创建一个新文件.
Append : 为写打开存在的文件并把文件指针定位在文件尾.
文件的关闭只须调用CloseFile(TextfileVar)即可.
从文本文件中读取信息用Read、Readln两个标准过程.
当读入数值时,过程假定数值是用一个或多个空格分开的,如果用其他字符分开,在读入时会产生异常.
当读入字符串时,过程总是尽可能读取最多的字符串到变量中或者一直读到行结束符位置.所以当从文件读取特定长度的字符串数据时必须声明与其长度相匹配的变量.

2.记录文件
记录文件是一种操作更为灵活的文件类型.它允许同时为读和写打开,而且由于记录文件中每条记录的长度固定,所以可随机存取.
声明 var RecordFileVar: file of RecordType;

3.无类型文件
文件操作
Erase:删除一个存在的文件(以文件变量为参数,如果文件不能删除则引起异常)
DeleteFile:删除一个文件(以文件名为参数,如果文件不存在或不能删除不会引发异常)
Truncate:从文件当前位置将文件截断
Rename:文件更名,以文件变量为操作对象
RenameFile:文件更名,参数为文件的原名和新名
ChangeFileExt :改变文件扩展名
ExpandFileName:返回文件全路径名
ExtractFileExt :返回文件扩展名
ExtractFileName:从全路径名中返回文件名
ExtractFilePath:返回特定文件的路径
FileGetAttr:返回文件属性
FileSetAttr:设置文件属性
FileSize:返回文件对象大小
IOResult:返回上一次I/O操作的状态
FileExists :检测文件是否存在
DateTimeToFileDate:把文件的Delphi日期格式转换为DOS日期格式
FileDateToDateTime:把文件的DOS日期格式转换为Delphi日期格式
FileGetDate:返回文件的DOS日期时间戳
FileSetDate:设置文件的DOS日期时间戳
Read/Readln:从文本或记录文件中读取变量
Write:将指定变量写入文本或记录文件
Writeln:将指定变量写入文本文件并写入一个行结束标志
FileRead:从一个指定文件中读取变量
FileWrite :向指定文件写入数据(和fileread都是以文件句柄为操作对象,主要供系统内部使用.)
MkDir:创建当前目录的子目录
ChDir:改变当前目录
GetDir:返回特定磁盘的当前目录
RmDir:删除一个空子目录
DiskFree:返回磁盘自由空间
DiskSize:返回特定磁盘的大小
FileSearch:查找目录中是否存在某一特定文件
FindFirst :在目录中查找与给定文件名(可以包含匹配符)及属性集相匹配的第一个文件
FindNext:返回符合条件的下一个文件
FindClose :中止一个FindFirst / FindNext序列

剪贴板使用
剪贴板传输文本主要是应用如下的三个方法:CopyToClipboard、CutToClipboard 和PasteFromClipboard.
TClipboard的属性:
AsText保存剪贴板的文本,只有运行时才可设置
FormatCount可用剪贴板格式的数目
Formats可用剪贴板格式链
TClipboard的方法:
Clear清除剪贴板的内容
AssignSource:TPersistent 把Source参数指定的对象拷贝到剪贴板,常用于图形、图像对象
Open打开剪贴板,阻止其它应用程序改变它的内容
Close关闭打开的剪贴板
SetComponent Source:TPersistent 把部件拷贝到剪贴板
GetComponent Owner从剪贴板取回一个部件并放置
Parent :TPersistent
SetAsHandle Format:Word把指定格式数据的句柄交给剪贴板.返回类型:THandle
GetAsHandle Format:Word返回剪贴板指定格式数据的句柄.返回类型:THandle
HasFormat Format:Word判断剪贴板是否拥有给定的格式.返回类型:Boolean
SetTextBuf Buffer:PChar 设置剪贴板的文本内容
剪贴板数据格式及其意义:
CF_TEXT 文本。每行以CF_LF结束,nil标志文本结束
CF_BITMAP Windows位图
CF_METAFILEWindows元文件
CF_PICTURE TPicture类型的对象
CF_OBJECT 任何TPersistent类型的对象

TClipboard实现文本的传输使用AsText属性和SetTextBuf方法,
SetTextBuf用于把超过255个字符的字符串拷入剪贴板.
如Clipboard. AsText := Form1.Caption ;和Label1.Caption := Clipboard.AsText;
剪贴板传输图象:图象拷贝利用Assign方法.
如Clipboard.Assign(Image1.Picture);
而粘贴到控件上就要用
Bitmap := TBitmap.Create; Bitmap.Assign(Clipboard);Image.Canvas.Draw(0, 0, Bitmap);

3 Comments : 更多...

找啥捏?

使用下方搜索框搜索本站:

还没找到你想搜索的东东?那就给哥留言或者联系哥吧!

博客链接

随便看看,不收钱的啊……