前几天在CSDN社区看到一篇<如何得到自身单元名称>的帖子,其中一位名为sdzeng网友给出了答案.受此启发,自己写了一个函数,用来获取指定类的所有祖先类的名称及其所在的单元名称. //参数说明://AClass:需要获取祖先类的类//ASeries:是一个字符串列表,用来存放返回的祖先类及其所在单元的名称procedureGetInheritanceSeries(AClass:TClass;outASeries:TStringList);varPTD:PTypeData;PTI:PTypeI…
delphi中获取汉字的拼音首字母1.py: array[216..247] of string = ({216}'CJWGNSPGCGNESYPB' + 'TYYZDXYKYGTDJNMJ' + 'QMBSGZSCYJSYYZPG' +{216}'KBZGYCYWYKGKLJSW' + 'KPJQHYZWDDZLSGMR' + 'YPYWWCCKZNKYDG',{217}'TTNJJEYKKZYTCJNM' + 'CYLQLYPYQFQRPZSL' + 'WBTGKJFYXJWZLTBN' +…
转载自 http://www.cnblogs.com/jieke/archive/2013/01/11/2855782.html 本文介绍了在Delphi中利用系统函数和Windows API函数调用来获取和修改文件的时间信息的方法. 熟悉Windows 95/98的朋友一定经常会用单击鼠标右键的方法来查看所选定的文件的属性信息.在属性菜单中会列 出该文件的创建时间.修改时间和访问时间.这些信息常常是很有用的,它们的设置一般都是由操作系统(也就 是由Dos/Windows等等)自动完成的,不会让…
uses DateUtils;DateTimeToUnix(Now) 可以转换到unix时间,但是注意的是,它得到的时间比c语言中time()得到的时间大了8*60*60这是因为Now是当前时区的时间,c语言中time()是按格林威治时间计算的,北京时间比格林威治时间多了8小时DateTimeToUnix(Now)-8*60*60 就和c语言中time()得到的一样了 但我进一步研究DateTimeToUnix函数时发现,Delphi中的时间没有经过任何的转换,是直接读取系统时间 我试着改变当前…
异常堆栈有利于分析程序的错误,Delphi的Exception有StackTrace属性,但是值为空,因为StackTrace的信息收集Delphi委托给了第三方组件来完成,真是脑子有毛病! 借助于madCollection中的madExcept可以解决这个问题 1)安装madCollection.exe 2)打开Delphi开发工具,打开项目,点击主菜单Project→MadExcept Settings,勾选enable madExcept 3)这样程序中出现的未处理异常就会系统给出madE…
也是看别人写的,但是不容易找到,就转发一篇delphi版本的 function GetLine(X, Y: integer): TPoint;var  OldFont : HFont;  Hand : THandle;  TM : TTextMetric;  Rect : TRect;begin  Hand := GetDC(mmotest.Handle);  try    OldFont := SelectObject(Hand, mmotest.Font.Handle);    try   …
大概有这些方法可以获得文件大小FileSizeByName(需要引用IdGlobal单元)GetFileSizeFileSize(不能获得正在使用的文件大小)FileSeekTFileStream.Size 下面是使用例子1.FileSizeByName(需要引用IdGlobal单元)beginif OpenDialog1.Execute thenbeginShowMessage(IntToStr(FileSizeByName(OpenDialog1.Filename)));end; 2.Get…
[本文简介] 本文将提供javaWeb中经常使用到的相对路径的获取方法,分别有: url基本地址 带目录的url地址 服务器的根路径 服务器所在的 本地磁盘路径 服务器所在的本地磁盘路径,带文件夹 SRC目录下的文件的路径,带文件夹 并封装成一个工具类,以便复用. [java代码] package com.zjm.www.util; import javax.servlet.http.HttpServletRequest; /** * @描述 : 获取各种相对路径的工具类 * @作者 :小M *…
请看下面的代码: program TestRecord; {$APPTYPE CONSOLE} uses  SysUtils,  Math; type  TRecordA = record    Name: string;  end; procedure RunTestRecord;var  R1, R2: TRecordA;begin  R1.Name := StringOfChar('A', RandomRange(64, 256) * 1024);  Move(R1, R2, SizeOf…
最近工作中某个软件功能出现了退化,追查下来发现是一个类的成员变量没有被正确的初始化.这个问题与C++存在虚继承的情况下派生类构造函数的写法有关.在此说明一下错误发生的原因,希望对更多的人有帮助. 我们代码中存在虚继承的类的继承结构与下图类似,并不是教科书中经典的菱形结构.从 Intermediate1 和 Intermediate3 到Base2 的继承是虚继承.Base1 和 Base2 包含一些成员变量,并提供了相应的构造函数接受指定的初始化值.Base2 还有一个缺省构造函数,把其成员变量…