如何将 InputQuery 与静态信息一起使用。和多个值

how to use InputQuery with Static Info. and multiple values

当我使用这段代码时

 String opra[3];
 String prompt[3] = {"operation name:","price","profit"};
  if (InputQuery("ِAdd Operation",EXISTINGARRAY(prompt),EXISTINGARRAY(opra))==true) {
//statements;
}

它工作得很好,但是当我尝试在(提示)数组之前添加一些行时

 if (InputQuery("ِAdd Operation",
 "patient name" + Edit1->Text
            +sLineBreak + sLineBreak
           "Date" + DateTimePicker1->Date.DateString()
            +sLineBreak + sLineBreakEXISTINGARRAY(prompt),EXISTINGARRAY(opra))==true) {
//statements;
}

发生错误:

Could not find a match for 'InputQuery(const char *,undefined,unsigned int,UnicodeString *,unsigned int)'

有什么想法吗?

sLineBreakEXISTINGARRAY(prompt) 不是有效的陈述。您正在尝试以无效方式将字符串文字和静态数组连接在一起。

不清楚您希望输入框看起来像什么,但您必须将 数组本身传递给 InputQuery(),就像 。只有第一个参数接受 String,随后的 4 个参数(是的 4 - EXISTINGARRAY() 为您隐藏了其中的 2 个)与数组相关,就像原始代码所做的那样。提示数组为填充输出数组的输入字段提供标签文本。如何使用值填充提示数组由您决定。

也许你正试图做这样的事情?

String opra[3];
String prompt[3] = {
    "patient name" + Edit1->Text + sLineBreak + sLineBreak + "Date" + DateTimePicker1->Date.DateString() + sLineBreak + sLineBreak + "operation name:",
    "price",
    "profit"
};

if (InputQuery("ِAdd Operation", EXISTINGARRAY(prompt), EXISTINGARRAY(opra))) {
    // use opra[] array as needed...
}

或者:

String opra[3];
String prompt[3];

prompt[0] = "patient name" + Edit1->Text + sLineBreak + sLineBreak + "Date" + DateTimePicker1->Date.DateString() + sLineBreak + sLineBreak + "operation name:";
prompt[1] = "price";
prompt[2] = "profit";

if (InputQuery("ِAdd Operation", EXISTINGARRAY(prompt), EXISTINGARRAY(opra))) {
    // use opra[] array as needed...
}