ot: cementerio del futuro

Post Reply
User avatar
wilsongamboa
Posts: 439
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

ot: cementerio del futuro

Post by wilsongamboa »

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

Re: ot: cementerio del futuro

Post by Marcelo Via Giglio »

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
User avatar
wilsongamboa
Posts: 439
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ot: cementerio del futuro

Post by wilsongamboa »

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

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

Re: ot: cementerio del futuro

Post by Marcelo Via Giglio »

Hola,

una idea

Code: Select all

#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
User avatar
wilsongamboa
Posts: 439
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ot: cementerio del futuro

Post by wilsongamboa »

Muchas gracias Marcelo funciona super !!
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Post Reply