- 博客(199)
- 资源 (7)
- 收藏
- 关注
原创 完美实现tabsheet中融合窗体,不重复创建,并自动切换到已经创建的sheet
procedure TForm1.btn1Click(Sender: TObject); //功能说明 点击时,创建窗口并显示到sheet中,再并点击时如果已经有则不再创建; //如果已经有打开的则要切换成当前活动的。项目设置中取消指定窗体的自动创建 var i:Integer; begin if Application.
2013-06-28 10:26:14 1900
转载 Application.CreateForm中参数的问题
procedure CreateMyForm(const FormClassName, FormName : string);begin if Application.FindComponent(FormName)=nil then begin if GetClass(FormClassName) with TForm(TComponentClass(Fi
2013-06-28 10:24:08 1564
原创 【转载】[转]DBGridEh 的使用
1 序言 2 DBGridEh(增强型表格组件)功能详解 3 应用实例 3.1 定制标题行 3.1.1 制作复杂标题行 3.1.2 标题行显示图片 3.1.3 自动显示标题行的升降排序标志符(▽降序△升序)并做相应排序 3.2 定制表格底部(footer)区域的汇总统计行 3.3 定制表格数据单元外观 3.3.1 根据不同字段值显示相应的小图片 3.3.2 显示检查框(checkbox)外观 3.
2013-06-24 13:56:56 1393
原创 【转载】DELPHI操作excel(转)
DELPHI操作excel(转) (一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObject( ''Excel.Application'' );1) 显示当前窗口:ExcelApp.Visible := True;2) 更改 Excel 标题栏:ExcelApp.Caption := '
2013-06-24 13:56:54 581
原创 DBGridEh设置固定列,用于统计记录数和平均数、总和
DBGridEh1.FooterRowCount:=1; DBGridEh1.SumList.Active:=True; DBGridEh1.FootColor:=clInfoBk; DBGridEh1.Columns[0].Footer.ValueType := fvtStaticText; DBGr
2013-06-24 13:56:52 4097
原创 Ehlib 在 Delphi 7 中的安装(dbgrideh)
Delphi 7中的安装方法 1. 把 EhLib 中的 common 和 DataService 文件拷贝到 Delphi7 目录中. 2.在 TOOLS->Environment Options->Library->Library Path 中添入EHLIB路径。 3.打开新建文件夹中的 EHLIB70.DPK ,编译一下,但不要安装。 4.打开Ehlib中的DclEhLib70.DP
2013-06-24 13:56:49 3775 1
原创 用sql进行表的插入数据行,空白行,删除行,修改行
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ComObj;type TForm1 = class(TForm) ADOConnection1
2013-06-24 13:56:47 5896
原创 delphi 中进度条控件常用到的属性
ProgressBar1.Max:=5000;//最大值progressbar1.Step:=1;//步长progressbar1.Position:=i;//当前进度位置。smooth=true;//光滑进度样式。
2013-06-24 13:56:45 1392
原创 VB中的DoEvents命令,在Delphi中与其对应命令
Application.ProcessMessages作用防止进程阻塞,使程序能够响应消息队列中的其他事件。 实例:var i:integer;beginfor i:=0 to 500000 dobeginlabel3.Caption:=inttostr(i+1);Application.ProcessMessages;//注意这里噢,如果没有这条,系统将假死,加上这句后label3将即时显
2013-06-24 13:56:43 1387
原创 判断窗体是否创建,没有则创建后显示
//form1.Show; if form1=nil then Form1 := TForm1.Create(nil);// Application.CreateForm(TForm2, Form2); form1.show;
2013-06-24 13:56:40 1230
原创 delphi DBgrid 数据随着鼠标滚动而滚动!
首先要在窗体放一个ApplicationEvents控件,在onApplicationEvents 事件中加入以下代码(第一法:只对指定名的控制起作用,第二个对类起作用)begin if (DBGrid1.Focused) And (Msg.message = WM_MOUSEWHEEL) then begin
2013-06-24 13:56:38 1096
原创 delphi 把窗体上的所有EDIT清空
procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin for i:=0 to self.ComponentCount-1 do begin if (self.Components[i] is Tedit) then begin Tedit(Components[i]).Clear;; end; end; end;
2013-06-24 13:56:36 1993
原创 Delphi Excel 操作大全
(一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObject( 'Excel.Application' );1) 显示当前窗口:ExcelApp.Visible := True;2) 更改 Excel 标题栏:ExcelApp.Caption := '应用程序调用 Microsoft Ex
2013-06-24 13:56:34 793
原创 Delphi 去掉MDI窗口的滚动条
在MDI主窗体中如下代码:Function ClientWindowProc( wnd: HWND; msg: Cardinal; wparam, lparam: Integer ): Integer; stdcall; Var pUserdata: Pointer; Begin pUserdata:= Pointer( GetWindowLong( wnd, GWL_USERDATA )); C
2013-06-24 13:56:32 1448
原创 只允许运行一个实例的三种方法
一、创建互斥对象在工程project1.dpr中创建互斥对象Program project1UsesWindows,Form,FrmMain in 'FrmMain.pas' {MainForm};{$R *.res}varhAppMutex: THandle; //声明互斥变量begin hAppMutex := CreateMutex(nil, false,’projectname’)
2013-06-24 13:56:29 1824
原创 最精简的小写金额转大写的函数
function NumToChar(const n: Real): string; //可以到万亿,并且可以随便扩大范围const cNum: WideString = '零壹贰叁肆伍陆柒捌玖--万仟佰拾亿仟佰拾万仟佰拾元角分';cCha:array[0..1, 0..12]of string =(( '零元','零拾','零佰','零仟','零万','零亿','亿万','零零零','零零','
2013-06-24 13:56:27 665
原创 释放资源文件中的exe文件并运行
delphi 释放资源文件中的exe文件并运行制作资源文件我就不用说了吧,下面是怎样释放并运行文件Res := TResourceStream.Create(Hinstance, 'aaa.exe', 'aaa');Res.SavetoFile('aaa.exe');winexec('aaa.exe',sw_Normal);
2013-06-24 13:56:25 1675
原创 delphi网络时间校对
网络时间校对procedure setLocalDateTime(Value: TDateTime);var lSystemDateTime: TSystemTime;begin DateTimeToSystemTime(Value, lSystemDateTime); SetLocalTime(lSystemDateTime);end;
2013-06-24 13:56:23 1679
原创 输入数字并且只能输入一个小数点
edit中只能输入数字并且只能输入一个小数点在edit的keypress事件加入如下代码即可if not (key in ['0'..'9','.']) then //只能输入数字及小数点,还想控制只让输入什么,自己在[]中自己填加key:=#0;if (key=’.') and (Pos(‘.’,Edit1.Text)>0) then //如果输入的是小数点,并且前面已有小数点就不让输入了key
2013-06-24 13:56:20 1036
原创 自带的Indy控件实现MD5加密
在Delphi里实现MD5加密其实很容易!方法如下:在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码即可以达到MD5的实现。 示例代码 procedure TForm1.Button1Click(Sender: TObject); var MyMD5: TIdHashMessageDigest5; Digest: T4x4LongW
2013-06-24 13:56:18 784
原创 dbgird中导出到excel函数
函数procedure CopyDbDataToExcel(Args: array of const);variCount, jCount: Integer;XLApp: Variant;Sheet: Variant;I: Integer;beginScreen.Cursor := crHourGlass;if not VarIsEmpty(XLApp) thenbeginXLApp.Displa
2013-06-24 13:56:16 664
原创 Edit控件的外观只有一条下划线
实现部分: 无须编写代码,只要设置一下控件属性 需要修改这些属性: BorderStyle改为bsNone BevelKind改为bkSoft BevelEdges下的项目中只将beBottom设为True,其余设为False 为了美观,最好再将Ctl3D设置为False。
2013-06-24 13:56:14 685
原创 delphi 限制文本框中只接受数字
在窗体上,放一个TEXTBOX 和BUTTON,当在TEXTBOX中输入非数字时,如果点击BUTTON,则进行人机对话框作出提示:procedure TForm1.Button1Click(Sender: TObject);vari:integer;beginfor i:= 1 to length(edit1.text) doif not(edit1.text[i] in ['0'..'9'])
2013-06-24 13:56:11 755
原创 DBGRIDEH 组件,速达2000中应用了该组件
DBGRIDEH 是Enlib 3.0组件包中的组件之一。Enlib 3.0组件包是一位俄国人为增强Borland系列开发工具功能而开发的第三方组件,它具有界面友好、功能强大、开发效率高、、快速制作预览/打印简单中国式报表等特点。因此,一推出即受到广大Borland程序员的青睐。目前这个版本支持Borland Delphi versions 4,5,6&7 和 Borland C++ Builde
2013-06-24 13:56:09 703
原创 StyleBook皮肤控件的使用
StyleBook 介绍及VICEN对皮肤控件的一些看法可以说StyleBook的出现,简直是皮肤控件厂商的噩梦,因为用户可以通过StyleBook快速切换控件样式,而不需要在去购买第三方换肤控件,对于免费并且是官方集成的StyleBook来说,优势不言而喻。因此,以后的皮肤控件除非有自己的特色,例如Raize,提供了很多系统没有的控件,并且有自己的独特的外形风格,否则很难在发展下去。我们很期待有
2013-06-24 13:56:07 1277
原创 Delphi 7 中DBGrid的排序
procedure TfrmTraceReport.DBGrid1TitleClick(Column: TColumn);var SortField, FieldTitle: string;begin SortField := Column.Field.FieldName; FieldTitle := Column.Title.Caption; ShowMessage(SortField
2013-06-24 13:56:05 908
原创 IsNumeric 判断字符串是否为数字
IsNumeric 判断字符串是否为数字,如果是数字返回true,如果包含有汉字或字符的话返回false. 由于Delphi本身没有IsNumeric这个函数,不像其它语言,这个函数相当于Java的IsNaN函数。delphi代码function IsNumeric(AStr: string): Boolean; var Value: Double; Code: Integer; begin Va
2013-06-24 13:56:02 4542
原创 Delphi全角转半角
function ToDBC( input :String):WideString;varc:WideString;i:Integer;beginc := input;for i:=1 to Length(Input) dobeginif (Ord(c) = 12288) thenbeginc := chr(32);continue;end;if (Ord(c) > 65280) and(Ord(
2013-06-24 13:56:00 688
原创 delphi判断一个字符是否为汉字的最佳方法
function IsNumberic(Vaule:String):Boolean; //判断Vaule是不是数字vari:integer;beginresult:=true; //设置返回值为 是(真)Vaule:=trim(Vaule); //去空格for i:=1 to length(Vaule) do //准备循环beginif not Vaule[i] in ['0'..'9'] the
2013-06-24 13:55:58 1542
原创 “千千静听”滚动标题栏,非常简单!
记得曾写过类似功能,但由于对Delphi数据类型不清楚,要花不少代码去处理中文被切半而出现乱码的尴尬。后来知道只需把字符串定义成 WideString 即可解决半个中文的问题了。实现过程:不停地剪切标题的第1个字符放到最后一位,OK。1、定义一个全局变量保存显示到标题栏的字符串varstrScroll:Widestring = 'Beyond - 海阔天空.mp3 - 千千静听 ';2、添加一个T
2013-06-24 13:55:56 674
原创 delphi判断字符是否是汉字
//┏━━━━━━━━━━━━━━┓//┃代码着色:CodeColor v1.0 ┃//┃来自:悄然无声的 Blog ┃ //┗━━━━━━━━━━━━━━┛//判断字符是否是汉字function IsMBCSChar(const ch: Char): Boolean; begin Result := (ByteType(ch, 1) end;
2013-06-24 13:55:54 630
原创 拼音首字符序列来实现检索功能
日常工作和生活中我们经常使用电子记事本查找个人通讯录信息,或在单位的应用程序中查询客户档案或业务资料,这个过程中往往需要输入大量的汉字信息,对于熟悉计算机的人这已经是一件头疼的事,那些不太熟悉计算机或根本不懂汉字输入的用户简直就望而生畏。作为对数据检索技术的一种新的尝试,作者探索使用汉字拼音的首字符序列作为检索关键字,这样,用户不必使用汉字,只须简单地键入要查询信息的每个汉字的拼音首字符即可。比如
2013-06-24 13:55:51 624
原创 Delphi汉字简繁体转换代码
//delphi 7 Delphi汉字简繁体转换代码unit ChineseCharactersConvert; interface uses Classes, Windows; type TGBBIG5Convert = class(TObject) public class function BIG5ToGB(BIG5Str : String): AnsiString;
2013-06-24 13:55:49 2404
原创 Delphi 汉字转拼音
//Delphi 汉字转拼音,网上搜索的,加以改进,实现多个汉字批量转,中间含用字母,数字unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Di
2013-06-24 13:55:47 3953
原创 Access数据库中图像的存储和显示
一、 原理介绍--流式数据的类型及其应用在Dephi中提供了TStream来支持对流式数据的操作。TStream是万流之源。但由于它是一个抽象类,故不能被直接使用;而要使用其相应的子类,如:TFileStream 、TStringStream、TMemoryStream、TBlobStream、TWinSocketStream和TOleStream。TStream提供了统一、简洁的方法来进行数据的
2013-06-24 13:55:44 2908
原创 DELPHI操作ACCESS数据库(两种方式噢)dataset与table
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ADODB, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3:
2013-06-24 13:55:42 1125
原创 delphi的万能数据库操作
好多人都抱怨delphi没有提供一个可以把任意数据放入数据库的控件,虽然说用代码实现也不难,但是有控件会更方便,这次我终于还是抽出空来做了这么个控件,以后就可以直接拖放了。它支持把任意数据类型写入数据库,也可以从数据库读出到流,或是直接保存为文件。另外,我加了一些对常用图像的处理,保存 jpg或是gif格式的图像很方便,并且可以直接显示到image上。unit RaDBOLE; interface
2013-06-24 13:55:40 841
原创 Delphi 将JPG图片上传到SqlServer数据库里
elphi 将JPG图片上传到SqlServer数据库里 unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, Jpeg, StdCtrls, ADODB, DB;typeTForm1 = class(TForm)Button1: TBut
2013-06-24 13:55:37 1616
原创 Delphi中accesss实现树形结构查询系统
主要是要读取数据库的信息,而delphi界面是一个树形结构。例如有一个Ascess数据库:示例.MDB,内有一张表:“国家”,表的内容如下:编号 名称 01 中国 0101 吉林省 010101 长春市 010102 吉林市 0102 江苏
2013-06-24 13:55:33 962
帝国ECMS7.5 批量添加栏目插件
2018-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人