Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Activar pantalla de busqueda de Windows (https://www.cobolforo.es/showthread.php?t=42)

Roger 19 de febrero de 2015 19:44

Activar pantalla de busqueda de Windows
 
Amigos del foro
en un form tengo un cmimagen necesito cuando de click se abra la ventana de windows de busqueda de una imagen y que seleccione y se incruste en este evento.

lo tengo hecho con cmfile y un cmlist pero no le gusta a mi cliente.
http://s2.subirimagenes.com/fotos/pr..._9286582zz.jpg

similar al de la imagen

Josber 19 de febrero de 2015 20:40

Pues así mismo:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01 WTEX                PIC X(255) VALUE SPACES.
  5.  01 ReturnValue             PIC S9(9) COMP-5.
  6.  PROCEDURE       DIVISION.
  7.      INVOKE POW-SELF "GetFileName"
  8.             USING WTEX
  9.                   "Seleccione Imágen ..."
  10.                   "Imágen JPG|*.jpg|Imágen BMP|*.bmp"
  11.                   POW-CDOPEN
  12.             RETURNING ReturnValue
  13.      END-INVOKE.
  14.      
  15.      IF ReturnValue = POW-TRUE
  16.         MOVE WTEX      TO "ImageName" OF IMAGEN
  17.         MOVE POW-FALSE TO "Resource"  OF IMAGEN
  18.         INVOKE IMAGEN "Refresh"
  19.      END-IF.
  20.      

A mi me funciona perfectamente ...

Un saludo

Roger 19 de febrero de 2015 21:10

Gracias JOSBER
Eso es lo que necesitaba una ayuda como puedo enviar solo el nombre del archivo en una variable porque la variable WTEX esta toda la ruta ejem "d:\sis-vet\fotos\cardiologia.jpg" a parte necesito solo el nombre del archivo "cardiologia.jpg"
para grabar en otra carpeta con un nombre diferente.
lo vuelvo a grabar con
Código COBOL:
  1. CALL "CBL_COPY_FILE" USING RUTA1 NUEVO RETURNING STATUS-CODE.
a foto lo púeden seleccionar de diferentes carpetas y las rutas no tendran la misma forma. existe otra forma de grabar?? SIN TENER QUE USAR EL WINUSER.dll

Josber 20 de febrero de 2015 08:11

Pues creo que no puede ser el nombre solo y la librería, la necesitas, porque es a la que "llama" el GetFileName, en cuanto a lo otro, con una simple rutina puedes hacerlo

Código COBOL:
  1.     ENVIRONMENT     DIVISION.
  2.      DATA            DIVISION.
  3.      WORKING-STORAGE SECTION.
  4.      01 WTEX.
  5.          03  WT                 PIC X OCCURS 255.
  6.      01  I                        PIC 999 VALUE 255.
  7.      01  I1                       PIC 999 VALUE 0.
  8.      01 ReturnValue           PIC S9(9) COMP-5.
  9.      PROCEDURE       DIVISION.
  10.  
  11.          INITIALIZE WTEX.
  12.  
  13.          INVOKE POW-SELF "GetFileName"
  14.                 USING WTEX
  15.                       "Seleccione Imágen ..."
  16.                       "Imágen JPG|*.jpg|Imágen BMP|*.bmp"
  17.                       POW-CDOPEN
  18.                 RETURNING ReturnValue
  19.          END-INVOKE.
  20.          
  21.          IF ReturnValue = POW-TRUE
  22.             MOVE WTEX      TO "ImageName" OF IMAGEN
  23.             MOVE POW-FALSE TO "Resource"  OF IMAGEN
  24.             INVOKE IMAGEN "Refresh"
  25.          END-IF.
  26.  
  27.          PERFORM VARYING I FROM 255 BY -1
  28.                       UNTIL WT (I) = "\" OR I = 0
  29.                               CONTINUE
  30.         END-PERFORM.
  31.  
  32.         COMPUE I1 = FUNCTION STORED-CHAR-LENGTH (WTEX).
  33.  
  34.         MOVE WTEX (I:I1) TO ...


Un saludo

Roger 20 de febrero de 2015 17:18

se agradece lista la rutina.

Josber
Código COBOL:
  1. *
  2.            INVOKE POW-SELF "GetFileName"
  3.             USING WTEX
  4.                   "Seleccione Imágen ..."
  5.                   "Imágen JPG|*.jpg|Imágen BMP|*.bmp"
  6.                   POW-CDOPEN
  7.             RETURNING ReturnValue
En estos codigo se selecciona 2 tipos de imagen jpg y bmp pero en el buscador sale separado por tipo de imagen ¿Se puede hacer que los 2 tipos se muestre junto tanto .bmp como jpg?

Kuk 25 de febrero de 2015 20:34

Cita:

Citación del post de Roger (Mensaje 150)
Josber
Código COBOL:
  1. *
  2.            INVOKE POW-SELF "GetFileName"
  3.             USING WTEX
  4.                   "Seleccione Imágen ..."
  5.                   "Imágen JPG|*.jpg|Imágen BMP|*.bmp"
  6.                   POW-CDOPEN
  7.             RETURNING ReturnValue
En estos codigo se selecciona 2 tipos de imagen jpg y bmp pero en el buscador sale separado por tipo de imagen ¿Se puede hacer que los 2 tipos se muestre junto tanto .bmp como jpg?

Roger, no entiendo que quieres decir. En este OpenDialog se te van a mostrar todos los archivos con extension *.jpg y *.bmp, los dos! No entiendo esto de "por separado"...

Roger 26 de febrero de 2015 05:37

Kuk
En el OpenDialog te muestra primero todos los archivo con terminacion .jpg y abajo hay una pestaña
donde puedes seleccionar .jpg o .bmp

Necesito que ambos se muestren un primer plano

ejemplo 000101.jpg 000102.jpg 102545.bmp 1036555.jpg 104658.bmp ......

sin necesidad de selecionar .jpg o .bmp
http://sia1.subirimagenes.net/img/20...4320122702.jpg

Josber 26 de febrero de 2015 06:22

Creo que no puede ser Roger.

Un saludo.-

Kuk 26 de febrero de 2015 09:11

Debe ser una movida de Windows 8 porque yo lo he hecho y creo recordar que mostraba todos (vamos tal y como lo quieres tu) en Windows XP y en Windows 7 creo que tambien. Miraré esta tarde en casa a ver...

Josber 26 de febrero de 2015 19:00

Roger, a ver si es ésto lo que necesitas:

Código COBOL:
  1.      INVOKE POW-SELF "GetFileName"
  2.             USING WSFILE
  3.                   "Por favor, Indique el nombre de la Imágen"
  4.                   "(Archivo Imágen)|*.bmp;*.jpg;*.png;*.tif"
  5.                   POW-CDOPEN
  6.             RETURNING RETORNO
  7.      END-INVOKE.

Con ésto no te muestra un desplegable con los tipos de extensión, pero si te muestra todos los archivos que coinciden con la extensiones definidas.

Un saludo.-


La franja horaria es GMT +2. Ahora son las 23:43.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.