Delphi小型示例程序所涉及到的N多问题及解决办法

在年前1月13日接到使用delphi示例任务,上大学时就听说过有这么个语言而已,我也在大学图书馆里见过,貌似和用英语学句子一样。记得笔记深的是if 什么什么then,好了言归正传。

1、开始进行delphi的安装,领导传给的delphi7,,安装完成,然后让弄个面板,随便拖动点东西,进行这些面板的小测试。我便依言而行。有着大学时拖拉c#控件的经验,我觉得这非常简单。

2、而后进行ocx控件的注册,在组件--安装控件。刚开始非常的顺利,但是随着换控件,问题立马出现了,在仅进行反注册ocx后,环境是清除不干净的,再次注册组件会提示‘类以及安装’,那么久比较郁闷了,明明将组件反注册还提示类以及安装,怎么个搞法。然后我将类名更换,提示是否安装在dclusr70.dpk里,我就明白了,在BQl文件夹下,这里面的东西需要删除。好的,这是再次注册组件问题。其实这里还有一个小问题,那就是ocx不会用。刚开始以为和浏览器似的,需要安装完成就成了,然后用<object>那样的声明,在js里调用。不是,这个完全就是在ActiveX里把ocx控件拖到面板。然后自然就会引用这个类,下面你就可以调用方法等操作了。

3、数据库问题,此处选用ado组件,sqlserver2000数据库。连接字符串还是比较简单,在网上搜索,是和c#一样。然后接下来就是我们这个ocx控件的一些值,其中包含图片。这个图片弄成二进制数据,存入数据库,读出数据库,最后拼出图片。在这里数据大需要拆分,我拆的时候没注意,Copy函数的使用索引值开始是1,不是0。反复读数据进行对比,结果才找出差别。更急人的是,如果赋值ocx控件的值不对,程序会卡死的,cpu达到100%,甚至我调试时都无法关闭。这里有个语句加入就可以点击停止,然后ctrl+f2结束了:Application.processMessage;其中涉及到了写文件,写文件比较简单:声明TxtFile:TextFile;

AssignFile(TxtFile, 'c:/file.txt');
    Rewrite(TxtFile);
    Writeln(TxtFile,   StrTemp);
    CloseFile(TxtFile);

这样文件就写入成功。

4、遇到最后的一些细节:比如对话框里加入叹号、叉号,这里提供一些网上的信息:

int MessageBox(Hwnd hwnd,LPCSTR lpszText,LPCSTR lpszCaption,UINT MBType);

function MessageBox(Handle: THandle;lpszText: pchar;Caption: Pchar;MBType: UINT): integer;

第一个参数指定为父窗口句柄,lpszText指定消息框的消息字符串指针。lpSzCaption指定为消息窗口标题。MBType指定为消息框的显示类型,包括显示什么类型的按钮和图标。

MBType的取值为:

MB_ABORTRETRYIGNORE                 显示"终止,重试,护绿"按钮

MB_ICONEXCLAMATION                    显示一个感叹号图标

MB_ICONERROR                              显示一个错误信息图标

MB_ICONINFORMATION                    显示一个信息图标

MB_ICONQUESTION                         显示一个问号

MB_ICONSTOP                                显示一个停止符号

MB_OK                                          确定按钮

MB_OKCANCEL                              确定,取消按钮

MB_RETRYCANCEL                        重试,取消按钮

MB_YESNO                                   是,否按钮

MB_YESNOCANCEL                       是,否,取消按钮

MBType的值可以是上面的值的组合,组合采用OR或操作来表示,比如MB_OK or MB_ICONINFORMATION

delphi网上资料有时查找问题非常少,因为你的问题不一定是别人经常遇到的,所以,这里总结一些自己遇到的问题,如果你搜索到这,希望能够帮到你。本人原创,转载请注明出处:Dead_Cicle于csdn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值