问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

delphi的文件操作

发布网友 发布时间:2022-04-30 08:11

我来回答

1个回答

热心网友 时间:2022-04-09 12:14

Delphi可对Windows操作系统的注册表、存储设备和文件系统进行方便的访问。
内置单元Registry.pas中提供了TRegistry、TRegIniFile、TRegistryIniFile三个封装类,提供了常用的注册表、配置文件操作功能。
Classes.pas单元中,由TStream派生的THandleStream、TFileStream、TMemoryStream、TStringStream、TResourceStream,提供了涵盖文件流、内存流、字符序列流和资源流的读写操作,可方便地对文件以及中间交换的序列化数据进行处理。而TStreamAdapter以接口形式提供了更为高级的流与流之间的相互操作。 Delphi是基于面向对象编程的先进开发环境。面向对象的程序设计(OOP)是结构化语言的自然延伸。OOP的先进编程方法,会产生一个清晰而又容易扩展及维护的程序。一旦您为您的程序建立了一个对象,您和其他的程序员可以在其他的程序中使用这个对象,完全不必重新编制繁复的代码。对象的重复使用可以大大地节省开发时间,切实地提高您和其他人的工作效率。
什么是对象
一个对象是一个数据类型。对象就象记录一样,是一种数据结构。按最简单的理解,可以将对象理解成一个记录。但实际上,对象是一种定义不确切的术语,它常用来定义抽象的事务,是构成应用程序的项目,其内涵远比记录要丰富。在本书中,对象可被理解为可视化部件如按钮、标签、表等。了解对象,最关键的是掌握对象的特性。一个对象,其最突出的特征有三个:封装性、继承性、多态性。
对象的封装性
对对象最基本的理解是把数据和代码组合在同一个结构中,这就是对象的封装特性。将对象的数据域封闭在对象的内部,使得外部程序必需而且只能使用正确的方法才能对要读写的数据域进行访问。封装性意味着数据和代码一起出现在同一结构中,如果需要的话,可以在数据周围砌上“围墙”,只有用对象类的方法才能在“围墙”上打开缺口。
对象的继承性
继承性的含义直接而且显然。它是指把一个新的对象定义成为已存在对象的后代;新对象继承了旧类的一切东西。在往新对象中添加任何新内容以前,父类的每一个字段和方法都已存在于子类中,父类是创建子类的基石。
对象的多态性
多态性是在对象体系中把设想和实现分开的手段。如果说继承性是系统的布局手段,多态性就是其功能实现的方法。多态性意味着某种概括的动作可以由特定的方式来实现,这取决于执行该动作的对象。多态性允许以类似的方式处理类体系中类似的对象。根据特定的任务,一个应用程序被分解成许多对象,多态性把高级设计处理的设想如新对象的创建、对象在屏幕上的重显、程序运行的其它抽象描述等,留给知道该如何完美的处理它们的对象去实现。
对象范围
一个对象的范围决定了它的数据域、属性值、方法的活动范围和访问范围。在一个对象的说明部分说明的数据域、属性值、方法都只是在这个对象的范围中,而且只有这个对象和它的后代才能拥有它们。虽然这些方法的实际程序代码可能是在这个对象之外的程序库单元中,但这些方法仍然在这个对象的范围内,因为它们是在这个对象的说明部分中说明的。
当您在一个对象的事件处理过程中编写程序代码来访问这个对象的属性值、方法或域时,您不需要在这些标识符之前加上这个对象变量的名称。例如,如果您在一个新窗体上加入一个按钮和一个编辑框,并为这个按钮编写OnClick事件处理过程:
procereTForm1.Button1Click(Sender:Tobject);
begin
Color:=clFuchsia;
Edit1.Color:=clLime;
end;
其中的第一行语句是为整个窗体Form1着色。可以编写如下:
Form1.Color:=clFuchsia;
如果Edit1是在其他窗体中,那么您需要在编辑框之前加上这个窗体对象的名称了。例如,如果Edit1是在Form2之中,那它是Form2说明的一个数据域,并位于Form2的范围中,那么您需要将第二句改为:
Form2.Edit1.Color:=clLime;
而且需要把Unit2加入Unit1的uses子句中。 前面的TForm1类型是很简单的,因为它只含有域Button1和方法Button1Click。但是在这个窗体上,您可以改变窗体的大小、加入或删除窗体的最大最小化按钮,或设置这个窗体为MDI界面。对于一个只包含一个域和方法的对象来讲,您并没有看到显式的支持程序。在窗体上单击鼠标或用ObjectInspector的上端的ObjectSelector选中Form1对象,按动F1查阅它的在线帮助,您会在Properties和Method中找到它的继承到的全部属性和方法。这些是在TForm类型中说明的,TForm1是TForm的子类,直接继承了它所有的域、方法、属性和事件。例如窗体的颜色属性Color就是在TForm中说明的。当您在工程中加入一个新窗体时,就等于加入了一个基本模型。通过不断地在窗体中加入部件,您就自行定义了一个新的窗体。要自定义任何对象,您都将从已经存在的对象中继承域和方法,建立一个该种对象的子类。例如对象TForm1就被说明为对象TForm的子类,拥有一个窗体部件的基本属性或方法。只有当您在窗体中加入了部件或编写了事件处理过程时,Form1才成为您自己的类型。
一个比较特殊的对象是从一个范围较广或较一般的对象中继承下来的,它是这个特别对象的祖先,这个对象则称为祖先的后代。一个对象只能有一个直接的祖先,但是它可以有许多后代。TForm是TForm1类型的祖先,所有的窗体对象都是TForm的后代。
用F1查阅窗体的在线帮助时,您会发现TForm被称为component(部件)。这是因为所有的部件都是对象。
在这个结构中所有的部件都是对象。部件类型TComponent从TObject类型中继承数据和程序代码,并具有额外的可以用作特殊用途的属性、方法、事件,所以部件可以直接和用户打交道,记录它的状态并存贮到文件中等等。控制类型TControl从TComponent中继承而来,又增加了新的功能,如它可以显示一个对象。在上图中,虽然TCheckBox不是直接由TObject继承来的,但是它仍然有任何对象所拥有的属性,因为在VCL结构中,TCheckBox终究还是从TObject中继承了所有功能的特殊对象,但它还有些自行定义的独到的功能,如可以选择记录状态等。 根据服务器上的DB数据库,在本地创建一个临时的表 ,这样可以提高用户对数据的访问效率,同时也减轻了数据库的访问压力。
创建临时表*.DB
procere TfUserInfo.createWork;
begin
with tblUserInfo do //页面上的Table控件名字
begin
Active := False;
DatabaseName := 'Userwork';
TableName := 'W_USERINFO.DB'; //要创建的临时表的名字
TableType := ttParadox;
with FieldDefs do //遍历页面(数据为DB Table)中的列,作为临时表的列
begin
Clear;
Add('UserID' , ftString, 6, False); //设置临时表的列、类型、长度
Add('UserName' , ftString, 20, False);
end;
CreateTable; //创建临时表
end;
tblUserInfo.Close;
tblUserInfo.Open;
while not dbUserMSSQL.ADOQueryUser.Eof do //为临时表填充数据
begin
tblUserInfo.Append;
tblUserInfo.FieldByName('UserID').AsString :=
dbUserMSSQL.ADOQueryUser.FieldByName('UserID').AsString;
tblUserInfo.FieldByName('UserName').AsString :=
dbUserMSSQL.ADOQueryUser.FieldByName('UserName').AsString;
tblUserInfo.Post;
dbUserMSSQL.ADOQueryUser.Next;
end;
tblUserInfo.First;
end;

