首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Delphi中实现程序的延时的方法

    在Delphi中,通常可以用以下三种方法来实现程序的延时,即TTtimer控件,Sleep函数,GetTickCount函数。但是其精度是各不相同的。...一、三种方法的简单介绍 1)TTtimer控件 TTtimer控件的实质是调用Windows API定时函数SetTimer和KillTimer来实现的,并简化了对WM_TIMER 消息的处理过程。...通过设置OnTimer事 件和Interval属性,我们可以很方便的产生一些简单的定时事件。 2)Sleep函数 Sleep函数用来使程序的执行延时给定的时间值。...Sleep的调用形式为Sleep(milliseconds),暂停当前的进程milliseconds毫秒。Sleep的实现 方法其实也是调用Windows API的Sleep函数。...3)GetTickCount函数 在主程序中延时,为了达到延时和响应消息这两个目的,GetTickCount()构成的循环就是一种广为流传的方法。

    1.2K30

    DELPHI中自适应窗体的实现

    前言 我们知道,屏幕分辨率的设置影响着表单布局,假设你的机器上屏幕分辨率是800*600,而最终 要分发应用的机器分辨率为640*480,或1024*768,这样你原先设计的表单在新机器上势必会 走样。...实现方法 一、根据新的分辨率自动重画表单及控件   先在表单单元的Interface部分定义两个常量,表示设计时的屏幕的宽度和高度(以像素为 单位)。...在表单的Create事件中先判断当前分辨率是否与设计分辨率相同,如果不同,调用表 单的SCALE过程重新能调整表单中控件的宽度和高度。...,也自动调整控件字体的大小,以适应新的分辨率, 但美中不足的是它并不改变控件的顶点坐标位置,也就是说,该过程不改变控件之间的相对 位置关系。...它需要用到WINDOWSAPI函数EnumDisplaySettings和ChangeDisplaySettings,前者取当前显示模式信息,后者则更改显示设置,具体参数的含义请参见DELPHI帮助。

    1K40

    Delphi XE5中的新增内容

    Delphi XE5中的新增内容 Delphi XE5是所有Delphi开发人员的必须备升级,并且是来自Embarcadero的获奖的、多设备应用开发解决方案的最新版本。...Delphi XE5中的新特性 针对设备和仿真器的 Delphi Android ARM编译器 FM 平台用于创建针对Gingerbread (2.3.3 – 2.3.7)、Ice Cream Sandwich...了解更多 > 在RAD Studio、Delphi和C++Builder的专业版中,通过选择数据库进行FireDAC 本地/嵌入式连接 在企业版、旗舰版或架构师版中、或通过购买针对专业版的客户端/服务器附件组件包...这里是添加在其他最近发布中的内容: Delphi XE4 Develop iOS应用 with Delphi iOS ARM编译器、工具链、全新的可视化开发环境和针对 iOS的控件 IBLite数据库可用于...了解更多 > 视频:Delphi XE5中的新增内容 浏览可以开发 Android应用的 Delphi XE5的一些新特性。

    2.2K40

    Delphi中利用SEH屏蔽退出时的Runtime Error

    Delphi写的程序,如果在单元的finalization里出现了一些异常操作会导致退出时抛出Runtime Error ,规范的处理办法当然是解决这些异常,但是有些特殊的情况下,比如用了很多的第三方控件...做法其实很简单,就是在 END.之前手工调用Halt释放,并且将Halt抛出的错误屏蔽掉,这样做和正常的DELPHI释放过程没有任何区别,因为End.编译后其实就是一句话 Call Halt0,只是VCL...然后就是如何屏蔽错误的问题了,第一个最容易想到的做法就是直接 Try  halt except end;   但是这样是不行的,因为try…except end捕获的错误都会放到System单元的_HandleOnException...中处理,函数检查错误类型是否是DelphiException,如果不是就不处理,这个时候就会被DELPHI的顶层异常机制捕获,并抛出Runtime error,halt里抛出来的错误恰恰就是非DelphiException...,不会对DELPHI正常释放过程产生影响,所有的释放操作都是和VCL一致的,只是不会把错误显示出来。

    93040

    Delphi中谨慎使用QuotedStr、QuotedString、DequotedString相关的函数

    //以下测试代码 var s, ss: string; begin //JSON中包含大量双引号,方便测试出效果 with TStreamReader.Create('全国adcode.json...', TEncoding.UTF8) do try s := ReadToEnd; finally Free; end; //1.添加定界符(内容中含定界符的要转义)...ss := QuotedStr(s);//单引号 ss := s.QuotedString('''');//单引号 //2.添加指定的定界符(内容中含定界符的要转义) ss := AnsiQuotedStr...(s, '"');//双引号 ss := s.QuotedString('"');//双引号 //3.去掉定界符(内容中含连续两个定界符的要反转义) ss := AnsiDequotedStr...//所以,使用StringHelper的QuotedString和DeQuotedString方法时,要注意 //通过查看源码,发现AnsiQuotedStr和AnsiDequotedStr使用的指针操作

    39940

    Delphi中利用StringList对象来记录动态生成的对象

    StringList使用 在Delphi中,如果程序需要动态创建大量的对象,那么我们可以利用StringList对象来管理这些动态生成的对象。...具体步骤如下: ---- 1、创建StringList对象: OBJ := TStringList.Create; 2、保存动态生成的对象: OBJ.AddObject('标识','对象名'); 3、调用生成的对象...OBJ.Objects[序号/OBJ.IndexOf('标识')] as 对象类型).方法或属性 或: 对象类型(OBJ.Objects[序号/OBJ.IndexOf('标识')]).方法或属性 4、释放动态生成的对象...OBJ.IndexOf('标识')] as 对象类型).Free; 对象类型(OBJ.Objects[序号/OBJ.IndexOf('标识')]).Free; 释放对象后记得要删除StringList里对应的记录...: OBJ.Delete(序号/OBJ.IndexOf('标识')); 5、StringList的释放: if Assigned(OBJ) then OBJ.Free; ---- 查询是否存在 如果在

    1.5K30

    网络编程中的大小端

    在计算机领域,大小端(Endianness)是指字节序的排列顺序。简单来说,就是存储器中多字节数据的字节序列,从高到低或从低到高的顺序不同。那么,何谓大小端呢?...什么是大小端 以4字节整型为例,它的二进制表示方式是32位的。...在x86架构的CPU中,通常采用小端序,而在MIPS架构的CPU中,通常采用大端序。在网络传输中,由于不同机器之间采用的存储方式可能不同,为了保证数据的正确传输,需要对数据进行大小端转换。...BSD socket中的大小端转换支持 在网络编程中,大小端问题是非常重要的。因为不同的CPU架构可能有不同的字节序,而网络通信是跨平台的,因此需要进行字节序转换。...这样就完成了对端口号的大小端转换。

    79340

    MySQL中的大小写敏感

    ,我们暂时跳过,看看第二个参数lower_case_table_names,它的含义 0:区分大小写,1:不区分大小写 。...MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:    1、数据库名与表名是严格区分大小写的;    2、表的别名是严格区分大小写的;    3、列名与列的别名在所有的情况下均是忽略大小写的...;    4、变量名也是严格区分大小写的; 而Windows下的MySQL却是大小写不敏感的,所有表名和数据库名都会变成小写。...,是开启了大小写敏感的,这样一来test_tab,TEST_TAB是完全不同的两个对象。...这个参数只能够保证登录用户密码的大小写敏感,其他还是和原来一样,12c中这个参数变了味儿,在新版本中已经过期, 在设置的时候务必需要保证sqlnet.ora中的设置需要兼容,文件中的参数SQLNET.ALLOWED_LOGON_VERSION_SERVER

    2.6K60

    修改Cacti中的rrd文件大小

    对于新建的rrd,可以通过 Data Source –> RRAs 中修改对应的 row,这样新建的数据,就默认使用新值。 注意:修改rrd尺寸的操作非常危险,在操作之前,备份您的rrd数据。...在参考资料1中可以下载一个resize.pl。是用来在命令行下修改rrd大小的工具,这个工具刚开始执行的时候,可能会提示一些perl模块的缺失。...1、改变单个RRD中的RRA属性。 最简单的办法就是把 –i 参数去掉就可以。...使用 –g 参数,表示将 row 的行数增长多少行。如果需要明确指定多少行,可以使用 –s 参数。 2、改变单个RRD中的多个RRA。 如果需要改变一个RRD中的多个RRA,可以使用下面的命令。...3、修改多个RRD中的多个RRA。 resize.pl 在文件名参数中可以支持通配符,这样就可以非常方便的修改多个RRD文件。

    1.5K30
    领券