Antonio, Daniel, y demás integrantes del foro:
Necesito presentar una imagen escogida aleatoriamente, alguien me puede explicar un arreglo de cómo podría hacerlo?
De antemano agradecido por la enseñanza
Jairo Barbosa
IMAGEN ALEATORIA
- Jairo Barbosa
- Posts: 188
- Joined: Fri Jan 23, 2009 2:50 am
- Location: Cali Valle Colombia
- Contact:
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
Re: IMAGEN ALEATORIA
Se me ocurre:
X:=Directory("*.BMP")
y:=nRandom(len(x)+1)+1
ImagenAleatoria:=X[Y,1]
X:=Directory("*.BMP")
y:=nRandom(len(x)+1)+1
ImagenAleatoria:=X[Y,1]
Re: IMAGEN ALEATORIA
Jairo,
Te preparé hace dos días un ejemplo y he intentado enviártelo muchas veces a tu email pero rebota.
Tienes otra cuenta de email ?
Saludos,
Carlos Gallego
Te preparé hace dos días un ejemplo y he intentado enviártelo muchas veces a tu email pero rebota.
Tienes otra cuenta de email ?
Saludos,
Carlos Gallego
Saludos,
Carlos Gallego
*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
Carlos Gallego
*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
- Jairo Barbosa
- Posts: 188
- Joined: Fri Jan 23, 2009 2:50 am
- Location: Cali Valle Colombia
- Contact:
Re: IMAGEN ALEATORIA
Rodolfo Muy agradecido por tu sugerencia
Carlos Gracias de antemano mira mis correos hk3dqc@yahoo.es hk3dqc@gmail.con fundacion@genesisoft.co.cc
Dios les Bendiga
Carlos Gracias de antemano mira mis correos hk3dqc@yahoo.es hk3dqc@gmail.con fundacion@genesisoft.co.cc
Dios les Bendiga
Re: IMAGEN ALEATORIA
Saludos,
Carlos Gallego
*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
Carlos Gallego
*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Re: IMAGEN ALEATORIA
Hola Jairo:
Ayer conteste a tu petición via correo y aqui tengo lo que me solicitaste:
De antemano pido disculpas por no contestar a tiempo tu correo.
Para cambiar la Imagen de Fondo haz click derecho en el escritorio para que salga el menú de selección, puedes avanzar, regresar o mostrar aleatoriamente una imagen de 5 que contiene el ejemplo, puedes poner las que quieras y necesites, solo haz el cambio de cuentas imagenes quieras mostrar en tu sistema y listo.
![Image](http://img692.imageshack.us/img692/2481/dibujomkhw.jpg)
Te dejo el ejemplo construido y el codigo fuente para quienes lo necesiten y si por si acaso con el tiempo no pueden bajar el ejemplo, las imagenes son en formato JPG, uso freeimage.dll para mostrarlas, puedes usar BMP y PNG, pero JPG es mejor por tamaño de cada imagen, las tengo guardadas en la carpeta "FONDOS", puedes poner más si gustas.
Aqui te dejo el ejemplo construido:
http://www.megaupload.com/?d=E0DTZTZV
Ojala sea de utilidad y sea lo que necesites... si algo más necesitas no dudes en preguntarme.. Saludos..
Ayer conteste a tu petición via correo y aqui tengo lo que me solicitaste:
De antemano pido disculpas por no contestar a tiempo tu correo.
Para cambiar la Imagen de Fondo haz click derecho en el escritorio para que salga el menú de selección, puedes avanzar, regresar o mostrar aleatoriamente una imagen de 5 que contiene el ejemplo, puedes poner las que quieras y necesites, solo haz el cambio de cuentas imagenes quieras mostrar en tu sistema y listo.
![Image](http://img692.imageshack.us/img692/2481/dibujomkhw.jpg)
Te dejo el ejemplo construido y el codigo fuente para quienes lo necesiten y si por si acaso con el tiempo no pueden bajar el ejemplo, las imagenes son en formato JPG, uso freeimage.dll para mostrarlas, puedes usar BMP y PNG, pero JPG es mejor por tamaño de cada imagen, las tengo guardadas en la carpeta "FONDOS", puedes poner más si gustas.
Code: Select all
#Include "FIVEWIN.CH"
STATIC oWnd,nBrush
//-----------------------------------------------------------------------------------------------------------------//
FUNCTION Main()
LOCAL oIco,oBru
nBrush:= Random(5) // 5 Imagenes para este ejemplo
DEFINE Icon oIco RESOURCE "01"
DEFINE Brush oBru FILE ".\FONDOS\FONDO"+ALLTRIM(STRZERO(nBrush,2))+ ".JPG"
DEFINE Window oWnd TITLE "La Cultura Maya de Chiapas México." ICON oIco BRUSH oBru
ACTIVATE Window oWnd MAXIMIZED ON RIGHT CLICK ShowPopup(nRow, nCol)
RETURN nil
//-----------------------------------------------------------------------------------------------------------------//
STATIC FUNCTION ShowPopup( nRow, nCol )
LOCAL oPop
MENU oPop POPUP
MENUITEM "Avanzar Imágen del Escritorio" RESOURCE "BMP1" ACTION CambiaFondo(">")
SEPARATOR
MENUITEM "Regresar Imágen del Escritorio" RESOURCE "BMP2" ACTION CambiaFondo("<")
SEPARATOR
MENUITEM "Imágen Aleatoria del Escritorio" RESOURCE "BMP3" ACTION CambiaFondo("*")
SEPARATOR
MENUITEM "Terminar Paseo por la Cultura Maya" RESOURCE "BMP4" ACTION oWnd:END()
ENDMENU
ACTIVATE POPUP oPop AT nRow, nCol OF oWnd
RETURN nil
//-----------------------------------------------------------------------------------------------------------------//
STATIC FUNCTION CambiaFondo(cTipo)
LOCAL oBru
IF cTipo == ">"
nBrush:= IF( nBrush > 04, 01, ++nBrush )
oWnd:oBrush:RELEASE()
oWnd:REFRESH()
ELSEIF cTipo == "<"
nBrush:= IF( nBrush < 02, 05, --nBrush )
oWnd:oBrush:RELEASE()
oWnd:REFRESH()
ELSEIF cTipo == "*"
nBrush:= Random(5)
oWnd:oBrush:RELEASE()
oWnd:REFRESH()
ENDIF
MSGInfo("Cambiando Imagen de Fondo por:"+CRLF+;
".\FONDOS\FONDO"+ALLTRIM(STRZERO(nBrush,2))+ ".JPG","Imagen de Escritorio")
DEFINE BRUSH oBrush FILE ".\FONDOS\FONDO"+ALLTRIM(STRZERO(nBrush,2))+ ".JPG"
SET BRUSH OF oWnd TO oBrush
SysRefresh()
oWnd:REFRESH()
SysRefresh()
RETURN nil
//-----------------------------------------------------------------------------------------------------------------//
STATIC FUNCTION Random(nLimite)
STATIC nGuarda:= 1
LOCAL I
LOCAL nResult
IF VALTYPE( nLimite ) # [N]
nLimite:= 100
ENDIF
I:= SECONDS()
WHILE nLimite > I
I:= I * 100 +SECONDS()
ENDDO
nGuarda:= (nGuarda +I) / (nResult:= nGuarda * I % nLimite +1)
nResult:= INT( nResult )
RETURN nResult
http://www.megaupload.com/?d=E0DTZTZV
Ojala sea de utilidad y sea lo que necesites... si algo más necesitas no dudes en preguntarme.. Saludos..
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
- Jairo Barbosa
- Posts: 188
- Joined: Fri Jan 23, 2009 2:50 am
- Location: Cali Valle Colombia
- Contact:
Re: IMAGEN ALEATORIA
Víctor Gracias por tu aporte
Te había enviado la respuesta a tu correo, un genial "sample" para entenderlo
Cordialmente
Jairo Barbosa
Te había enviado la respuesta a tu correo, un genial "sample" para entenderlo
Cordialmente
Jairo Barbosa
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Re: IMAGEN ALEATORIA
Jairo:
Me alegro que te haya servido mi pequeño ejemplo, acabo de recibir por correo tu msg. estamos para servirte...
Saludos..
![Laughing :lol:](./images/smilies/icon_lol.gif)
Me alegro que te haya servido mi pequeño ejemplo, acabo de recibir por correo tu msg. estamos para servirte...
Saludos..
![Wink :wink:](./images/smilies/icon_wink.gif)
![Laughing :lol:](./images/smilies/icon_lol.gif)
![Laughing :lol:](./images/smilies/icon_lol.gif)
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Re: IMAGEN ALEATORIA
Saludos:
Aquí esta el aporte para poder aplicarlo en ambientes MDI, Contribución de mi colega Jairo Barbosa, de Cali Colombia.
Binario con Imagenes de Demostración:
http://www.megaupload.com/?d=P75R94NY
![Image](http://img842.imageshack.us/img842/9605/dibujopcr.jpg)
Saludos...
Aquí esta el aporte para poder aplicarlo en ambientes MDI, Contribución de mi colega Jairo Barbosa, de Cali Colombia.
Code: Select all
// FWH Class TOutLook2003
// Ejemplo elaborado y modificado por Jairo Barbosa
// Con las asesoráis de Carlos Gallego
// Carlitos gracias por tus consejos
#include "FiveWin.ch"
#include "Splitter.ch"
#include "Outlook.ch"
#include "image.ch"
STATIC lExit := .F.
//----------------------------------------------------------------------------//
FUNCTION Main()
LOCAL oWnd, oStatusBar, oSplit
LOCAL oFont, oExBar, oPanel1, oPanel2
LOCAL bClick := {|o| MSGInfo("En construccion")}
*------------------------------------------------------------------------------*
nResoAncho := GetSysMetrics(0)//800
nResoAlto := GetSysMetrics(1)//600
*------------------------------------------------------------------------------*
cRandom:= Random()
DEFINE WINDOW oWnd TITLE "FWH new Class TOutLook2003" PIXEL MDI ;
MENU BuildMenu() COLORS RGB(0,0,0),RGB(255,255,255)
@ 1,1 SAY oSay VAR cRandom OF oWnd:oWndClient SIZE 100,15;
PIXEL UPDATE TRANSPARENT
@ 1,1 image oBmp OF oWnd:oWndClient size nResoAncho, nResoAlto ;
FILE ".\" + ALLTRIM(STRZERO(cRandom,2))+".JPG" PIXEL NOBORDER adjust
DEFINE OUTLOOK2003 oOutLook2003 OF oWnd ;
PROMPTS "Kardex" BITMAPS "C:\FWH\bitmaps\mail.bmp"
oWnd:oLeft = nil // Because the splitter is going to control the resize
@ 5, 5 EXPLORERBAR oExBar OF oOutLook2003:aDialogs[ 1 ] ;
SIZE oOutLook2003:aDialogs[1]:nWidth, oOutLook2003:aDialogs[1]:nHeight
oPanel1 = oExBar:AddPanel( "One", "C:\FWH\bitmaps\32x32\people.bmp" )
oPanel1:lSpecial = .T.
oPanel1:AddLink( "Entradas", bClick,;
"C:\FWH\bitmaps\16x16\additem.bmp" );
oPanel1:AddLink( "Consulta de Saldos", bClick,;
"C:\FWH\bitmaps\16x16\copy.bmp" )
oPanel1:AddLink( "Tercer item", bClick, "C:\FWH\bitmaps\16x16\copy.bmp" )
oPanel2 = oExBar:AddPanel( "Dos", "C:\FWH\bitmaps\32x32\people.bmp" )
oPanel2:lSpecial = .T.
oPanel2:AddLink( "Hacer copia de seguridad", bClick,;
"C:\FWH\bitmaps\16x16\additem.bmp" )
oPanel2:AddLink( "Recuperar copia", bClick,"C:\FWH\bitmaps\16x16\copy.bmp")
oPanel2:AddLink( "Idexar Bases", bClick, "C:\FWH\bitmaps\16x16\copy.bmp" )
oPanel3 = oExBar:AddPanel( "Tres", "C:\FWH\bitmaps\32x32\people.bmp" )
oPanel3:lSpecial = .T.
oPanel3:AddLink( "Cambiar fondo", {||CambioFondo()},;
"C:\FWH\bitmaps\16x16\copy.bmp" )
DEFINE STATUSBAR oStatusBar PROMPT " FWH Class TOutLook2003" OF oWnd
SetParent( oOutLook2003:hWnd, oWnd:hWnd )
oWnd:oClient = nil
@ 1, 192 SPLITTER oSplit ;
VERTICAL _3DLOOK ;
PREVIOUS CONTROLS oOutLook2003 ;
HINDS CONTROLS oWnd:oWndClient ;
SIZE 4, oWnd:nHeight - 170 PIXEL ;
OF oWnd
SetParent( oSplit:hWnd, oWnd:hWnd )
ACTIVATE WINDOW oWnd maximized;
ON INIT ( cRandom := STRZERO(hb_RandomInt(1,14),4),;
oBmp:ReLoad( , "JPG"+cRandom+".JPG" ) , oBmp:Refresh(),;
oSay:VarPut( "JPG: JPG"+cRandom+".JPG" ) , oSay:Refresh() );
ON RESIZE ( oSplit:Adjust(),;
WndLeft( oWnd:oWndClient:hWnd, oSplit:nRight + 1 ),;
WndWidth( oWnd:oWndClient:hWnd,;
oWnd:nWidth - oOutLook2003:nWidth - 23)) VALID lExit := .T.
RETURN nil
*----------------------------------------------------------------------------//
STATIC FUNCTION CambioFondo()
(cRandom := STRZERO(hb_RandomInt(1,14),4) ,;
oBmp:ReLoad( , "JPG"+cRandom+".JPG" ) , oBmp:Refresh(), ;
oSay:VarPut( "JPG: JPG"+cRandom+".JPG" ) , oSay:Refresh())
RETURN nil
//--------------------------------------------------------------------------
FUNCTION BuildMenu()
LOCAL oMenu
MENU oMenu
MENUITEM "&One"
MENUITEM "&Two"
MENUITEM "&Three"
ENDMENU
RETURN oMenu
*-----------------------------------------------------------------------------*
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
BOOL SysRefresh( VOID );
HB_FUNC( NOGPF )
{
__try
{
hb_retl( SysRefresh() );
}
__except ( ( hb_retl( TRUE ), TRUE ) )
{}
}
#pragma ENDDUMP
*----------------------------Fin del codigo-----------------------------------*
http://www.megaupload.com/?d=P75R94NY
![Image](http://img842.imageshack.us/img842/9605/dibujopcr.jpg)
Saludos...
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon