我在程序中用到了ComboBox(DevStatus)控件分别做了两个Function,其中,Function TDevFindForm.Status: String;是在界面上显示ComboBox.text的内容,而Function TDevFindForm.DevStatuscheck: Integer;做数据库修改时,修改的值。
第一个是没有错误的。而第二个Function TDevFindForm.DevStatuscheck: Integer;在界面上显示后,没有修改ComboBox(就是没有动ComboBox中的内容)时,尽管ComboBox.text<>'' ,但它还是跳过程序有系统随机取值(不是返回Result=0)。为什么会这样,怎样改程序,或它的属性。
Function TDevFindForm.Status: String;
Var
Str: String;
begin
Str:=Trim(QueryResult.Fields[5].AsString);
if Str<>'' then
begin
Case StrToInt(Str) of
1 : Result:='等待设置';
2 : Result:='正常使用';
3 : Result:='参数修改';
4 : Result:='设备故障';
end;
end
else
Result:='0';
end;Function TDevFindForm.DevStatuscheck: Integer;
begin
if Trim(DevStatus.Text)<>'' then
begin
Case DevStatus.ItemIndex of
0 : Result:=1;
1 : Result:=2;
2 : Result:=3;
3 : Result:=4;
end;
end
else
Result:=0;
end;
各位大虾!!!拜托,帮个忙吧!!!急啊!~!~!啊~!~!
第一个是没有错误的。而第二个Function TDevFindForm.DevStatuscheck: Integer;在界面上显示后,没有修改ComboBox(就是没有动ComboBox中的内容)时,尽管ComboBox.text<>'' ,但它还是跳过程序有系统随机取值(不是返回Result=0)。为什么会这样,怎样改程序,或它的属性。
Function TDevFindForm.Status: String;
Var
Str: String;
begin
Str:=Trim(QueryResult.Fields[5].AsString);
if Str<>'' then
begin
Case StrToInt(Str) of
1 : Result:='等待设置';
2 : Result:='正常使用';
3 : Result:='参数修改';
4 : Result:='设备故障';
end;
end
else
Result:='0';
end;Function TDevFindForm.DevStatuscheck: Integer;
begin
if Trim(DevStatus.Text)<>'' then
begin
Case DevStatus.ItemIndex of
0 : Result:=1;
1 : Result:=2;
2 : Result:=3;
3 : Result:=4;
end;
end
else
Result:=0;
end;
各位大虾!!!拜托,帮个忙吧!!!急啊!~!~!啊~!~!
解决方案 »
- 请问:求一个月的最大值
- ADOConnection的一个小问题!!
- 如何用代码实现鼠标单击事件?
- 怎样在程序中检查,某一个表是否存在?
- 如何控制TwordApplication连接word的时候在已经启动了word就不再启动新的word对象?
- 请教,在delphi 使用webbrowser, 如何写点击事件,再连接另一个网站
- 我的操作系统是2000 为什么每次开机都跳到安全模式,然后重新启动一下就好了
- 50分寻找可以安装使用的zip压缩控件,要求兼容winzip,版本新,可以安装使用。//瑶瑶
- 在父窗体怎样画jpg格式的背景图?
- Midas 分数大赠送!
- 讨论,35岁以后程序员该干什么?最近很郁闷
- 三层结构的 应用程序服务器如何把midas.dll包含进exe文件中
知道我的意思吗?
不理解,我再仔细说
if Trim(DevStatus.Text)<>'' then
->
if DevStatus.ItemIndex>0 then
begin
if Trim(DevStatus.Text)<>'' then
begin
Case DevStatus.ItemIndex of
-1: Result :=1;
0 : Result:=1;
1 : Result:=2;
2 : Result:=3;
3 : Result:=4;
end;
end
else
Result:=0;
end; // 因为在未修改Combobox的值之前Combobox1的值为-1;或者你把Combobox1的ItemIndex值改为 0;
Case DevStatus.ItemIndex of
0 : Result:=1;
1 : Result:=2;
2 : Result:=3;
3 : Result:=4;
end;最简单安全的代码
begin
Result:=0;
Case DevStatus.ItemIndex of
0 : Result:=1;
1 : Result:=2;
2 : Result:=3;
3 : Result:=4;
end;
end;
这样也不行啊!
如果我原来的值不是Result:=1呢,那他不是改变了数据库的值了吗?
怎样改就好??
谢谢~~~!
begin
Case DevStatus.ItemIndex of
-1 : Result:=0;
0 : Result:=1;
1 : Result:=2;
2 : Result:=3;
3 : Result:=4;
end;
end; // 因为当Combobox1为空时,ItemIndex为-1