
Delphi代码类
踏雪无痕
这个作者很懒,什么都没留下…
展开
-
Delphi 中的字符串函数(5) - SysUtils 中的 Ansi 字符串函数
//对比字符串是不是一样: AnsiSameStr、AnsiSameTextvar ss,s: AnsiString; b: Boolean;begin ss := 'abc'; s := 'ABC'; b := AnsiSameStr(ss,s); {区分大小写} ShowMessage(BoolToStr(b)); {False} b := Ansi...转载 2019-02-09 16:55:51 · 741 阅读 · 0 评论 -
让DELPHI写的服务程序在服务管理器中显示“描述”
DELPHI写的服务程序,可以在XP系统的服务管理器中显示“名称”,但没有与“描述”相对应的发生,“描述”都是显示空白。如何加入自己服务程序的“描述”内容呢?目前基本有两种方法:1、修改注册表,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Services下找到自己的服务名称键值,然后加入一个名为Description的转载 2014-08-30 10:45:21 · 2328 阅读 · 1 评论 -
用Delphi实现开机自动启动程序
在我们机子上的注册表中有个的根键HKEY_LOCAL_MACHINE下有一个键"Run"(Software/Windows/CurrentVersion/Run),Windows开机是会搜索注册表,凡在该键下设置了正确路径的有效程序就会自动运行.下面开始介绍我写的这个Delphi程序^_^.在新建的Form1中添加以下代码 unit Unit1;interf转载 2014-08-30 10:42:03 · 5567 阅读 · 0 评论 -
关于 CxDateedit中可以输入乱码,导致根据日期查询出错的解决方法
1、在CxDateedit的KeyPress事件中加以下代码,禁止输入字母,只能输入数字和退格键procedure TFrmPurchaseReqHistory.EdtCreationBeginDateKeyPress( Sender: TObject; var Key: Char);begin inherited; if not (key in ['0'..'9',转载 2014-08-30 10:29:38 · 1306 阅读 · 0 评论 -
cxgrid or condition filter (或条件过滤)
procedure TShangPinSelectForRuKuFam.SearchRec; //取得 过滤器 Function GetFilter: TcxdbDataFilterCriteria; begin result := ( cxGrid1DBTableView1.DataController.Filter as TcxdbDataFilterCriteri转载 2014-08-30 10:28:42 · 2517 阅读 · 0 评论 -
Delphi Excel导入 的通用程序
Delphi Excel导入 的通用程序 .分类: delphi 2012-09-24 18:20 257人阅读 评论(0) 收藏 举报 exceldelphiinteger数据库c步骤:1 连excel(自己知道其格式,最好是没个字段在数据一一对应)2 读excel数据,填入到数据库我这里有个函数,实现把excel表格中数据导入数据库,在一条数据导入前判断数据库中是否有该数据转载 2014-08-30 09:49:10 · 3050 阅读 · 0 评论 -
delphi中Case语法的使用方法
Case 语句If...Then…Else 语句适合选项较少的情况,如果有很多选项的话利用If 语句就比较麻烦,在这种情况下,Case 语句就容易多了。Case 语句的语法如下: case of:;:;else;end;下面这个例子中的S 为Char 类型。当用户输入一个字符后按回车键确认后判断变量S,如果是小写或大写字母将显示转载 2014-08-31 11:10:05 · 43568 阅读 · 0 评论 -
关于cxGrid控件的一点感悟
昨天晚上“天王”在QQ上问我,如果根据cxGrid的列值来更改一行的颜色,我当时觉得这太简单了,呵,告诉他,今天早上我会来回贴的,于是早上便早早的来到公司,上优快云,找到那个贴子,发现有好多人都回了,方法和我平时用的都差一样,具体内容如下:(http://topic.youkuaiyun.com/u/20080804/14/36734154-6875-4057-8517-932fe714bc7a.html)转载 2014-08-30 10:46:16 · 2207 阅读 · 0 评论 -
delphi 自定义弹出窗口,减少form(dfm文件)的数量
定义一个函数PopUpForm,用来弹出窗口,减少form(dfm文件)的数量,和那么多uses。弹出窗口后,把aPanel放在窗口上,提供两个按钮,确定和取消。确定按钮的标签可更改。两个按钮分别响应键盘回车和ESC。函数返回true,点了确定按钮;返回false,点了取消按钮。参数:aPanel: TControl; //一个存放各种转载 2014-08-30 09:39:05 · 1792 阅读 · 0 评论 -
Delphi异常处理try except语句和try finally语句用法以及区别〖原创+转载〗
一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下!主要是前面小部分,后面的是详细说明(很啰嗦!)一、异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常。 (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突原创 2014-08-30 15:40:17 · 1427 阅读 · 0 评论 -
DELPHI7执行dos命令并等待完成再执行面的语句
DELPHI7执行dos命令并等待完成再执行面的语句2006-12-06procedure TForm1.Button4Click(Sender: TObject);varStartupInfo: TStartupInfo;ProcessInfo: TProcessInformation;begin//ShowMessage('Ready to la转载 2014-08-30 11:29:35 · 4871 阅读 · 0 评论 -
Delphi过程函数传递参数的几种方式
在Delphi过程、函数中传递参数几个修饰符为Const、Var、Out。另一种不加修饰符的为默认按值传递参数。 一、默认方式以值方式传递参数 procedure TForm1.ProcNormal(Value: string); begin OrigNum:=Value+' Me'; lblReturn.Caption:=OrigNum;//OrigNum为'Hell转载 2014-01-14 20:35:33 · 1722 阅读 · 1 评论 -
Delphi XE4 主窗体隐藏之后任务栏没有图标显示。
今天修改程序BUG的时候,发现登录窗口点击登录后,主操作窗口任务栏图标竟然消失了,换到虚拟机里面的DELPHI7测试同样代码正常,对比后发现program Project1;uses Vcl.Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2};{$R *.res}原创 2013-09-20 18:34:54 · 3058 阅读 · 0 评论 -
Delphi检查IP地址的合法性
{------------------------------------------------------------------------------- 作者: 曾聪 日期: 2013.12.27 过程名: GetSubStrCount 功能: 获得子字符串在父字符串中出现的次数 参数: sSubStr, sParentStr原创 2013-12-27 20:47:14 · 3354 阅读 · 1 评论 -
DELPHI技巧总结
1、True和False的赋值Button1.Enable := CheckBox1.Checked;原创 2013-12-18 14:15:05 · 872 阅读 · 0 评论 -
delphi Date函数列表
DateUtils时间单元,非常有用。记得引用这个单元,不然不能用。CompareDate 比较两个日期时间值日期部分的大小CompareDateTime 比较两个日期时间值的大小CompareTime 比较两个日期时间值时间部分的大小DateOf 去除日期时间值的时间部分DateTimeToJulianDate 转换日期时间值为儒略日DateTimeToMod转载 2014-08-30 11:27:55 · 1310 阅读 · 0 评论 -
Delphi中给Windows服务程序添加描述信息
procedure TMyService.ServiceAfterInstall(Sender: TService);var reg: TRegistry; begin reg := TRegistry.Create; try with reg do begin RootKey := HKEY_LOCAL_MACHINE;转载 2014-08-31 10:25:36 · 1733 阅读 · 0 评论 -
DELPHI判断同时按下CTRL+SHIFT组合键
if (GetAsyncKeyState(VK_CONTROL)转载 2014-09-23 22:14:01 · 4951 阅读 · 0 评论 -
Delphi 下的Base64编码和解码
function Base64Encode(s : string) : string; //base64 编码var base64 : TIdEncoderMIME; tmpBytes : TBytes;begin base64 := TIdEncoderMIME.Create(nil); try base64.FillChar := '='; tmpByte...转载 2018-03-06 14:05:13 · 6372 阅读 · 2 评论 -
Delphi XE6 String转MemoryStream
将一个字符串转换成MemoryStream的函数.function StringToMemory(s:string):TMemoryStream;var bytes:TBytes; ms:TMemoryStream;begin ms:=TMemoryStream.Create; bytes := TEnCoding.UTF8.GetBytes(s);转载 2016-02-27 17:35:21 · 2562 阅读 · 0 评论 -
delphi 怎么将一个流转换成字符串?或者将字符串转出一个流
(*// 标题:充分利用pascal字符串类型 说明:和PChar不同,string可以保存#0字符在其中;示例文件、内存流字符串之间转换 设计:Zswang 日期:2002-01-25 支持:wjhu111@21cn.com //*) ///////Begin Source function StringToFile(mString:转载 2016-02-27 14:42:05 · 3400 阅读 · 0 评论 -
Delphi 文件处理(2)
1. 文件管理类函数判断文件是否存在 FileExists 判断文件夹是否存在 DirectoryExists删除文件 DeleteFile; Windows.DeleteFile 删除文件夹 RemoveDir; RemoveDirectory获取当前文件夹 GetCurrentDir转载 2016-02-26 18:40:27 · 1263 阅读 · 0 评论 -
delphi获取文件编码
//delphi获取文件编码unit EncodeUnit;interfaceuses SysUtils, Windows, Classes;type TTextFormat = ( tfAnsi, tfUnicode, tfUnicodeBigEndian, tfUtf8 );const TextFormatFlag: array [tfAnsi..tfUtf转载 2016-03-10 13:30:12 · 2243 阅读 · 0 评论 -
DelPhi 动态给ComBoBox赋值,从ComBoBox中取值
1、把数据库中的项目信息(项目名称、项目编号)动态赋给ComBoBox cbProjectName.Items.Clear; with adoQryProject do begin First; while not Eof do begin ProjectNameStr := fieldByName('ProjectName').As转载 2015-08-23 14:07:09 · 9063 阅读 · 0 评论 -
Delphi的线程类
本文是没有写过delphi的多线程,对delphi的线程类TThread不熟悉的人而写的,主要从 TThread的源代码入手. Delphi为多线程的实现专门封装了一个TThread类来实现,我们从Create函数入手来认识一下这个类,这里一般都是windows下的开发,所以先去掉linux环境的代码:constructor TThread.Create(CreateSuspended:转载 2015-05-03 12:26:47 · 2858 阅读 · 0 评论 -
事件方法必须是类的方法
我的本意是想在一个通用unit单元中定义一个通用的查询函数,在这个通用查询函数中调用字段的ongettext方法来解析值为代码的字段(如:表的性别字段存储的是代码,'1':男,'2'女),在DBGridEh中性别显示的是名称男或女,而表中字段存储的是'1'或'2'由于想尽可能做的通用,不希望用联合查询,要用Ongettext难道要在每个TADOQuery控件中写Ongettext事转载 2015-03-12 22:24:48 · 821 阅读 · 0 评论 -
delphi学习笔记--ADO数据库连接组件TADOConnect
ADO数据库连接组件TADOConnection TADOConnection表示一个数据资源开放的连接,Connection对象必须指定的参数:服务器、数据库名、用户名、口令和连接时限,每一个连接属于一个给定的客户应用程序。(1) ConnectionString: 包括的参数: ①Provider:OLE DB提供者的名字,如”SQLOLEDB”是指转载 2015-03-12 20:09:15 · 4417 阅读 · 0 评论 -
在delphi中实现密码框“大写锁定打开”的提示
在登录windows时,如果大写锁定打开,且焦点处于密码输入框中,会出现气泡提示信息:“大写锁定打开 保持大写锁定打开可能会使你错误输入密码……”。实现方式: 将edit控件的PasswChar设置成*,并在单元里面加入 uses XPMan。转载 2015-03-08 09:49:19 · 1288 阅读 · 0 评论 -
Delphi使用文件拖放功能
1. 新建一个Delphi工程,将Form1的FormStyle属性设置为:fsStayOnTop,在窗体上放置一个Memo1控件,用于显示拖放进来的文件名;2. 添加单元引用:ShellAPI;3. 在Public部分声名一个处理WM_DROPFILES消息的过程 public procedure WmDropFiles(var Msg: TMessage)转载 2015-02-18 00:21:49 · 1566 阅读 · 0 评论 -
DELPHI的NULL函数,相当于MS SQL的ISNULL,ORACLE的NVL
a := ifthen(VarIsNull(b), 'null时的默认值', b); 引用StrUtils单元转载 2015-01-20 13:24:42 · 3918 阅读 · 0 评论 -
Delphi与SQL模糊查询(转载)
1.用变量进行模糊查询 对数据进行模糊查询主要用SQL语句LIKE来实现。该语句放在Where语句的后面,使用标识符“%”、“_”、“[]”、“[^]”对数据进行模糊查询。 例如,对姓名为“王”,并且姓名为两个字的学生信息。 Select * FROM MR_Student where 姓名 like '林_' 例如,查询数学成绩在70~79之间的学生信息。转载 2015-02-03 10:27:36 · 1753 阅读 · 0 评论 -
delphi property TabOrder does not exist
unit uModuleFrame;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type TModuleFrame = class(TFrame) public constructor Create(AOwne转载 2015-01-27 21:06:44 · 1803 阅读 · 0 评论 -
DELPHI OnKeyDown,OnKeyPress,OnKeyUp区别
有键按下 -> 产生onKeyDown事件 -> 如果是有ASCII码的按键, 则产生onKeyPress事件有键释放 -> 产生onKeyUp事件onkeydown和onkeypress的区别是有些键Shift、Ctrl、Alt、F1、F2、...等按键是不会产生onKeyPress事件的如键盘的↑键onkeypress不会响应事件,但用onkeydown就可以响应原创 2013-12-13 19:11:31 · 5571 阅读 · 0 评论 -
Component和Control区别
很多时候会将一个Panel1放在Form1上,然后再将一个Button1放在Panel1上,这样的话,这个Button1的Owner就是Form1而Parent则是Panel1。 所有的Delphi的Component都有Owner 属性,Owner属性表示这个Component的所有者是谁,比如上面的例子,Button1的所有者(Owner )就是Form1,当Form原创 2013-12-20 10:03:53 · 2162 阅读 · 0 评论 -
Delphi中的窗体创建与销毁
Delphi中的窗体,有模式窗体与非模式窗体两种。两种窗体的调用方式不同,模式窗体使用ShowModal显示,非模式窗体使用Show显示。当显示模式窗体的时候你是不能操作本程序的其他窗体的,你不能把焦点从模式窗体转到其他窗体上。而非模式窗体则没有这种限制,你可以从一个非模式窗体切换到另外一个非模式窗体上。两种窗体的区别仅仅在调用的方式上有区别。窗体的创建:当使用Delphi的IDE转载 2014-01-04 23:50:30 · 6074 阅读 · 0 评论 -
delphi checkbox改变checked时不让触发click事件〖模拟radiobutton功能〗
因为checkbox的checked的改变有三种方式,第一种是直接调用语句:checkbox.checked:=true/false;第二种是直接点击这个控件,当然前题是要有checkboxClick事件.第三种是state 表示复选框的当前状态.cbchecked 表示选中, cbunchecked表示未选中, cbGrayed表示变灰状态.(allo原创 2013-09-20 17:03:12 · 5636 阅读 · 0 评论 -
DELPHI 存储过程结构示例
ADOStoredProc := TADOStoredProc.Create(nil); ADOStoredProc.Connection := ADOConnection; ADOStoredProc.ProcedureName := '存储过程1'; //设定存储过程ADOStoredProc.Parameters.CreateParameter(...); //设原创 2013-11-19 12:28:18 · 1122 阅读 · 0 评论 -
delphi 清空(重置)groupbox里面所有控件的值
for i := 0 to rzGroupBox4.ControlCount - 1 do begin if rzGroupBox4.Controls[i].ClassType = tedit then begin (rzGroupBox4.Controls[i] as tedit).Text := ''; end;转载 2013-11-04 13:15:36 · 3902 阅读 · 0 评论 -
delphi中查找指定文件的例程
代码如下:unit Unit1;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, FileCtrl;typeTForm1 = class(TForm)Button1: TButton;ListBox1: TListBox;pr转载 2013-10-18 23:47:40 · 3067 阅读 · 0 评论 -
Delphi 中的常用事件
原文地址:中的常用事件" style="text-decoration:none; color:rgb(7,67,135)">Delphi 中的常用事件作者:星云月序号事件描述1. OnActive焦点称到窗体或控件时发生2.转载 2013-09-28 22:38:37 · 3295 阅读 · 0 评论