Programación General > Power Builder

 Linea en Tiempo de Ejecucion ???

(1/1)

okzoq:
trate de crear una pero no sale  <_< ...

--- Citar ---LINE linea
linea = CREATE LINE
linea.beginx = 0
linea.beginy = 0
linea.endx = 500
linea.endy = 500
// linea.show()
--- Fin de la cita ---
soy nuevo en esto y trato de realizar un pequeño grafico, ojala me puedan ayudar ...

Saludos  :hola:

nike425:
q tal ... mmm ??? en Power Builder se puede utilizar funciones ubicadas en librerias .DLLs dentro de windows, a estas funciones se les denomina la API de Windows  :D


* Declaras estas 3 funciones en 'Global External Functions' dentro de tu aplicacion
--- Citar ---FUNCTION uLong GetDC (uLong hwnd) &
   LIBRARY "user32.dll" ALIAS FOR "GetDC; ansi"
   
FUNCTION uLong LineTo (uLong hdc, uLong x, uLong y) &
   LIBRARY "gdi32.dll" ALIAS FOR "LineTo; ansi"

FUNCTION uLong MoveToEx (uLong hdc, uLong x, uLong y, REF POINTAPI lpPoint) &
   LIBRARY "gdi32.dll" ALIAS FOR "MoveToEx; ansi"
--- Fin de la cita ---

* Si te das cuenta la funcion 'MoveToEx' en el arg4 necesita una referencia a una estructura del tipo 'POINTAPI', por lo tanto creas una dentro de tu aplicacion.
File -> New -> Pestaña 'PBObject' -> Structure  y Ok.
Creas dos variables:

--- Citar ---unsignedlong | X
unsignedlong | Y
--- Fin de la cita ---
y guardas la estructura como 'pointapi'


* Utilizas las funciones API antes declaradas en tu codigo, ya tu ves en donde. Aqui te puse dos ejemplos.
Dibujando una Linea:

--- Citar ---uLong dc
dc = GetDC(HANDLE(Parent))

POINTAPI lpPoint // estructura POINTAPI
lpPoint.x = 0; lpPoint.y = 0

// Linea Simple
MoveToEx(dc, 10, 10, lpPoint)
LineTo(dc, 120, 50)
--- Fin de la cita ---
Dibujando una funcion Seno:

--- Citar ---uLong dc
dc = GetDC(HANDLE(Parent))

POINTAPI lpPoint // estructura POINTAPI
lpPoint.x = 0; lpPoint.y = 0

// Dibujando Sin(x)
Integer dx, dy
dx = 10; dy = 20
Double pX, pY
pX = 0 ;
pY = Sin(pX/5) * 15
MoveToEx(dc, dx + pX, dy + pY, lpPoint)
FOR pX = 0 TO 100
   pY = Sin(pX/5) * 15
   LineTo(dc, dx + pX, dy + pY)
NEXT
--- Fin de la cita ---
Aqui puedes ver como salieron las gráficas:
[attachment=0:3ct8zlmi]outImages.png[/attachment:3ct8zlmi]
Bueno espero que te sirva  :devil:, nos vemos  :good:

Salu2 !!!

okzoq:
hey nike425 :good: muchas gracias por la respuesta, tratare de implementarlo :comp:, te pasastes :beer:. Bye cuidate  :hola:

Navegación

[0] Índice de Mensajes

Ir a la versión completa