如何在具有多个值的c ++ builder中使用InputBox

时间:2015-04-26 21:50:09

标签: c++builder inputbox

如何使用InputBox使其获取3个值。我可以使用代码使其显示一个值:

String input[3];
input[0]= InputBox("paied check", "the value", "");

任何帮助?

1 个答案:

答案 0 :(得分:4)

InputBox()不支持您要求的内容。它仅适用于单值输入。

InputQuery()支持多值输入,但仅限于C ++ Builder XE2及更高版本,例如:

String prompt[3] = {"value 1:", "value2:", "value 3:"};
String input[3];

if( InputQuery("paied check", EXISTINGARRAY(prompt), EXISTINGARRAY(input)) )
{
    //...
}

或者:

String input[3];

if( InputQuery("paied check", OPENARRAY(String, ("value 1:", "value2:", "value 3:")), EXISTINGARRAY(input)) )
{
    //...
}

请注意使用OPENARRAY() / EXISTINGARRAY()宏(来自sysopen.h)。它们是必需的,因为InputQuery()只接受Delphi风格的Open Arrays,而不是C风格的数组。 Open Arrays有一个额外的参数(在Delphi中隐藏,但在C ++中是显式的)来指定每个数组的最高索引(而不是数组计数)。宏为您处理额外的值,但它们仅适用于静态数组(您正在使用)。