我在点击按钮时使用输入框来存储值并对其执行一些验证。我的问题是点击取消按钮它没有关闭,而是弹出信息进行空检查。任何帮助表示赞赏。谢谢
对于空检查,它弹出“请输入一个值并再试一次” 问题是,即使我点击取消它显示相同的消息,如“请输入一个值,然后再试一次”,当我没有提供任何值,然后点击确定它显示相同的消息“请输入一个值,然后再试一次”< / p>
SELECT sum(CAST(amount AS UNSIGNED)) FROM tbl1
答案 0 :(得分:3)
问题是函数InputBox的参数default
是空字符串。空字符串也是按下用户时返回的函数的值&#34;取消&#34;按钮。
如果用户按OK,则存储默认或用户输入的数据 返回字符串,否则返回空字符串。
在这种情况下,您无法确定它来自此值的位置(从“确定”或“取消”)。
我建议使用InputQuery代替InputBox。
类似的东西:
var
InputValue : string;
CustIsPressOK : boolean;
begin
repeat
CustIsPressOK := InputQuery('Enter a value', 'value',InputValue);
if CustIsPressOK then
begin
if InputValue <> '' then
begin
if MessageDlg('Do You want to enter this value ' +inputValue+'?',mtInformation,[mbYes,mbNo],0)= mrYes then
MessageDlg('Your Value got stored', mtInformation,[mbOk],0);
end
else
begin
//user is pressed OK button but value is empty string
MessageDlg('Please Enter a value and try again', mtInformation,[mbOk],0) ;
end;
end;
until (CustIsPressOK = false) or (CustIsPressOK and (InputValue <> ''));