Delphi

delphi操作文本文件的方法简介

风流意气都作罢 提交于 2020-04-04 00:46:31
delphi操作文本文件的方法简介 减小字体 增大字体 作者佚名来源不详发布时间2008-5-31 10:31:16发布人xuedelphi 1 文件类型和标准过程  Delphi同Object Pascal一样支持三种文件类型,即:文本文件、记录文件、无类型文件。 1.1文本文件  文本文件类型的变量用如下方法声明: var TextFileVar: Text ;  文本文件是以行为单位进行读、写操作的。由于每一行长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。而且文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。  1.1.1 文本文件的打开、关闭  文本文件的打开需要两个步骤:(1). 文件变量与文件名关联;(2). 初始化读写。 联文件变量与文件名调用AssignFile标准过程:  AssignFile ( TextFileVar , FileName ) ;  FileName 既可以是全路径名,也可以仅是文件名。对于后者系统将在当前目录下查找。 AssignFile是Delphi新提供的一个函数,其功能等价于Object Pascal中的Assign。而Assign在Delphi中更多地被用作一个方法名。 初始化读写有三种方式: 1. Reset : 为读打开文件并把文件指针移动到文件首; 2. Rewrite

关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写

人走茶凉 提交于 2020-04-04 00:41:35
TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类: TFileStream: 文件流 TStringStream: 字符串流 TMemoryStream: 内存流 TResourceStream: 资源文件流 THandleStream: 是 TFileStream 的父类、TStream 的子类 TCustomMemoryStream: 是 TMemoryStream 和 TResourceStream 的父类、TStream 的子类 与流相关的常用类还有: TReader、TWriter、TCompressionStream、TDecompressionStream 来一个文件流的例子: procedure TForm1.Button1Click(Sender: TObject); var getStream,setStream: TFileStream; {声明一个文件流} getPath,setPath: string; begin getPath := 'c:\temp\get.jpg'; {需要这个文件存在} setPath := 'c:\temp\set.jpg'; {这个会自动建立} if not FileExists(getPath) then begin ShowMessage('找不到我们要测试的图片文件: ' +

关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写

纵饮孤独 提交于 2020-04-04 00:41:17
TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类: TFileStream: 文件流 TStringStream: 字符串流 TMemoryStream: 内存流 TResourceStream: 资源文件流 THandleStream: 是 TFileStream 的父类、TStream 的子类 TCustomMemoryStream: 是 TMemoryStream 和 TResourceStream 的父类、TStream 的子类 与流相关的常用类还有: TReader、TWriter、TCompressionStream、TDecompressionStream 来一个文件流的例子: procedure TForm1.Button1Click(Sender: TObject); var getStream,setStream: TFileStream; {声明一个文件流} getPath,setPath: string; begin getPath := 'c:\temp\get.jpg'; {需要这个文件存在} setPath := 'c:\temp\set.jpg'; {这个会自动建立} if not FileExists(getPath) then begin ShowMessage('找不到我们要测试的图片文件: ' +

Delphi XE使用SQLite3

本小妞迷上赌 提交于 2020-04-03 10:25:41
用Delphi开发小程序,之前使用过Access数据库,但是由于Access依赖于office,感觉有些不太方便,研究一下Delphi使用SQLite3。 SQLite 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。 SQLite下载 官网下载页面 https://www.sqlite.org/download.html 找到下图内容,根据自己的开发环境选择下载32位的dll还是64位的dll,tools是一个能连接SQLite3的工具。 Delphi简单操作SQLite 将dll放入程序对应目录下, dll版本一定要和开发环境相对应 。 选择两个控件TFDConnection和TFDQuery, Name分别为FDConnection1和FDQuery1。 FDQuery1.SQLConnection选择FDConnection1。 简单操作,创建连接数据库,创建表,添加数据和查询数据 (1)创建连接数据库,数据库文件没有会自动创建 procedure TForm1.CreateDBClick(Sender: TObject); begin FDConnection1.DriverName := 'SQLite'; FDConnection1.Params.Add('DriverID=SQLite') ; FDConnection1

Delphi面向对象编程思想读书笔记3——理解对象

你。 提交于 2020-04-03 10:21:08
对象的本质 计算机内存常用的有两块,栈(stack)和堆(heap)。 对象的引用存储在栈中,栈中的变量是不需要由程序员手动去释放内存空间的。简单数据类型的值和对象的引用存储在栈中,对象存储在堆中。 查看创建对象所占用内存的大小,调用InstanceSize()方法,从TObject继承。 对象引用和类引用。对象是类的动态实例,对象总是被动态分配到堆上,一个对象引用就如同一个句柄或者一个指针。一个对象引用通常以一个变量的形式存在,也有函数或者属性返回值的形式。类引用类型是类的模板。类引用最普遍的使用是通过调用构造函数来生成该类的实例,也可以用引用类测试对象类型(is)或者将对象转换为特定类型(as)。 常用的参数床底机制分为值传递和引用传递(var)。 赋值操作符(:=)将一个对象的以用赋值给一个对象变量。Assign和AssignTo方法可以将对象属性进行赋值。 简单的数据类型(如Integer,Char,Record等)无论作为参数还是变量都是按值传递和使用的,通常称为值类型。对象变量是引用类型变量,分配一个对象引用给一个变量时,Delphi仅复制引用,而不是整个对象。 对象的生死 Delphi用Constructor声明一个构造函数Create,可在对象产生的时候调用。用Destructor声明一个析构函数Destroy,将在对象销毁的时候调用。 Destroy直接销毁对象

Delphi XE 开发OCX

北战南征 提交于 2020-03-26 11:05:06
  File -> New -> Other -> ActiveX -> ActiveX Library   创建一个ActiveX Library,保存   File -> New -> Other ->   现在在ActiveX中就能看到 Active Form, ActiveX Control等,我选择的是Active Form   创建OCX接口   来源: 51CTO 作者: 张馨匀 链接: https://blog.51cto.com/470462/2481963

Delphi 动画窗体

时光毁灭记忆、已成空白 提交于 2020-03-26 07:04:16
AnimateWindow(Handle, 200, AW_CENTER); AnimateWindow   函数功能:该函数能在显示与隐藏窗口时能产生特殊的效果。有两种类型的动画效果:滚动动画和滑动动画。   函数原型:BOOL AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags);   参数:   hWnd:指定产生动画的窗口的句柄。   dwTime:指明动画持续的时间(以微秒计),完成一个动画的标准时间为200微秒。   dwFags:指定动画类型。这个参数可以是一个或多个下列标志的组合。标志描述:   AW_SLIDE:使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略。   AW_ACTIVE:激活窗口。在使用了AW_HIDE标志后不要使用这个标志。   AW_BLEND:使用淡出效果。只有当hWnd为顶层窗口的时候才可以使用此标志。   AW_HIDE:隐藏窗口,缺省则显示窗口。   AW_CENTER:若使用了AW_HIDE标志,则使窗口向内重叠;若未使用AW_HIDE标志,则使窗口向外扩展。   AW_HOR_POSITIVE:自左向右显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略。   AW_VER_POSITIVE

delphi中子窗体通用打开函数

烈酒焚心 提交于 2020-03-26 07:03:37
没有用MDI类型,是用setparent来设置子窗体的,在主窗体上放置一个panel2做为子窗体的父容器。Main为主窗体。子窗体中最好在关闭和ondestory中写上代码,在Onclose中写action:=cafree ,在ondestory中写上childfrm=nil; 如下代码: procedure CreateChildFrm(AForm:TCustomForm;const AFormClass:TFormClass); function isExist():boolean; var i:integer; begin result:=False; for i :=0 to Screen.FormCount-1 do begin if Screen.Forms[i].ClassType=AFormClass then begin Result:=True; AForm:=TForm(Screen.Forms[i]); Break; end; end; end; begin if not isExist() then begin AForm:=AFormClass.Create(Main); Winapi.Windows.SetParent(AForm.Handle,Main.Panel2.Handle); end else begin ShowWindow(AForm

Delphi 窗体函数GetWindow

故事扮演 提交于 2020-03-26 07:03:05
Delphi 窗体函数GetWindowGetWindow是计算机的函数,该函数返回与指定窗口有特定关系(如Z序或所有者)的窗口句柄,函数原型是HWND GetWindow(HWND hWnd,UINT nCmd)。//声明: GetWindow( hWnd: HWND; {指定的窗口句柄} uCmd: UINT {指定的关系选项} ): HWND; {失败返回0; 成功返回符合的窗口句柄} //uCmd 可选值: GW_HWNDFIRST = 0; {同级别第一个} GW_HWNDLAST = 1; {同级别最后一个} GW_HWNDNEXT = 2; {同级别下一个} GW_HWNDPREV = 3; {同级别上一个} GW_OWNER = 4; {属主窗口} GW_CHILD = 5; {子窗口} 参数 hWnd:窗口句柄。这个函数要返回的窗口句柄是依据nCmd参数值相对于hWnd参数的关系。 nCmd:说明指定窗口与要获得句柄的窗口之间的关系。该参数值可以是下列之一: GW_CHILD(&H5):如果指定窗口是父窗口,则获得的是在Tab序顶端的子窗口的句柄,否则为NULL。函数仅检查指定父窗口的子窗口,不检查继承窗口。 GW_ENABLEDPOPUP(&H6):(WindowsNT 5.0)返回的句柄标识了属于指定窗口的处于使能状态弹出式窗口(检索使用第一个由GW

Passing procedure as a parameter in Delphi [closed]

痴心易碎 提交于 2020-03-26 04:52:05
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 4 years ago . I have this code > type TCallBack = procedure(APerc: Integer) of object; .... procedure CallingProcedure(a, b, c: Integer; ACallBack: TCallBack = nil); .... I call this function from my main class/object like this: CallingProcedure(1, 2, 3, DoOnCallBack); where DoOnCallBack is defined as: procedure DoOnCallBack