Ola Galera! Tenho uma rotina que ocorre 30 vezes, para 30 fill-in diferentes, veja axemplo abaixo, como posso fazer para não precisar repetir várias vezes a mesma coisa. IF fi-editor-1 = "" THEN DO: fi-editor-1 = STRING(MAGENDA.horini, 'HH:MM') + '-' + STRING(MAGENDA.horfin, 'HH:MM') + '-' + STRING(MAGENDA.nomut) + '-' + STRING(MAGENDA_OBS.obs). DISPLAY fi-editor-1 WITH FRAME fr-001. fi-editor-1:height = x-altura NO-ERROR. fi-editor-1:row = x-linha NO-ERROR. fi-editor-1:column = x-coluna NO-ERROR. fi-editor-1:bgcolor = i-cor NO-ERROR. NEXT. END. IF fi-editor-2 = "" THEN DO: fi-editor-2 = STRING(MAGENDA.horini, 'HH:MM') + '-' + STRING(MAGENDA.horfin, 'HH:MM') + '-' + STRING(MAGENDA.nomut) + '-' + STRING(MAGENDA_OBS.obs). DISPLAY fi-editor-2 WITH FRAME fr-001. fi-editor-2:height = x-altura NO-ERROR. fi-editor-2:row = x-linha NO-ERROR. fi-editor-2:column = x-coluna NO-ERROR. fi-editor-2:bgcolor = i-cor NO-ERROR. NEXT. END. IF fi-editor-3 = "" THEN DO: fi-editor-3 = STRING(MAGENDA.horini, 'HH:MM') + '-' + STRING(MAGENDA.horfin, 'HH:MM') + '-' + STRING(MAGENDA.nomut) + '-' + STRING(MAGENDA_OBS.obs). DISPLAY fi-editor-3 WITH FRAME fr-001. fi-editor-3:height = x-altura NO-ERROR. fi-editor-3:row = x-linha NO-ERROR. fi-editor-3:column = x-coluna NO-ERROR. fi-editor-3:bgcolor = i-cor NO-ERROR. NEXT. END. ............................... 30 x Att, Diogo
Olá, você pode utilizar uma include apenas para o código ficar mais limpo, porém o certo nesse caso seria criar um vetor, só não sei se funcionara para um fill-in. Abraço
Tentei criar uma procedure com um vetor, mas não consegui.... mas acho que o caminho mais fácil seria por aí. Att, Diogo
Já tentou fazer algo neste estilo? Código: RUN p-teste (INPUT fi-editor-1:HANDLE). PROCEDURE p-teste. DEF INPUT PARAM wh-fill-in AS WIDGET-HANDLE. IF wh-fill-in:SCREEN-VALUE = "" THEN DO: wh-fill-in:SCREEN-VALUE = STRING(MAGENDA.horini, 'HH:MM') + '-' + STRING(MAGENDA.horfin, 'HH:MM') + '-' + STRING(MAGENDA.nomut) + '-' + STRING(MAGENDA_OBS.obs). DISPLAY wh-fill-in:SCREEN-VALUE WITH FRAME fr-001. wh-fill-in:HEIGHT = x-altura NO-ERROR. wh-fill-in:ROW = x-linha NO-ERROR. wh-fill-in:COLUMN = x-coluna NO-ERROR. wh-fill-in:BGCOLOR = i-cor NO-ERROR. NEXT. END. END PROCEDURE. Agora com vetor é complicado, preciso pensar mais um pouco.