ot: cementerio del futuro

ot: cementerio del futuro

Postby wilsongamboa » Thu Dec 27, 2018 1: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
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ot: cementerio del futuro

Postby Marcelo Via Giglio » Thu Dec 27, 2018 5: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
Marcelo Via Giglio
 
Posts: 1064
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: ot: cementerio del futuro

Postby wilsongamboa » Wed Jan 02, 2019 5: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: Select all  Expand view
#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
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ot: cementerio del futuro

Postby Marcelo Via Giglio » Wed Jan 02, 2019 7:11 pm

Hola,

una idea

Code: Select all  Expand view

#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
Marcelo Via Giglio
 
Posts: 1064
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: ot: cementerio del futuro

Postby wilsongamboa » Thu Jan 03, 2019 12:02 am

Muchas gracias Marcelo funciona super !!
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 33 guests