Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Escoger imagen al azar de 1 carpeta y mostrarla

Estas en el tema de Escoger imagen al azar de 1 carpeta y mostrarla en el foro de Visual Basic clásico en Foros del Web. Hola. Tengo una carpeta con 10 imagenes. Quiero que al hacer click en el boton, muestre en el picturebox (no se si esta bien usar ...
  #1 (permalink)  
Antiguo 04/08/2007, 14:36
Avatar de Spike_ak  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 442
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta Escoger imagen al azar de 1 carpeta y mostrarla

Hola. Tengo una carpeta con 10 imagenes.
Quiero que al hacer click en el boton, muestre en el picturebox (no se si esta bien usar picturebox) una imagen al azar de las 10 de la carpeta. ¿Como hago eso?
Con Randomize no pude, puse Randomize y LoadPicture dentro, pero no funciona.
Gracias,
Lucas.
__________________
*****************************************
la Ignorancia es la fuerza
  #2 (permalink)  
Antiguo 04/08/2007, 15:41
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Escoger imagen al azar de 1 carpeta y mostrarla

Hola,aca te paso un codigo que hice que hace lo que queres.suponiendo que las imagenes se llamen 1.jpg , 2.jpg, 3.jpg etc..... hasta el 10.

Código:
Private Sub Command1_Click()
Dim Limite1 As Integer
Dim Limite2 As Integer
Limite1 = 1
Limite2 = 10
Dim imagen As String
imagen = App.Path & "\" & Int((Limite1 - Limite2 + 1) * Rnd + Limite1) & ".jpg"
Picture1.Picture = LoadPicture(imagen)
End Sub
lo podrias poner en un timer con cierto intervalo y hacer como una presentacion de fotos.

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein

Última edición por seba123neo; 12/08/2007 a las 12:52
  #3 (permalink)  
Antiguo 12/08/2007, 12:40
Avatar de Spike_ak  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 442
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Escoger imagen al azar de 1 carpeta y mostrarla

Código:
Private Sub cmdRepartir_Click()
Dim Limite1 As Integer
Dim Limite2 As Integer
Limite1 = 1
Limite2 = 52
Dim imagenes As String
imagenes = App.Path & "\imagenes\cartas\" & Str(Int((Limite2 - Limite1 + 1) * Rnd + Limite1)) & ".jpg"
Picture6.Picture = LoadPicture(imagenes)
End Sub
Use el codigo que me pasastes, lo modifique bastante jeje. Pero me dice "ERROR 53 No se ha encontrado el archivo" y esta bien la ruta y todo.
__________________
*****************************************
la Ignorancia es la fuerza
  #4 (permalink)  
Antiguo 12/08/2007, 12:55
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Escoger imagen al azar de 1 carpeta y mostrarla

fijate que tu codigo no coincide con el que puse yo:

vos pusiste:

Código:
imagenes = App.Path & "\imagenes\cartas\" & Str(Int((Limite2 - Limite1 + 1) * Rnd + Limite1)) & ".jpg" 
es asi:

Código:
imagenes = App.Path & "\imagenes\cartas\" & Int((Limite1 - Limite2 + 1) * Rnd + Limite1) & ".jpg" 
y por lo que veo tus fotos se tienen que llamar desde 1.jpg hasta 52.jpg

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #5 (permalink)  
Antiguo 13/08/2007, 16:00
Avatar de Spike_ak  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 442
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Escoger imagen al azar de 1 carpeta y mostrarla

No, ya se. Igual no funciona.
El STR me dijo que se lo agregue un amigo, al ver que no funcionaba con el INT.
__________________
*****************************************
la Ignorancia es la fuerza
  #6 (permalink)  
Antiguo 15/08/2007, 21:01
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Escoger imagen al azar de 1 carpeta y mostrarla

que raro che,pero ya se lo que es lo que pasa es que el resultado del numero que genera el random esta fuera del intervalo de los limites y te da una foto que no la encuentra y a veces da negativo por ejemplo -2.jpg ,trata de acomodar la formula para que te den los numeros justos del 1 al 52 y no se pase del 52 ni sea mas chico que el 1.

y sino probate esta otra funcion basica:

Código:
Private Sub Command1_Click()
imagen = Int(Rnd * 10) + 1
Picture1.Picture = LoadPicture(App.Path & "\" & imagen & ".jpg")
End Sub
el valor que le des a la multiplicacion del random es el maximo valor de la foto,en este caso es un 10 ,en tu caso ponele un 52.pero como veo que es un juego de cartas o algo parecido seria bueno que le veas las funciones para generar numeros aleatorios no repetidos.

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein

Última edición por seba123neo; 15/08/2007 a las 21:38
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:26.