`
nydqy
  • 浏览: 37382 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
表结构如下:SQL> desc msg_request_historyName Type Nullable Default Comments ---------- ------------ -------- ------- -------- MSGTYPE NUMBER(8) 0 MSGKEY VARCHAR2(50) MSGDATE DATE Y SYSDATE STATUS NUMBER(2) Y 0 按msgdate按天来分区。 SQL> set autotrace traceonly;SQL>SQL> select count(*) from msg_reque ...
性能测试,记录时间代码: procedure TForm_WorkForm.Button1Click(Sender: TObject); var string; begin inherited; s := FormatDateTime('hh:mms', Now); Form_TEST := TForm_TEST.Create(Self); Form_TEST.OpenData(0, varNull); Form_TEST.Show; Edit.Text := S + ' ' + FormatDateTime('hh:mms', Now); en ...
查询一个数组里面是否包含重复值 function TForm.BinarySearch(a:array of Integer):Integer; var i,j,temp:Integer; begin Result:=-1; if Length(a)>0 then begin for i :=0 to Length(a)-1 do begin temp:=a[i]; for j :=i+1 to Length(a)-1 do begin if (temp = a[j]) an ...
1、在布尔字段中,常用的一种方法是用其来表示性别,但在显示给用户看时,最好又能显示成男、女,以方便用户。 双击ADOquery,在弹出的窗体中生成静态字段,然后你点取这些静态字段,在OnGetText和OnSetText事件中做如下。(我一般习惯用男1女0,想像丰富一点,嘿)procedure TfrmData.TADOquery1SEXGetText(Sender: TField; var Text: String; DisplayText: Boolean);begin if sender.Value=1 then Text := '男'; if sender.Value=0 then Te ...
  OnChange 当字段部件的字段值发生改变时,触发该事件   OnGetText 当字段部件获得字段值时,触发该事件   OnSetText 当字段部件被设置字段值时,触发该事件   OnValidata 当字值被修改或插入新的字段值时,对字段值进行有效性检验时,触发该事件 
01 : 人类全身上下,最强韧有力的肌肉,竟是舌头。    02 : 张开眼睛打喷嚏是不可能的。 03 : 憋气自杀也是不可能成功的。    04 : 每一次你舔一张邮票的背胶,你就吸收了十分之一卡路里。    05 : 右撇子平均比左撇子多活九年。    06 : 鳄鱼无法伸出它们的舌头。    07 : 北极熊都是左撇子。    08 : 某些狮子可以一天之内交配50次以上。果真是万兽之王呀...     09 : 鸵鸟的眼睛比脑袋大;而海星至今还没演化出脑。      10 : 跳蚤可以跳过它们350倍身长的距离,相当于一个人跳过一个美式足球场。 ...
      最近经常出差,到南方(深圳)去生活了一段时间,现在将南北的差异总结一下: 一、气候差异: 北方(北京):四季分明,春天短,沙尘暴厉害。夏天七八月份要比南方还热,秋天短,快速的进入了冬天。冬天的雪大,而且没有暖气基本生活不了。 南方(深圳):基本都处于夏季,根本没有雪的概念,炎热的时候只有中午12点到三点左右,其他时间温度较低。一年四季都是绿色。气候潮湿,衣服需要用烘干机才可以晾干。
     在IDE环境中,使我们在编程中减少了很多手工敲代码的错误,但是一些细节还是不容忽视的。这也恰恰是我们在编程中产生的BUG。     假设语法没有错误的前提下,我们又经常会有哪些错误呢?    1、声明了变量没有使用过    2、在反复修改代码时候产生遗漏的地方    3、全局变量和局部变量命名规范问题,有时候自己随便命名,结果在上千行的代码里面不能够明确的看出哪个是局部的,哪个是全局的,这样在修改代码的时候需要耗时很长,而且容易改错。    4、没有明晰的代码注释,其实这个注释只需要写出代码的实现思路,出入参的含义,特别是关键部份的代码。    5、编码规范是个很重要的问题,需要我们在 ...
最近做了一些控件的封装,大多采用的是动态创建控件的形式,这样在关闭窗体的时候需要把之前所有用到过的控件进行释放,否则会出现内存异常错误。 在释放之前还必须保证该指针已经被创建,否则同样会报指针异常的错误。 也就是说,必须有垃圾回收机制,也就是程序自己编写的垃圾回收。 关于内存的释放顺序如下:假设有多个窗体进行了嵌套,一层层的调用,调用时候的顺序和释放的顺序采用的是栈的方式进行释放的:先进后出的方式。   关于创建和释放常用的方法是: create free freeandnil setlength(a,10) setlength(a,0)
使用Delphi开发前台程序,在Packages更换路径后,重新启动Delphi还是出现编译错误,这个时候需要检测位置 Tools->EnvironmentOptions->Library 里面的路径是否都配置正确了。 如果这里面都正确了,那就可以正常编译通过了。
一、前言     由于系统不稳定,经常要重装DELPHI。而每次安装DELPHI的时候,原来注册的组件都被刷新,只能重新安装组件。众所周知,DELPHI的第三方组件N多,这个安装着实令人头疼。更有甚者,因为某些莫名其妙的原因,DELPHI的组件面板上有时居然只剩下一个标准组件。碰到这种情况,我不知道各位如何处理,我每次都是重新安装。为了解决这个难题,我决定深入了解DELPHI组件是如何被注册。以下是我的一点发现,发表出来供大家参考,以便抛砖引玉。 二、DELPHI组件安装的构成      安装一个组件到DELPHI上,实际上DELPHI只做几个有限的动作。      1、添加文件路径到搜索路径上 ...
    最近带领团队开发了一个项目中的模块,结果比预期延迟了半天时间,导致整个项目在发版的时候没有包含此模块,想请大家分析一下原因:    在开发中主要涉及了需求分析、数据库设计、软件开发设计和编码、测试五个阶段。预计三天完成,结果使用了三天半才交给测试部门,延期了半天。    关于原因我自己总结了几条:    1、数据库的高级设计理论知识不足,导致在设计的时候出现了时间上的延迟,导致开发工期延后。    2、开发语言的原理和高级开发技术的掌握还不足够顺利的解决出现的异常错误。    3、软件开发工程的理论运用的不是很透彻。    4、安排任务时,没有明确开始时间,结束时间,任务详情,任务数量。 ...
在数据库的多表关联中,有时候需要一个值来进行查询过滤出不重复的值,因为多表的关系使用GroupBy和Distinct有时候不能够满足需要,下面的sql语句直接实现单值条件的查询。 select D.XM AS NAME, D.XB, D.CSRQ, C.SG, C.TZ, A.TJRYMC, A.TJRQ, A.XCTJRQ, A.FINISHED, A.EMPI from ET_TJRQDZ A, ET_TJJL B, ET_TJJL1 C ...
在Delphi中,当使用到PageControl的时候会有tab也签默认的原因,当我们编译工程,发现并不是我们的第一个Tab,需要把属性  PageControl.TabIndex:=0;这样会把第一个页标签的内容进行展现。
在实际业务中,存在多选框,当选择‘无’的时候其他的框是不能选择的,当选择其他的时候‘无’的选项要自动清除,方法如下: procedure TForm.CheckListBoxChange(Sender: TObject; Index: Integer; NewState: TCheckBoxState); var i:Integer; begin inherited; if Index = 0 then begin if TCheckList(Sender).ItemChecked[Index] then begin for ...
Global site tag (gtag.js) - Google Analytics