delphi读写文件的具体操作

(1) Reset: 只读打开, 指针移到文件头;(2) Rewrite: 创建新文件并打开, 只写;(3) Append: 从尾部追加, 指针当然在文件尾。文件不存在时使用 Reset 或 Append 会引发一个I/O异常。最后用 CloseFile 关闭文件。为保持兼容,Delphi 也允许用户用 Assign 建立关联, 用 Close 关闭文件。--- //...

aippt自动生成工具

随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图、条形...

delphi的文件操作

Delphi可对Windows操作系统的注册表、存储设备和文件系统进行方便的访问。内置单元Registry.pas中提供了TRegistry、TRegIniFile、TRegistryIniFile三个封装类,提供了常用的注册表、配置文件操作功能。Classes.pas单元中,由TStream派生的THandleStream、TFileStream、TMemoryStream、TStringStream、TResourceStream,提...

DELPHI基础教程:文件管理(一)[2]

ExtractFileName :从全路径名中返回文件名 ExtractFilePath :返回特定文件的路径 文件属性 FileGetAttr :返回文件属性 FileSetAttr :设置文件属性 文件状态 FileSize :返回文件对象大小 IOResult :返回上一次I/O操作的状态 FileExists :检测文件是否存在 文件日期 DateTimeToFileDate :把Delphi日期格式转换为DO...

DELPHI文件、磁盘操作函数

CloseFile功能说明 关闭文件 当对文件的操作完成后 应该使用CloseFile函数关闭打开的文件 参考实例 var S String AllText String F TextFile begin AssignFile(F C \MyFile txt ) // 将C \MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作 Reset(F) // 打开文件 while not EOF...

delphi打开文件的各种方法?

第一种方法,使用SelectDirectory 函数 ,在ShellApi中 procedure TForm2.BtSelectPathClick(Sender: TObject);var strCaption,strDirectory:String;wstrRoot:WideString;begin strCaption:='这是浏览文件夹的说明文字,可以根据需要进行书写。'+#13#10+'一般二行文字就满了。';//该参数是浏览文件夹窗口的...

如何在Delphi中使用资源文件

