Clarion 9.1 - 使用变量作为例程名称

时间:2017-10-20 11:44:34

标签: clarion

我需要将Clarion例程的名称传递给Variable并运行它。

E.g:

!************************

RoutineName =' CalculateSomething'

DO RoutineName

!************************

它不能以这种格式工作,所以我还在变量之前和之后尝试了其他字符(括号,引号等)。没有运气。

请注意常规' CalculateSomething'使用基本命令存在并运行良好:

!************************

DO CalculateSomething

!************************

2 个答案:

答案 0 :(得分:0)

如何使用case语句来执行此操作?

RoutineName='CalculateSomething'

CASE RoutineName
OF 'CalculateSomething'
  DO CalculateSomethingRoutine
OF 'SomethingElse'
  DO SomethingElseRoutine
ELSE
  Stop('Unknown routine named: ' & RoutineName)
END

答案 1 :(得分:0)

我认为在Clarion编程语言上没有类似的选择。

我向CASE声明建议的唯一方法就是:

RoutineName='CalculateSomething' 

    CASE UPPER(RoutineName)  
    OF 'CALCULATESOMETHING' 
        DO CalculateSomething
    OF 'CALCULATESOMETHINGELSE' 
        DO CalculateSomethingElse 
    OF 'CALCULATENOTHING'
        DO CalculateNothing 
    END