PIENSOPIENSO: Cual es la salida de este programa?

 


Tengo una tabla  con la estructura

*Key         Numeric(4)
 Filter      Numeric(4)
 
Description VarChar(40)

y un procedure GeneXus que hace

//Grabo registros en la tabla (esta vacía)

New
   Key = 1
   Filter = 1
   Description = 'UNO'
EndNew

New 
   Key = 2   
   Filter = 2
   Description = 'DOS'
EndNew

// Recorro la tabla, muestro los valores leídos
for each
    where Filter > 0
    do 'ShowMessage'
endfor

Sub 'ShowMessage'
   Msg(Format("Key = %1, Filter = %2, Description = %3", Key, Filter,Description), status)
EndSub


Cual es la salida de dicho programa?. 

1) 
Key =  1, Filter = 1, Description = UNO
Key =  2, Filter = 2, Description = DOS

2) 
Key = 1, Filter = 1, Description = DOS
Key = 2, Filter = 2, Description = DOS

3) 
Key = 2, Filter = 2, Description = DOS
Key = 2, Filter = 2, Description = DOS

Justifique su respuesta. 

Comentarios

  1. Ahora si.
    Opcion 2.
    En el for each se carga el valor de Key y Filter, pero el de Descripcion no. Descripcion queda con el valor del segundo new (2)

    ResponderBorrar
  2. En primer lugar diría que eso tiene 3 errores: el Sub no tiene nombre , "Showmessage" no existe, y el tercero en el sub no hay for each osea no esta en ninguna tabla y quiere mostrar atributos, depende el lenguaje eso puede dar error o mostrar cualquier cosa.

    ResponderBorrar
    Respuestas
    1. Si, tenes razon. Ya lo corregi.
      Escribir codigo y que quede bien formateado en Blogger es complicado pues el editor HTML cambia cosas sin avisar.
      La respuesta correcta es la 2, por los motivos que dice Roberto en la respuesta de arriba.
      Es un error comun cuando se pasa codigo que esta dentro de un for each a una subrutina, por eso lo puse para que fuera mas visible.

      Borrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.