Delphi
紫松Win
既然选择了远方,便只顾风雨兼程!想了解更多知识:http://weibo.com/u/2985316267
展开
-
Delphi 华氏度和摄氏度转换(亲测可用)
Delphi一个华氏度和摄氏度转换算法,其他语言可参考使用原创 2022-11-16 09:31:36 · 208 阅读 · 1 评论 -
Delphi 的TMemoryStream写入到string类型中(亲测)
Delphi 的TMemoryStream写入到string类型中原创 2022-08-23 15:09:54 · 642 阅读 · 0 评论 -
TmemoryStream 转换到String亲测有用
TmemoryStream 转换到String ,亲测有用原创 2022-08-12 16:09:53 · 538 阅读 · 0 评论 -
delphi中的unicode转换
delphi中的unicode转换原创 2022-07-25 16:57:32 · 1273 阅读 · 0 评论 -
db数据库替换字段值中的空格和回车(亲测有用)
replace(replace(conclusions,char(10),''),' ','')char(10)是替换回车,‘ ’是空格原创 2022-03-15 16:42:59 · 1503 阅读 · 1 评论 -
Delphi实现文件下载UrlDownloadToFile
Uses URLMon, ShellApi;function DownloadFile(SourceFile, DestFile: string): Boolean;begintryResult := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;exceptResult := False;end;这个函数如果在缓存目录中有文件的话,就不会从新下载网络上的文件.解决得办法是使用api函数Dele原创 2021-10-08 13:55:43 · 1119 阅读 · 0 评论 -
Delphi读取access数据库时提示独占问题处理方法
问题:解决:将“连接”页面中的密码清空,然后将密码填写致“所有”页面中的密码位置,如下图所示原创 2021-09-06 10:36:07 · 590 阅读 · 0 评论 -
Delphi的Format格式化函数详解
vars: string;begin//指令类型 types := Format('最大整数是: %d; 最小整数是: %d',[MaxInt,Low(Integer)]);//返回: 最大整数是: 2147483647; 最小整数是: -2147483648{ 提示: 格式指令必须以 % 开始, 不区分大小写, %d 代表一个整数; 第二个参数是一个 变体数组 }s := Format('最大的无负号整数是: %u',[High(Cardinal)]);//返回: 最大的无负号整数是: 4原创 2021-06-30 11:55:30 · 7612 阅读 · 0 评论 -
Delphi宽字符批量去除#0方法
function DelCRLF(src: String): String; var n,M: Integer; begin SetLength(Result, Length(src)); n := 0; for m := 1 to Length(src) do if (src[M]= #0) then continue else begin Inc(n); Result[n] := src[M]; end...原创 2021-05-13 13:52:27 · 607 阅读 · 0 评论 -
delphi中的unicode转换
花47星币买的,没有用上,分享到这里,供大家参考!delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因终于找到了转换函数function AnsiToUnicode(s:string):WideString;varlpWideChar:PWideChar;len:Integer;beginlen := ( Length(s) + 1 ) * 2;GetMem(lpWideChar, len);ZeroMemory(lpWideChar, len原创 2021-05-13 11:46:19 · 953 阅读 · 0 评论 -
delphi 实现科学计数法
uses SysUtils; function StrToExp(s: string): string;var f: Extended;begin f := StrToFloat(s); Result := FloatToStrF(f, ffExponent, 7, 2);end; 然后这么用:ShowMessage(StrToExp('2'));原创 2021-05-07 11:24:45 · 902 阅读 · 0 评论 -
WIn7用HttpAddRequestHeaders不能传Security参数解决办法
HttpAddRequestHeaders(Data, PChar(HeaderAuth), Length(HeaderAuth), HTTP_ADDREQ_FLAG_ADD);将最后一个参数换成 HTTP_ADDREQ_FLAG_ADD即可原创 2020-10-14 10:18:00 · 568 阅读 · 0 评论 -
TmemoryStream ,bety[], TByteDynArray文件转化函数小结
Delphi 支持三种文件类型: 文本文件、记录文件、无类型文件。文本文件是以行为单位进行读、写的。由于每一行的长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。文本文件的打开需要两个步骤:1.文件变量与文件名关联;2.初始化读写。1.文件变量与文件名关联:AssignFile(VarTxt, FileName); --以可写方式打开文件。如果文件不存在,将会自动创建。使用该函数,将会覆盖文.原创 2020-09-08 19:22:45 · 663 阅读 · 0 评论 -
Delphi 数学函数:常用的几个数学函数(Power、Abs、Int、Trunc、Round、Frac、sqr、sqrt)
Delphi 常用的几个数学函数1Power函数,求次方定义:functionPower(X,Y): (Same type as parameter);说明:X可以是整型,也可以是实型;返回值实型例子:var i:integer;begin i := Power(2,3); { 8 } // 2的3次方end.2Abs(x) 函数 ,求绝对值。定义:function Abs(X): (Same type as parameter);说明:X可以是整型,也可以.原创 2020-08-13 15:05:11 · 3585 阅读 · 0 评论 -
Delphi中对Gzip解压代码
使用函数前请安装第三方控件ZlibEX控件,本人博客内 有下载资源procedure DecompressGZip(AInStream, AOutStream: TStream);var pb1, pb2: Byte;begin AInStream.Seek(1, 0); AInStream.Read(pb1, 1); AInStream.Seek(2, 0); AInStream.Read(pb2, 1); AInStream.Position := 0; AOutSt...原创 2020-08-11 14:27:04 · 930 阅读 · 1 评论 -
Delphi用IE浏览器打开网址链接的三种
简单点可以用默认浏览器打开,方法如下:uses shellapiprocedure TForm1.Button2Click(Sender: TObject);beginShellExecut(Application.Handle, nil,'http://iisnine.lofter.com', nil, nil, SW_SHOWNORMAL);end;IE打开网址链接的...原创 2020-04-01 18:21:54 · 836 阅读 · 0 评论 -
delphi中Ms Sql数据库异常捕获问题
My Sql数据库 ,在存储过程中使用 RAISERROR() 主动触发异常, 在delphi中用TADOQuery调用执行。 如果在执行 RAISERROR()前对数据库物理表有写操作, 则在Delphi中捕捉不到此异常,但在查询分析器中调用发现异常确实已触发。 解决方法:在存储过程中加上 set nocount on 另外:根据MSDN中描述 “如果存储过程中包含的一些语...原创 2020-04-01 18:06:49 · 580 阅读 · 0 评论 -
Delphi中的fieldbyname和fieldvalues
FieldValues接收和返回的都是variant类型字段,可以自己处理转换字段类型.比如:Customers.FieldValues['CustNo'] := Edit1.Text;上面的CustNo是个数字类型,但你可以把字符串赋给它. fieldbyname 接收和返回的都是TField类型,需要转换下,比如:Customers.fieldbyname['CustNo'].a...原创 2020-04-01 14:20:37 · 1272 阅读 · 0 评论 -
字符串类型数字前面去0
functiontrim0(s:string):string;beginwhilecopy(s,1,1)='0'dos:=copy(s,2,length(s)-1);trim0:=s;end;原创 2020-03-12 09:17:01 · 561 阅读 · 0 评论 -
Delphi 读取PNG base64编码文件生成图片
uses NetEncoding,PNGImage;procedure TForm1.FormCreate(Sender: TObject);var LInputStream: TFileStream; LOutputStream: TMemoryStream; Png: TPNGImage;begin LInputStream := TFileSt...原创 2019-12-06 15:22:51 · 2400 阅读 · 0 评论 -
delphi中的copy函数和pos函数
1、copy(‘csdn’,1,2) 返回的结果是 cs 注释: Copy有3个参数,第一个是要处理的字符串,第二个是要截取的开始位置,第三个是截取位数 当第三个参数大于字符长度,那么效果就是取开始位置 后的所有字符2、Pos('3','123456')返回的结果是 3注:取出子串在父串中第一次出现的位置原创 2016-12-02 00:36:06 · 6374 阅读 · 0 评论 -
Delphi中的Val函数和iif函数
在delphi中Val是一个将字符串转换为数字的函数,Val(S; var V; var Code: Integer)第一个参数是要转换的字符串,第二个参数存放转换后的数字,可以是整数或浮点数,第三个参数存放出错的字符索引值,例如:Var V, Code: Integer;begin Val('123.445',V,Code);end;转换后: V = 123原创 2016-11-23 23:05:59 · 2154 阅读 · 0 评论 -
delphi中输入框不能输入初数字意外的字符串的函数(IsNumeric)
今天在改公司以前一个软件,代码中有一个地方需要判断一个字符串存储的是不是一个数字,自然让我想起VB的IsNumeric函数。 由于是Delphi,所以只有另外“打造”了。。小函数贴上: function IsNumeric(strInPut:string):Boolean;var Value:Double; Code:Integer;begin Val原创 2016-11-24 00:40:34 · 726 阅读 · 0 评论 -
Delphi中 TStringList 的详细用法
TStringList 类是在Delphi使用最厂的一个对像,我们这里一起来看看 TStringList 的详细用法.先把要讨论的几个属性列出来:1、CommaText2、Delimiter & DelimitedText3、Names & Values & ValueFromIndex TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。TSt原创 2016-12-21 14:28:59 · 20174 阅读 · 0 评论 -
property的使用【Delphi版】
TOnUserInfoShow = procedure(userName:string;userAge:Integer)of object;//定义事件模型中的回调函数原型 TUserInfo = class private FName:string; FAge:Integer; FOnUserInfoShow: TOnUserInfoShow;原创 2016-12-15 18:24:51 · 1135 阅读 · 0 评论 -
Delphi列表框组件(TListBox)详解
列表框组件(TListBox)此组件为一个标准的Windows 列表框组件,它用于显示一系列的列表,用户可以选择、加入、删除或修改其中的项目。1.TLlistBox 组件的典型用法在Windows 应用程序中,经常要用到列表框。列表框能够在一个可翻滚的窗口中列出多个项让用户选择。例如在Delphi 的IDE 中,当使用“View”菜单上的“Component List”命令时,De原创 2017-02-05 22:46:49 · 1807 阅读 · 0 评论 -
Delphi的对象注销方法Destroy和free的区别
当您使用完对象后,您应该及时撤销它,以便把这个对象占用的内存释放出来。您可以通过调用一个注销方法来撤销您的对象,它会释放分配给这个对象的内存。 Delphi的注销方法有两个:Destroy和Free。Delphi建议使用Free,因为它比Destroy更为安全,同时调用Free会生成效率更高的代码。 您可以用下列的语句释放用完的Employee对象转载 2017-02-28 09:26:59 · 549 阅读 · 0 评论 -
Delphi 判断TImage是否为空及注意事项
Delphi 判断TImage是否为空:1)非空 Image1.Picture.Graphic 2)为空 Image1.Picture.Graphic = nil注意不能用Image1.Picture 来判断。Image1.Picture.Graphic即可直接赋值也可用Assign。Image1.Picture不能直接赋值,只能用Assign。Image1.Pic原创 2017-02-28 10:24:48 · 1583 阅读 · 0 评论 -
Delphi中如何将鼠标放置在控件上就给予提示信息
设置 Hint ,然后ShowHint 设成 True。原创 2017-02-28 12:30:44 · 2530 阅读 · 0 评论 -
Delphi Excel导入 的通用程序
步骤:1 连excel(自己知道其格式,最好是没个字段在数据一一对应)2 读excel数据,填入到数据库我这里有个函数,实现把excel表格中数据导入数据库,在一条数据导入前判断数据库中是否有该数据,如果有,就不再导入该数据(避免重复),你可以参考下procedure TForm_qyxxcx.BitBtn2Click(Sender: TObject);VAR I,J:INTE原创 2017-02-28 17:45:44 · 478 阅读 · 0 评论 -
Delphi 变体类型(Variant)的介绍(流与变体类型的相互转换、变体类型常用的函数)
一、变体类型常用的函数介绍: Variant: 一种可以拥有各种数据类型; 也可以告诉目前存储的数据是什么类型(通过使用VarType函数); 可以给相同的Variant分配不同的数据类型,只要Variant包含数字值就可以执行算法; variant数组只不过是variant型的数组,不必包含同类型的数据;1、 VarArrayOf函数:更快捷的创建一维变体数组,可原创 2017-02-28 17:46:59 · 2603 阅读 · 0 评论 -
delphi中CreateOleObjec属于哪个单元
属于ComObj单元原创 2017-02-28 17:48:02 · 1150 阅读 · 0 评论 -
Delphi的StringReplace 字符串替换函数
function StringReplace (const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;rfReplaceAll:全部替换rfIgnoreCase:忽略大小写For Example:var aStr: String;begin aStr := '原创 2017-01-20 16:33:40 · 24326 阅读 · 0 评论 -
Delphi对Excel的所有操作
学完这个你就成为excel高手了!(Delphi对Excel的所有操作)逐个试试! 一) 使用动态创建的方法 首先创建 Excel 对象,使用ComObj: var ExcelApp: Variant; ExcelApp := CreateOleObject( 'Excel.Application' ); 1) 显示当前窗口: ExcelApp.Visi转载 2017-03-01 09:45:06 · 6427 阅读 · 0 评论 -
Delphi中initialization和finalization
注:本文主要是讨论delphi程序启动时和退出时的执行顺序,期间有些知识来源于Delphi帮助,有些来自《Delphi7程序设计教程》(这本书只告诉我有initialization 和 finalization 这两个关键字,但是没讲明白)(唉,现在的书只讨论框框架架,不讨论细节,写出来的东西让你看能看懂,别人一问或者自己一想,就是什么都不懂!讲的不细致呀!唉,自己琢磨吧!!)。代码用两排‘*转载 2017-03-01 17:18:47 · 659 阅读 · 0 评论 -
Delphi中强制结束一个进程
强制结束一个进程的 API 为 TerminateProcessBOOL TerminateProcess(HANDLE hProcess, // 进程句柄UINT uExitCode // 退出代码 );你可以使用语句 invoke TerminateProcess,structProcInfo.hProcess,0 来结束进程,要注意的是如果可能的话,尽量不要在转载 2017-03-02 09:23:26 · 6245 阅读 · 0 评论 -
Delphi Math里的基本函数,以及浮点数比较函数
Delphi里的好东西太多,多到让人觉得烦。这种感觉就是当年打游戏《英雄无敌3》,改了钱以后,有钱了每天都要造建筑,明明是好事,可是让人觉得烦。先记录下来,以后再回来加强对Math单元的研究,不必再自己发明函数去比较浮点数了~Ceilfunction Ceil(const X: Extended):Integer;:按正无穷大方向四舍五入一个变量。例如:[delphi]转载 2017-03-02 09:38:46 · 858 阅读 · 0 评论 -
Delphi应用程序的调试(二)使用断点
使用断点(Using Breakpoints)当用户从Delphi IDE 运行程序时,程序全速运行,只会在设置了断点的地方停住。New Term断点(breakpoint)是一种标记,用以通知编译器,当程序运行到断点所在位置时暂停程序的执行。设置和清除断点(Setting and Clearing Breakpoints)断点的设置可通过点击Code Editor的沟转载 2017-03-02 10:29:48 · 537 阅读 · 0 评论 -
delphi关闭程序Close,application.Terminate与halt区别
当Close是一个主窗体时,程序会退出.Close会发生FormClose事件,FormCloseQuery事件Halt会发生FormDestory事件,Application.Terminate以上三个事件都不会发生Application.Terminate就是程序结束了。整个程序结束运行,系统强行收回系统资源 当主窗口关闭时或WM_QUIT消息触发时,Terminate原创 2017-03-02 11:33:52 · 2008 阅读 · 0 评论 -
DELPHI常用的VCL类简介
[+]窗体和应用程序类表示Form和Application对象,这些类是从TComponent派生而来,它们实际也是组件,单独地把它列举出来,以示与拖到窗体上的控件加以区别。1、 TApplication类TApplication类封装了Windows程序的基本操作。TApplication所担负的任务有:管理图标、提供快捷帮助和基本消息处理。每个Delphi应用程序都转载 2017-03-02 15:35:55 · 2507 阅读 · 0 评论