Ver la Versión Completa : [Sintaxis] Problema en el evento "Return" en TextBox (CmEdit)
dmosca
1 de agosto de 2017, 02:51
Hola Foro:
sigo teniendo consultas: tengo un textbox, el evento return ejecuta bien, pero se repite 1 vez.
copio el codigo.
como hago para salir?, está mal el exit program?.
powercobol V9
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 CARTEL PIC X(200) VALUE SPACES.
PROCEDURE DIVISION.
MOVE "Text" OF CLAVE TO WTEXT.
IF WTEXT NOT = WCLAVE GO ERROR-1.
MOVE WNOMAPE TO "Text" OF CartelOK.
Move "Bienvenido:" To "Caption" of CmStatic3.
MOVE 1 TO "Enabled" OF ButtonOK.
INVOKE ButtonOK "SetFocus".
EXIT PROGRAM.
ERROR-1.
MOVE "Clave no habilitada..." TO "TEXT" OF CartelOK.
ADD POW-DMICONERROR POW-DMOK GIVING ESTILO.
STRING "Error: Clave no corresponde..."
SALTO
"[" WTEXT (1:I) "]"
SALTO DELIMITED BY SIZE INTO CARTEL.
INVOKE POW-SELF "DisplayMessage" USING CARTEL WS-ATENCION ESTILO.
MOVE "Password..." TO POW-TEXT OF CLAVE.
INVOKE ButtonFin "SetFocus".
EXIT PROGRAM.
Kuk
1 de agosto de 2017, 16:24
dmosca, ¿qué intentas hacer y qué es lo que no te convence del EXIT PROGRAM?
Por cierto, el código debe meterse en el tag COBOL para el resalto de sintaxis.
dmosca
1 de agosto de 2017, 20:19
Kuk
en un textbox ingreso el password, en el evento "return" está el código que valida si corresponde...
funciona bien, pero se repite, ejecutando paso a paso con el debug, veo que se repite un vez y recién sale.
cuando llega al exit program vuelve al principio, ejecuta toda la rutina y sale.
por eso pregunto si está bien usado el exit program...
jotica
2 de agosto de 2017, 01:27
Eso es clasico de como has definido en el textbox los eventos automaticos del return
Lo que pasa es que por alguna condicion definida alli se genera automaticamente el evento return
Josber
2 de agosto de 2017, 10:58
dmosca, a ver si puedes poner una captura de pantalla de las propiedades del campo que te da problemas, por si tienes algo mal definido ahí.
Un saludo.-
Kuk
2 de agosto de 2017, 15:27
dmosca, yo nunca uso el evento "Return". Usa el el evento "KeyPress" y dentro pones:
IF POW-ARG-KEYASCII = 13 *> = Enter
*> EL CÓDIGO QUE QUIERES EJECUTAR
END-IF
dmosca
3 de agosto de 2017, 01:13
Josber
al tildar "Editable Label" ya no repite el evento "Return"....
copio imagen.
tiene explicación?
muchas gracias.
Josber
3 de agosto de 2017, 08:54
Josber
al tildar "Editable Label" ya no repite el evento "Return"....
copio imagen.
tiene explicación?
muchas gracias.
Pues no tengo ni idea, la verdad, ahora recuerdo que tuve muchos problemas al principio con esa cuestión, sobre todo, porque acostumbrado al RM-Cobol, en que, cuando introducías los textos por pantalla, los números se alineaban a la derecha y los textos a la izquierda, quería que en las pantallas nuevas pasase lo mismo y el programa se me "volvía loco" él solo.
Me alegro que lo hayas solucionado.
Un saludo.-
Rapinto
3 de agosto de 2017, 23:40
dmosca,
O problema pode vir de "decisionmaxstring" que pode provocar um "enter".
Ao colocar código no evento "return" este é executado duas vezes.
No manual de FujitsuCobol:
DecisionMaxString Property
Description:
Indicates whether input is completed when the input character string reaches the field length defined by the RenderText object.
Used in controls: Table TextBox
Used in objects: None.
Value (with constants):
True - Fixed input. - Focus moves to the next cell. (POW-TRUE)
False - Not fixed input. - Focus does not move. (POW-FALSE)
When it is true, and a cell is filled, the focus moves to the next cell to the right, or the first cell of the next line. If there are no cells to move to, the focus does not move.
When it is False, the focus remains in the cell, but attempts to extend the data beyond the maximum length are ignored.
Un saludo,
Rui Pinto
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.