随笔分类 -  delphi

delphi 2010 导出sql server 数据到DBF乱码问题
摘要:近日,由于业务需要导出sql server 数据到DBF文件,要查询多表记录,并适当处理后生成导出DBF文件,系统使用delphi2010平台开发。 首先按要求在VFP里创建DBF表,字段数有240个,作为样表,导出时取样表通过文件流拷贝一个新表,并按要求规则命名,拷贝一份新表使用: 1 pr... 阅读全文
posted @ 2016-01-10 15:13 yf658 阅读(933) 评论(0) 推荐(0)
delphi中edit控件内容上下居中
摘要:关于delphi中edit控件内容上下居中问题,在网上找了很多,大多介绍的是左右居中,edit左右居中在delphi的高版本里已经增加了一个Alignment属性,设置为taCenter即可,最终在网上找到了上下居中的解决办法,在type加入如下代码:typeTEdit=class(StdCtrls.TEdit)protectedprocedureCreateParams(varParams:TCreateParams);override;procedureKeyPress(varKey:Char);override;procedureWMSize(varmsg:TWMSize);mes... 阅读全文
posted @ 2012-07-25 07:14 yf658 阅读(5103) 评论(0) 推荐(0)
SRichViewEdit 表格边框调整
摘要:SRichViewEdit 表格默认的表格边框,是有表格边框和单元格边框,并且表格边框与单元格边框有2点的边距,单元格与单元格之间也有2点的边距,看起来是双线的,如下图:我平常习惯用单细线边框的表格,为此,对SRichViewEdit插入表格的默认格式进行调整,直接修改RichViewActions.pas单元里表格默认属性默认值,打开RichViewActions.pas,找到constructorTrvActionInsertTable.Create,代码如下: constructorTrvActionInsertTable.Create(AOwner:TComponent);beg... 阅读全文
posted @ 2012-06-30 11:27 yf658 阅读(1500) 评论(0) 推荐(0)
基于Delphi的融合DLL中的窗口
摘要:摘要:提出了一种简单的方法将DLL中的窗口融合(嵌入)到其他应用程序或DLL的窗口中,使用本方法可以简便地实现具有强扩展性和升级能力的软件系统。 1、引言 在开发一个大型通用控制系统时曾遇到这么一个问题:该系统软件包由若干个可执行文件和动态链接库组成,因为扩展性和兼容性的要求,需要将系统划分为若干个可执行文件和动态链接库,并且在大部分DLL中封装各自的操作界面,在调用DLL时将其中包含的部分界面嵌入地显示在主界面的某个区域或某个窗口内,与主界面的其他部分浑然一体。这样主程序与DLL在功能操作上各司其职,在外部界面上又彼此交融,使用户可以通过增加和修改DLL来实现对系统内部... 阅读全文
posted @ 2012-05-04 21:56 yf658 阅读(604) 评论(0) 推荐(0)
Delphi下DLL调用以及共享数据库连接
摘要:(1)正确认识dll Dll本质上一个独立的应用程序,与exe一样,有自己的地址空间。 因此,dll是一个可装载执行的程序。其他的,不多说了吧。 (2)调用DLL的方法 我用过的有三种。 第一种:用API 因为Delphi支持几乎所有的API,你可以在Delphi中直接调用API装载一个外部DLL。但是我不喜欢这样做,因为我讨厌微软的那套路。 第二种:外部函数引用 做一个单元(unit),引用外部函数。例如: function myDllCall(var i:integer): Integer; stdcall; external 'mydll.dll' name 'm 阅读全文
posted @ 2012-04-28 06:58 yf658 阅读(594) 评论(0) 推荐(0)
Delphi 中的DLL 封装和调用对象技术
摘要:Delphi用DLL来封装对象的技术主要有三种: 用接口实现 用纯虚和抽象类方法实现 用类引用实现 前两种,都是在DLL中生成类实例;第3种通过在调用方生成实例。三种方法的共同局限如下: 调用方只能调用封装类中的virtual方法; 调用方和提供方都必须提供类的描述,接口实现中需要提供接口描述(COM方法例外); 不能创建DLL包含对象的派生类(接口派生除外)。 首先,用接口实现当然包括COM实现,不过由于COM是一种实现接口技术的独立门类,所以在下面说的接口实现中不包括这方面的东西。其次用纯虚和抽象类方法实现,在《Delphi 6 Developer‘s Guide》中提及的inc... 阅读全文
posted @ 2012-04-28 06:54 yf658 阅读(1512) 评论(0) 推荐(0)
TreeView使用笔记
摘要:TreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。一、针对TTreeNodes,也就是 TreeView.Items,有这些属性: 1、count,节点个数。 2、item[index] ,通过index得到节点。二、针对TTreeNodes,也就是 TreeView.Items,常用的添加节点的操作有: AddFirst添加第一个根节点。由此函数添加的节点总排在前面,除非后来又使用此函数添加了一个节点,则后添加的节点将排在前面。该函数返回新添加的节点。 AddChildFirst添... 阅读全文
posted @ 2012-04-28 06:52 yf658 阅读(291) 评论(0) 推荐(0)
TRichView文档结构
摘要:1 TrichView结构TrichView的文档结构由段落和Item组成,如下图绘图的组织形式如下图:2 段落PragraphTRichView文档是通过段落进行组织的,每个段落都有自己的样式,文档内所有的段落样式作为存储为集合(RichView.Style.ParaStyles)在TrichView中,所有的Item都必须指定ParaNo即ParaStyles的索引;设置ParaNo=-1,将延续上个段落的样式;段落主要设置边框和背景,包括:左缩进、右缩进、边框左偏移、边框右偏移..,如下图。3 ItemlItem是文档中的基本绘图单元lItem分为文本Item和非文本Iteml... 阅读全文
posted @ 2012-04-19 06:16 yf658 阅读(2767) 评论(1) 推荐(0)
TStringList用法(分隔符)
摘要:TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。常规的用法大家都知道,现在来讨论它的一些高级的用法。先把要讨论的几个属性列出来:1、CommaText2、Delimiter & DelimitedText3、Names & Values & ValueFromIndex先看第一个:CommaText。怎么用呢?用代码说话:const constr :String = 'aaa,bbb,ccc,ddd';var strs :TStrings; i :Integer;begin strs := TStringList.Create 阅读全文
posted @ 2011-05-01 14:06 yf658 阅读(314) 评论(0) 推荐(0)
delphi循环遍历同类控件或所有控件
摘要:循环遍历同类控件:form1中有groupbox1,内有多个speedbutton,控制其同时按下。var i:integer;beginfor i:=0 to form1.groupbox1.controlcount-1 doif form1.groupbox1.controls[i] is tspeedbutton thenbegintspeedbutton(form1.groupbox1.controls[i]).allow‍allup:=true;‍tspeedbutton(form1.groupbox1.controls[i]).groupindex:=i+1; tspeedbutt 阅读全文
posted @ 2011-03-27 07:11 yf658 阅读(1067) 评论(0) 推荐(0)
以Delphi Package架构的应用程序开发
摘要:■印象中的Package在一般的AP开发时,我们知道在Delphi7.0整合环境中将Project->Options->选到Packages卷标页,Builder with runtime packages选项打勾,就会让编译出来的执行文件Size变小很多(以空白的Form1为例,编译出来的Size由367kb变成20kb),因为它把一些VCL共享模块的Loding放到*.... 阅读全文
posted @ 2009-07-09 08:26 yf658 阅读(850) 评论(0) 推荐(1)
frxReport 使用说明
摘要:1. TfrxDBDataset TfrxUserDataset 数据存取元件。 FastReport 使用这些元件读取及参考数据库的字段,这两个元件都源于 “TfrxDataSet” 并继承其大部分的功能。 TfrxUserDataSet 元件允许构建未连接到数据库的报表,而由其它来源接收数(据如:数列、文件等)。在此同时,程序员仅需提供浏览此数据集的功能,资料接收并非由此元件执行,而是用其它的方法(例如,经由“TfrxReport.OnGetValue”事件)。 TfrxUserDataSet 元件有下列的属性: (1) property RecNo: Integer rea... 阅读全文
posted @ 2008-12-18 11:02 yf658 阅读(3813) 评论(0) 推荐(0)
Delphi 文本文件操作
摘要:Delphi 支持三种文件类型: 文本文件、记录文件、无类型文件。文本文件是以行为单位进行读、写的。由于每一行的长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。文本文件的打开需要两个步骤:1.文件变量与文件名关联;2.初始化读写。1.文件变量与文件名关联:AssignFile(VarTxt, FileName);FileName 如果省略路径将默认当前目录。2.初始化读写有三种方式:(1) Reset: 只读打开, 指针移到文件头;(2) Rewrite: 创建新文件并打开, ... 阅读全文
posted @ 2008-11-24 10:45 yf658 阅读(1496) 评论(0) 推荐(0)