El problema es que las condiciones de cada case pueden ir sobre variables distintas. Más que un do case, la sintaxis permite usarlo como un if-elseif.
En Java y C#, el comando equivalente es el switch, que discrimina según los valores que toma una variable dada. Por ejemplo:
switch (variable) {En GeneXus, el do case me permite hacer cosas como
case 1:
// hago algo para el valor 1
break;
case 2:
// hago algo para el valor 2
break;
default:
// hago algo para los demás valores
break;
}
do case {Me gustaría más tener un comando if-elseif que me permitiera hacer:
case &variable = 1:
// hago algo para el valor 1 de &variable
case &otra_variable = 2:
// hago algo para el valor 2 de &otra_variable
otherwise:
// hago algo para los demás valores
endcase
if &variable = 1:y un comando do case que fuera sobre los valores de una sola variable, algo así:
// hago algo para el valor 1 de &variable
elseif &otra_variable = 2:
// hago algo para el valor 2 de &otra_variable
else
// hago algo para los demás valores
endif
do case &variableCreo que nos forzaría a que el código quede más prolijo.
case 1:
// hago algo para el valor 1 de &variable
case 2:
// hago algo para el valor 2 de &variable
otherwise:
// hago algo para los demás valores
endcase
4 comentarios: