我在程序中用到了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;
各位大虾!!!拜托,帮个忙吧!!!急啊!~!~!啊~!~!
解决方案 »
- 如何设置光标在TMemo打开文本中位置!
- 我见过短的目录删除代码![欣赏]
- 请教界面与代码问题?
- 高手们,这个问题有解吗?动态设定Dxdbgrid属性问题,解决马上结贴!
- 100分求解,非delphi应用程序窗体上有多个Edit控件,有什么办法发送字符给其中一个控件并执行回车。
- 为什么我的HOOK程序在windows2K下鼠标移到屏幕上就不行?98下可以用
- Borland编程大赛的试题修改了!
- 怎样在webbrowser控件的openwindow2事件中得到当前需打开的网页地址??
- 做一个向量图编辑软件?
- 关于messagedlg的问题
- 讨论,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