Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Traducir código de VB a Power (https://www.cobolforo.es/showthread.php?t=481)

Xavier 19 de septiembre de 2016 18:50

Traducir código de VB a Power
 
Hola a todos. Alguien sabría "traducir" este código de VB a powerCobol?
Es un documento word que contiene un objeto picture que se llama "Foto" y quiero cargar la imagen desde una variable que contiene la ruta completa y nombre de la imagen

Código VB:
  1. Sub Fotografia()
  2.     ActiveDocument.Foto.Picture = LoadPicture(Ruta-Fotografia)
  3.     ActiveDocument.Foto.PictureSizeMode = 1
  4.     ActiveDocument.Foto.BorderStyle = 0
  5.     ActiveDocument.Foto.BackColor = &H80000005
  6. End Sub


Gracias a todos

Rapinto 20 de septiembre de 2016 00:09

Xavier,

É fácil de converter.
O único problema, é o "LoadPicture" que não funciona em PowerCobol.

O "LoadPicture" faz parte do Run-Time do VB6. E não há equivalente em Power.

Por isso, nunca iria funcionar bem.

Rui

Kuk 20 de septiembre de 2016 00:32

Rapinto, no se puede buscar la DLL donde reside dicha función "LoadPicture" y hacer GetProcAdress?

Dasije 20 de septiembre de 2016 00:42

No existe este tipo de objeto, como tal no:
  • Cargar desde el archivo físico sí es posible.
  • Traer la imagen desde el archivo físico en memoria para llevarlo a un control como si fuera un objeto, eso no es posible.

Son dos situaciones diferentes.

Rapinto 20 de septiembre de 2016 01:04

Num projeto que fiz, consegui passar imagens para excel utilizando:

Código COBOL:
  1. INVOKE WORKSHEET "GET-SHAPES" RETURNING SHAPES
  2. INVOKE SHAPES "ADDPICTURE" USING VAL LINKTO SAVEWITH WSLEFT WSTOP WSWIDTH WSHEIGHT

(Em VAL vai o path e nome do ficheiro)

Por "LoadPicture" nunca consegui.

Kuk, nunca tentei sequer essa opção, pois pareceu-me bastante complexa de executar.

Un saludo,
Rui Pinto

Kuk 20 de septiembre de 2016 09:52

Dasije, por qué no es posible? A qué te refieres como un "objeto"? Objeto COM?

Se puede cargar una imagen vía WinAPI: LoadImage function (Windows)

Rapinto, a no se rque no me esté enterando de algo, básicamente sería llamar a "LoadLibrary" y luego a "GetProcAdress" para encontrar "LoadPicture" en la DLL. Luego llamar "LoadPicture" por PROCEDURE-POINTER pasando BY REFERENCE la ruta hacía la imagen.

Dasije 20 de septiembre de 2016 11:27

Kuk, A eso me refería, desde un objeto-COM, por ejemplo el tratamiento de imagenes desde un dispostivo de captura, sin guardar antes la imagen en un archivo desde una DLL o Activex.

Kuk 21 de septiembre de 2016 08:39

Rapinto, puedes colgar la DLL que contiene la función "LoadImage" ?

Rapinto 21 de septiembre de 2016 23:11

Kuk,

A rotina "loadpicture" faz parte do próprio VB ( msvbvm60.dll)

É aí que aparece o "LoadPicture" e não no VB Run-Time

Saludos,
Rui Pinto

Kuk 21 de septiembre de 2016 23:38

Rapinto, en esa DLL no hay ninguna funcióin que se llame "LoadPicture"... :(

Rapinto 23 de septiembre de 2016 00:03

1 Archivos Adjunto(s)
Kuk,

No Visual Basic aparece o "loadPicture".
Mas enganei-me. Afinal o que é chamado é no STDOLE2.TLB.
Vê a imagem.
Un saludo
Rui


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

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