Ver la Versión Completa : [Sintaxis] Traducir código de VB a Power
Xavier
19 de septiembre de 2016, 18:50
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
Sub Fotografia()
ActiveDocument.Foto.Picture = LoadPicture(Ruta-Fotografia)
ActiveDocument.Foto.PictureSizeMode = 1
ActiveDocument.Foto.BorderStyle = 0
ActiveDocument.Foto.BackColor = &H80000005
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:
INVOKE WORKSHEET "GET-SHAPES" RETURNING SHAPES
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) (https://msdn.microsoft.com/en-us/library/windows/desktop/ms648045(v=vs.85).aspx)
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
Kuk,
No Visual Basic aparece o "loadPicture".
Mas enganei-me. Afinal o que é chamado é no STDOLE2.TLB.
Vê a imagem.
Un saludo
Rui
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.