FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ot: cementerio del futuro
Posts: 670
Joined: Wed Oct 19, 2005 06:41 PM
ot: cementerio del futuro
Posted: Thu Dec 27, 2018 01:02 PM

Buenos dias a todos
comento el tema
me han nombrado asesor informatico de una sobrina mia que tiene 7 años, ella ha ideado un futuro cementerio donde en el suelo ( tierra ) se encuentra un parque donde la gente se distrae y los difuntos ( muertos ) estan flotando en unas capsulas con sus cenizas en el segundo piso y en los pisos superiores ( o algo asi)
La pregunta concreta es
- se puede en Fw generar una especie de cielo ( negro ) donde esten flotando unas capsulas ( blancas ) mismas que estan asociadas a la informacion de la persona y que contiene su cenizas
- si doy click en una capsula aparecera la informacion completa de la persona
perdon el off topic
soy muy malo en esto de lo visual
muchas gracias si alguien me da una idea
saludos cordiales
y feliz navidad a todos

Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
Re: ot: cementerio del futuro
Posted: Thu Dec 27, 2018 05:52 PM

Hola,

lo veo sencillo, creas una ventana con fondo negro, defines tus capsulas, bmps, tus las diseñas (dibujas), las defines en la ventana en alguna posición, incluso puedes hacer que parezcan que flotan (timer) y defines un evento cuando hagas click en ellas.

Solo una idea para madurar

saludos

Marcelo

Posts: 670
Joined: Wed Oct 19, 2005 06:41 PM
Re: ot: cementerio del futuro
Posted: Wed Jan 02, 2019 05:57 PM
Muchas gracias MArcelo con tu idea he hecho esto, pero quisiera si alguien me da una idea de como hacerles flotar a los botones muchas gracias y un FELIZ año a todos

Code (fw): Select all Collapse
#include 'fivewin.ch'

static nVeces

function main()

    local oWnd
    local oBrush
    local nR       := 0
    local nG       := 0
    local nB       := 0
    local oTmr

    define brush oBrush color nRGB( nR, nG, nB )

    define window oWnd title 'cementerio futuro Katrin Gamboa' //STYLE NOSYSMENU

    define timer oTmr interval 2500 ACTION MakeSome( oWnd ) OF oWnd


    SET BRUSH OF oWnd TO oBrush

    ataudes( oWnd )

    ACTIVATE TIMER oTmr


    activate window oWnd center //on init MakeSome( oWnd )



return nil

function MakeSome( oWnd )

    if empty( nVeces )
        nVeces = 0
    end

    mueveataudes( oWnd )

return nil


function ataudes( oWnd )

    @ 05         , 05 BTNBMP PROMPT "At2345" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Wilson Gamboa Nacio en Banios murio en Quito' ) )

    @ 05 + 45    , 05 BTNBMP PROMPT "At2346" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Julio Pazos Nacio en Quito murio en Quito' ) )

    @ 05 + 45 * 2, 05 BTNBMP PROMPT "At2347" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Alfonso Espinoza de los Monteros nacio en Quito NUNCA MORIRA!!' ) )

    @ 05 + 45 * 3, 05 BTNBMP PROMPT "At2348" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Alfonso Espinoza de los Monteros nacio en Quito NUNCA MORIRA!!' ) )

    @ 05 + 45 * 4, 05 BTNBMP PROMPT "At2349" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Alfonso Espinoza de los Monteros nacio en Quito NUNCA MORIRA!!' ) )

return nil

function mueveataudes( oWnd )

    local n := 10
    local i
    local oControl

    ++nVeces

    if nVeces % 2 == 0  //si es par
        n = -n
    else
        n = n
    end
    for i = 1 to len( oWnd:aControls )
        oControl         = oWnd:aControls[i]
        oControl:nTop    = oControl:nTop + n
        oControl:nLeft   = oControl:nLeft + n
        oControl:refresh()
        //oControl:nWidth  = oControl:nWidth + n
        //oControl:nHeight = oControl:nHeight + n
    next

return nil

https://ibb.co/0hnmRdP
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
Re: ot: cementerio del futuro
Posted: Wed Jan 02, 2019 07:11 PM
Hola,

una idea

Code (fw): Select all Collapse
#include 'fivewin.ch'

static nVeces, aTrayectoria := {{1,1},{1,1},{1,1},{0,1},{0,1},{-1,1},{-1,1},{-1,1},{-1,-1},{-1,-1},{-1,-1},{0,-1},{0,-1},{1,-1},{1,-1},{1,-1}}, ;
               aPos := {0,1,2,3,4}

function main()

    local oWnd
    local oBrush
    local nR       := 0
    local nG       := 0
    local nB       := 0
    local oTmr

    define brush oBrush color nRGB( nR, nG, nB )

    define window oWnd title 'cementerio futuro Katrin Gamboa' //STYLE NOSYSMENU

    define timer oTmr interval 150 ACTION MakeSome( oWnd ) OF oWnd


    SET BRUSH OF oWnd TO oBrush

    ataudes( oWnd )

    ACTIVATE TIMER oTmr


    activate window oWnd center //on init MakeSome( oWnd )



return nil

function MakeSome( oWnd )

    if empty( nVeces )
        nVeces = 0
    end

    mueveataudes( oWnd )

return nil


function ataudes( oWnd )

    @ 05         , 05 BTNBMP PROMPT "At2345" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Wilson Gamboa Nacio en Banios murio en Quito' ) )

    @ 05 + 45    , 05 BTNBMP PROMPT "At2346" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Julio Pazos Nacio en Quito murio en Quito' ) )

    @ 05 + 45 * 2, 05 BTNBMP PROMPT "At2347" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Alfonso Espinoza de los Monteros nacio en Quito NUNCA MORIRA!!' ) )

    @ 05 + 45 * 3, 05 BTNBMP PROMPT "At2348" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Alfonso Espinoza de los Monteros nacio en Quito NUNCA MORIRA!!' ) )

    @ 05 + 45 * 4, 05 BTNBMP PROMPT "At2349" SIZE 100,40 PIXEL OF oWnd FLAT ;
      ACTION ( msginfo('Alfonso Espinoza de los Monteros nacio en Quito NUNCA MORIRA!!' ) )

return nil

function mueveataudes( oWnd )

    local n := 10
    local i
    local oControl
  
    for i := 1 TO 5
        aPos[i] := ( aPos[i] + 1 ) % LEN( aTrayectoria ) + 1
    next

    for i = 1 to len( oWnd:aControls )
        oControl         = oWnd:aControls[i]
        oControl:nTop    = oControl:nTop + aTrayectoria[aPos[i],1]
        oControl:nLeft   = oControl:nLeft + aTrayectoria[aPos[i],2]
        oControl:refresh()
        //oControl:nWidth  = oControl:nWidth + n
        //oControl:nHeight = oControl:nHeight + n
    next

return nil


saludos

Marcelo Vía
Posts: 670
Joined: Wed Oct 19, 2005 06:41 PM
Re: ot: cementerio del futuro
Posted: Thu Jan 03, 2019 12:02 AM

Muchas gracias Marcelo funciona super !!

Wilson 'W' Gamboa A
Wilson.josenet@gmail.com

Continue the discussion