1、在运行处brcc32 *.rc可生成供delphi使用的res文件 2、引入res文件 程序代码 implementation {$R *.dfm} {$R Tank.res} procedure TForm1.Button1Click(Sender: TObject);var bmp: TBitmap;begin bmp := TBitmap.Create;bmp.LoadFromResourceName(HInstance, 'TankBar');bmp.SaveToFile('Test1...

在delphi中拷贝整个文件夹怎么操作

1、使用 winexec 调用 xcopy 命令行:winexec( 'xcopy d:\test e:\ /s/e', false);2、调用 winAPI 函数:function CopyDir(const SourceDir,DestDir: string): Boolean;var lpFileOp: TSHFileOpStruct;begin with lpFileOp do begin Wnd := Application.Handle; wfunc := ...

如何用delphi操作word

wordApp: OleVariant;wordDoc: OleVariant;二. 打开word文档 wordApp := CreateOleObject('Word.Application');wordDoc := WordApp.Documents.Open(FileName:=filename,ReadOnly:= false, Revert:=True, Visible:= True);WordApp.Visible := false;三.表格插入数据 WordDoc.Tables.Item(TbIndex)....

delphi 操作ini文件 知道小节名和值,怎么得到关键字

ini 文件的格式如下:[section] 节名 name=value 键名=值 通常是由节名、键名来取值。如果知道小节名和值,找键名(这个比较奇怪,通常来说 INI 都是开发者设计好的),在此提示:可以考虑使用读取 INI文件 中整个小节的数据,再遍历并比较值,来取得键名。

shfileoperationDelphi应用

在Delphi中,我们可以使用SHFileOperation函数来实现目录的复制操作。以下是一个名为CopyDir的函数示例,它接收两个字符串参数:源目录(SourceDir)和目标目录(DestDir)。首先,我们创建一个TSHFileOpStruct类型的变量lpFileOp,用于封装SHFileOperation函数的参数。在with语句中,我们设置了窗口句柄(Wnd)为应用...

delphi判断文件夹还是文件 delphi pdf文件读取 delphi读取文本文件 delphi打印pdf文件 delphi如何关闭打开的文件 delphi下载指定网址的文件 delphi打开指定文件 delphi增加文件字节 delphi删除文件夹
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
房龄20年了,但是开发商一直没有给办房产证,我可以自己去房管局办理不... 19年买的写字楼,22年让去办房产证,没钱一直没有办,现在去办? 广播地址的四种I P广播地址 男生20岁以后还能不能长高? 车胎没气可以用打气筒打气吗 包含”绿"的意思成语 怎么把气球做成拱门 如何做方形气球拱门 气球拱门如何绑 如何绑气球拱门 世界观不同是什么意思 我要投资加工陈皮,附近罐头厂日产几拾吨桔子,会产生很多桔皮 Delphi6中安装了自定义的控件却不显示在Palette中,却在Palette属性中找... 人为什么会产生不同的世界观? 江门市新会区弘真陈皮贸易有限公司怎么样? 谁能帮我用VB做个学生信息管理系统(最好带毕业论文的) 为什么每个人的世界观不一样? 每个人的世界观一样吗??? Delphi2010自定义控件怎么添加图标啊? 投资陈皮能提现吗? 如何给自定义控件添加一个picture 类型的属性 delphi 世界观是怎样的? 什么是世界观不同? 广东新会宝皮宝陈皮文化有限公司怎么样? 谁知道Delphi报表控件最好的是什么?能够设计表头比较复杂的、表格中分类... 不同的世界观,看问题,有哪些不同? 倾我所有,请您解答:请问在Delphi程序中,如何将所有变量生成到一个Word... 我在用delphi2007打开一个delphi工程文件的时候,出现下列错误: 请高手... delphi var ADataSet: TClientDataSet;TClientDataSet是个什么类型 怎样用DELPHI调用别的语言编写的DLL? 在Delphi中如何使用SQL自定义函数,参数怎样传递给自定义函数? 在《进击的巨人》的动画与漫画中,都有哪些不同的世界观? 不同人的不同世界观问题 用世界观举例子? 粗盐茴香袋热敷会不会把盐渗入体内 粗盐小茴香热敷袋的配比 什么是世界观?你的世界观是什么样的? 两个人的世界观不同会导致什么不同?谢了(具体点) 广西的东南方向是那个城市 ppt转pdf 页数变少 广西北流市的东南西北方向都有哪些城市(离北流市近的? 贺州东面,南面,东南面都有哪些城市? 以广西柳州为中心,去北京算是东南方向行驶的地区么?如果不是,以广西柳州为中心,那些算是东南方向城市 怎么将ppt转化pdf格式文件 广西中部有哪些城市 属于南方,西南,东南,有呢些城市? 哪位说说什么颜色的托帕石最好 谁能给我提供萨凯帕朗姆酒的简介,详细一些的。万分感谢! 蓝色托帕石与天然紫水晶的价格比较 求《帕丁顿熊》1和2百度云,高清,英语中字