
PASCAL应用(Delphi)
lopper
简单做事,简单做人。
展开
-
PASCAL实现二进制字符串转十进制字符串
Function binToDec(Value :string) : string; var str : String; Int : Integer; i : integer; BEGIN Str := UpperCase(Value); Int := 0; FOR i := 1 TO Length(str) DO Int := Int * 2+ ORD(st原创 2010-01-21 01:57:00 · 2535 阅读 · 0 评论 -
Delphi下取随机数释疑
今天在DELPHI下移植一个C程序,需要取随机数,在一个循环里每次取0~255的随机数.但是每次取到的结果都是一样的.C语言里的方法为:srand((unsigned)time( NULL ) );//用系统时间生成随机算子然后用rand()取随机数.在网原创 2011-08-01 14:39:25 · 1569 阅读 · 0 评论 -
一个Delphi下Abstract Error问题的处理
今天在修改一个公司项目的时候出现了Abstract Error问题,在网上查找之后发现为纯虚函数引起.但是看了代码之后,发现该类的子类的同名函数也实现了.这是什么原因呢?后来终于找了原因.T1 = Class(TObject) //这个我们假设是基类public funct原创 2011-07-18 09:49:59 · 11227 阅读 · 0 评论 -
Delphi工程主窗体显示并最大化一个特殊例子
最近做一个项目,启动时主窗体显示时即最大化,将主窗体的WindowState的值修改为wsMaximized,把窗体最大化了,但是总感觉向下移动了半个任务栏的高度。非常疑惑之下,在网上找了很多资料,但是大体只是介绍如何最大化或者改变宽高以实现不和任务栏位置冲突。仔细检查项目主窗体原创 2011-07-18 09:27:42 · 3317 阅读 · 0 评论 -
用html断点调试OCX的处理
<br />1、把html里的 <br /> codebase="./MyActiveX.ocx#version=1,0" <br />暂时去掉,它会把*.doc下到临时目录并重新注册, <br />对调试产生影响。 <br /><br />2、用"Run"菜单中的 <br />regiter activeX server注册。 <br /><br />3、编译运行,就可以断点了原创 2010-06-15 16:05:00 · 2494 阅读 · 0 评论 -
DELPHI调试程序出现“探测到调试器 - 请关闭后重启”
<br />今天因为接口单位更新了DLL,所以需要修改程序。<br />更新了DLL之后,用DELPHI进行调试,一打开提示“探测到调试器 - 请关闭后重启, Windows NT用户请注意:已安装了WinIce/SoftICE服务,这意味这你正在运行调试器”。网上一查都是关于软件脱壳的问题。<br /> <br />不过终于找到两篇有用的信息。<br />A)<br /> <br />1、你机器里运行有WICE或SoftICE调试器?如果有,先关掉他们再试试。<br />2、如果没有运行有WICE或原创 2010-08-02 14:58:00 · 4453 阅读 · 0 评论 -
网页调用OCX方法
<br />1、注册OCX <br /> 方法:在开始-运行 中输入regsvr32 OCX绝对地址,<br /> 例如:regsvr32 C:/Windows/System32/aaa.ocx<br />2、参照下面的代码在HTML页写出代码<br /><OBJECT id=Test<br /> classid="clsid:90ED08BD-05B6-4CC8-BE14-610245EE75AC"<br /> codebase="./aaa.ocx#version=1,0原创 2010-05-31 13:19:00 · 10299 阅读 · 0 评论 -
用delphi制作OCX库文件(三)
<br />开发步骤:<br />1、创建ActiveX Library工程。<br />2、创建COM Object。<br />3、创建Type Library,并创建相应接口。<br />4、创建接口对应的函数和实现。<br />具体如下:<br />3、创建Type Library,并创建相应接口。<br />view|type library <br /><br />找到已经生成的type library,其实和TLB文件是对应的。<br />我们可以看到上一步生成的对象也含在里面。<br /><原创 2010-05-31 13:13:00 · 3082 阅读 · 0 评论 -
用delphi制作OCX库文件(二)
<br />开发步骤:<br />1、创建ActiveX Library工程。<br />2、创建COM Object。<br />3、创建Type Library,并创建相应接口。<br />4、创建接口对应的函数和实现。<br />具体如下:<br />1、创建COM Object。<br />new|other|activeX|com object<br /><br />在Class Name(本例里类名里填Object,可按自己需要填写) 填写类名.(Instancing:实例创建方式,Thread原创 2010-05-31 12:59:00 · 1735 阅读 · 0 评论 -
用delphi制作OCX库文件(一)
开发步骤:1、创建ActiveX Library工程。2、创建COM Object。3、创建Type Library,并创建相应接口。4、创建接口对应的函数和实现。具体如下:1、创建ActiveX Library工程。new|other|activeX|activeX library Delphi会自动生成框架代码,直接编译的话就可以得到一个dll文件了; 如果想编译出来的是ocx文件,在export上面独立一行加入 {$E ocx} 声明; exports DllGetClassObject, DllCa原创 2010-05-31 12:50:00 · 2202 阅读 · 0 评论 -
DELPHI中关于系统日期格式及程序处理
<br />delphi调用strtodatetime时遇到日期格式错误,但是检查了字符串后发现为'2000-01-01'并没有问题。<br /> <br />同事提示我去看一下控制面板里的 区域和语言选项 里, 发现果然短日期分隔符为 / ,则日期解析的格式变成 2000/01/01,显然之前的字符串会出现问题.<br /> <br />于是查找资料,发现有关于此问题的windows API:<br /> <br />int GetLocaleInfo(<br /> LCID Locale, //原创 2010-07-02 08:44:00 · 6765 阅读 · 0 评论 -
Pascal实现Byte型转BIN字符串格式
function ByteToBin(value: byte): string; const v: byte = 1; var i: integer; begin for i:= 7 downto 0 do //利用1左移和byte值相与获得为1的位 if ( (v shl i) and value原创 2010-01-08 22:58:00 · 1158 阅读 · 0 评论 -
关于TDateTimePicker的设定[delphi]
由于需要在窗体中设定一个日期时间,出去通用型考虑,采用了TDateTimePicker控件。因为这个控件的默认状态只能显示日期,造成使用上的不便,所以需要做如下的设定:在控件的format属性栏里设置如下值:yyyy-mm-dd hh:mm:ss;设定完成后的时间为当前的系统时间,不能通过弹出日历设定,只能在文本框中设定。原创 2010-03-06 08:30:00 · 4484 阅读 · 0 评论 -
关于在程序中设定combobox的下拉菜单宽度[delphi]
定义:CbName: TComboBox;width: Integer; //实际所需的宽度 在执行代码中按如下方法写:width := CbName.Canvas.TextWidth(CbName.Items[I]); //可用此方法通过遍历获得某选项的最大宽度,也可以按自己的需要设定宽度SendMessage(CbName.Handle原创 2010-03-06 08:19:00 · 2196 阅读 · 0 评论 -
Delphi下查看变量内存信息的方法
原来用delphi看变量信息一直是简单的用watch看,但是有时候变量值直接用特定类型看总是不方便。于是上网找到察看方法,特列于此:在watch中输入"变量名,nm",其中n为你要查看的内存字节数。比如察看变量名为 a 的地址的18个字节,则写入a,18m即可。原创 2011-08-06 16:17:28 · 2345 阅读 · 0 评论