学无止境
摘要: //TStringList常用方法与属性:varList:TStringList;i:Integer;beginList:=TStringList.Create;List.Add('Strings1');{添加}List.Add('Strings2');List.Exchange(0,1);{置换}List.Insert(0,'Strings3');{插入}i:=List.IndexOf('Strings1');{第一次出现的位置}List.Sort;{排序}List.Sorted:=True;{指定排序}List.Count;{ 阅读全文
posted @ 2011-09-07 15:49 DHT 阅读(157) 评论(0) 推荐(0) 编辑
摘要: <?xml version= "1.0 " encoding= "gb2312 "?><File> <aa> <bb> bb </bb> </aa> <Handle> 客户端加密,服务器端解密 </Handle> <FileId> 文件ID </FileId> <FileName> 文件名 </FileName> <FileSize> 文件大小 </FileSize> <Upload 阅读全文
posted @ 2011-09-07 15:48 DHT 阅读(417) 评论(0) 推荐(0) 编辑
摘要: uses DateUtils;function StartOfTheYear(const AValue: TDateTime): TDateTime;function EndOfTheYear(const AValue: TDateTime): TDateTime;function StartOfAYear(const AYear: Word): TDateTime;function EndOfAYear(const AYear: Word): TDateTime;function StartOfTheMonth(const AValue: TDateTime): TDateTime;func 阅读全文
posted @ 2011-09-07 15:47 DHT 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 你有没有觉得这个控件在输入日期时不太方便? 输完年后还要按一下右键头才能定位到月,然后再按一下右键头定位到日,输完按回车或者TAB还不能转到下一输入控件,今天我就来解决这个问题:输入时让光标自动移动,比如四位年份输完了光标立即跳到MM上;输完按回车直接去到下一控件;如果是从另一个控件转入此控件,直接定位到月进行输入,因为通常年都不需要修改。以下是实现代码:procedure TFrm_AjJg_Input.DateTimePicker_CHECKDATEChange(Sender: TObject);begin keybd_event(vk_right,0, KEYEVENTF_EXTE... 阅读全文
posted @ 2011-09-07 15:47 DHT 阅读(573) 评论(0) 推荐(0) 编辑
摘要: string plong k,kkkk=1, i , l_idblob a4int jblob l_blobfor j=1 to ds_1.rowcount( )l_id = ds_1.getitemnumber( j, "id")selectblob picture into :l_blob from tbImage where id=:l_id using sqlca;i = FileOpen(temp_path+"\temp_photo"+trim(string(l_id))+".jpg",StreamMode!,Write!, 阅读全文
posted @ 2011-09-07 15:45 DHT 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 在窗口上建一个OLE控件,OLE控件的类型选shockwave Flash Objectole_1.object.movie(ls_path+'\3dball.swf') //路径要完整路径ole_1.object.loop = trueole_1.object.play() 阅读全文
posted @ 2011-09-07 15:44 DHT 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 将编号字段设置成主键或唯一键.(如果无法设置成主键或唯一键,另建一个表专门维护编号) 插入的时候,如果出现冲突,就再重新取编号,再插入就可以了. 这样的效率高于用锁. 因为用锁要锁住整个表,直到插入操作完成. 这样,即使正常的读数据也会受到影响到. 举个例子来说 不锁表的情况: 假设你要插入一条记录,那么你就取最大编号:不是N+1,然后进行插入 如果在你取编号后,插入记录前,又有另一个用户要插入记录,那很显然,因为你的记录还未插 入,那另一个用户取得的编号仍然是N+1,和你的一样,这样就导致了编号重复. 只锁最大记录的情况: 假设你要插入一条记录,那么你就取最大编号:不是N+1,然后进行插入 阅读全文
posted @ 2011-09-07 15:44 DHT 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 先在窗口上拖一个Microsoft Web Browser上来,调整好大小。通过PB的对象浏览器察看我们可以查到它支持的属性,方法,事件。最主要的用这么几个:1. Navigate(string url)2.ExecWB (nCmdID, nCmdExecOpt, [pvaIn], [pvaOut] )下面我们来通过代码实现一个打开网页并弹出另存,然后直接打印的程序。(a).nCmdIDOLECMDID_OPEN = 1,OLECMDID_NEW = 2,OLECMDID_SAVE = 3,OLECMDID_SAVEAS = 4,OLECMDID_SAVECOPYAS = 5,OLECMDID 阅读全文
posted @ 2011-09-07 15:43 DHT 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 在运行 Windows Vista、Windows 7、Windows Server 2008 或 Windows Server 2008 R2 的计算机上,可能无法打开需要使用 Windows 帮助 (WinHlp32.exe) 程序的帮助文件。本文提供有关帮助您修复此问题的下载的信息。从 Windows Vista 和 Windows Server 2008 开始的 Windows 版本中,Microsoft 停止包含 32 位的帮助文件查看器。为了支持仍依靠旧 .hlp 文件的客户,Microsoft 下载中心提供用于 Windows Vista、Windows 7、Windows Se 阅读全文
posted @ 2011-09-07 15:42 DHT 阅读(3036) 评论(0) 推荐(0) 编辑
摘要: 1.请使用直连方式,不要使用odbc,直连方式可以带参数调用存储过程,并可以取得返回值sqlca.AutoCommit = trueDECLARE p_1 PROCEDURE &FOR jz_return_charge_ladder @begin_date=:date11, @end_date=:date22, @clientno=0,@bourse=0,@jz_id=0using sqlca;Execute p_1;IF sqlca.sqlcode <> -1 thencommit using sqlca;elsemessagebox('提示',' 阅读全文
posted @ 2011-09-07 15:39 DHT 阅读(871) 评论(0) 推荐(0) 编辑