【问题标题】:Showing a MsgBox with variables depending on boolean根据布尔值显示带有变量的 MsgBox
【发布时间】:2014-04-28 13:50:41
【问题描述】:

我是编程的初学者,但事情是这样的:

我将不同的变量设置为本地变量,这些变量是字符、消息的字符串,同时我有一组布尔值,根据某些情况填充为 True 或 False。

我们的想法是仅当布尔值为 False 时才显示包含这些变量的单个消息框。

伪代码示例:

Local string Greetings = "Hi, my name is"

Local string Name1 = "John"
Local string Name2 = "James"

Local Boolean name1 = .T.

Local Boolean name2 = .T.


If Name1 (Have some conditions)
name1 = .T.
endif

If name2 (Some conditions)
name2 = .F.

If name1 == .T. OR name2 == .T.
MsgBox(Greetings+":"+name1+name2,"Messagebox","Alert")

Endif

抱歉,我无法详细描述它是哪个代码。但它就像带有 Xbase 的 Clipper。

我的问题是,即使这些变量的条件为假,消息框也会显示它们,我需要把所有的意外情况都放在那里吗?例如,如果我有 3 个布尔值,我是否需要使用 True、False、False - False、True、False 等来执行此操作?

最好的问候。

【问题讨论】:

  • 我不知道这种方言,但在 Clipper 中是.OR.(左右点)。

标签: messagebox pseudocode clipper


【解决方案1】:

我看不出name1 怎么可能FALSE。它以TRUE 开头,如果您的第一个条件评估为TRUE,则再次分配它TRUE。所以name1 必须是TRUE

根据您的逻辑,您可能希望在开头使用 Local Boolean name1 = .F. 或在第一个 IF 中使用 name1 = .F.

【讨论】:

  • 最后我做了以下事情:我把“开关”放在.T上。然后询问“somefield”是否有一定的条件,如果是这样,它会变成.F。如果没有,它将继续.T。如果它保持在.T。该程序将删除其所有内容,但如果是.F.,它将显示在代码的最后部分,例如:aHey := "Hey Im a messagebox" lHey := .T。如果为空(字段)lHey := .F。 endif 如果 lHey == .T. aHey := "" endif msgbox("this is the message if any:"+ahey") 删除内容的想法是,如果您完成了某个字段,那么程序不需要告诉您其他情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-12
  • 1970-01-01
  • 1970-01-01
  • 2019-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多