现在要做一组查询,
用一个combobox1来做字段条件选择,一个combobox2做运算条件选择,一个edit框来输入查询的条件。
在这里,可供选择的字段分别对应的类型有字符型,整型、日期型,现在要根据用户在combobox1中选择的字段,来控制Edit中输入的内容及长度,如:
选择字符型可以在Edit中输入所有的字符,
选择整型时,只可以输入数字;
选择浮点型时,还可以输入小数点;
而选择型时,除了限制户的输入,还要用输入进行边界检查,如月份不可以小于0,且不可以大于12,日期要在1至31之间,并要根据年份及月份来日期的输入,如闰年的2月有29天,其它只有28,而大月有31天,小月有30天。不知道各位老大可否提供代码?要生成sql语句。

解决方案 »

  1.   

    实现起来一点都不难,只是比较麻烦;
    在combobox1的click 事件加一个标志变量,或者根据他的索引值来判断;
    在edit1的keypress事件中写入代码
    procedure InputNumber
    begin
      if not (key in ['0'..'9',#8] ) then
         key:=#0
    end;
    procedure InputNumberDot
    begin
      if not (key in ['0'..'9','.',#8] ) then
         key:=#0
    end;
    procedure InputDate
    begin
     // 不知道你的具体要求(分别输入,还是同时输入,还是其他)
     // 自己写吧!
    end;
    case combobox1.itemindex do
      0:InputNumber
      1:InputNumberDot
      else
      showmessage(’参数值发生错误‘);
     
    end;