elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Como rotar estas promociones...?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como rotar estas promociones...?  (Leído 1,879 veces)
luison

Desconectado Desconectado

Mensajes: 95


Ver Perfil
Como rotar estas promociones...?
« en: 19 Abril 2011, 18:13 pm »

Salu2

Tengo una tabla con promociones:
ID -  DESCRIPCION -   INICIA -     TERMINA
1      3 x 2 Cereales   19/04/2011   25/04/2011
2      4 X 3 Pastas       20/04/2011  30/04/2011


Código
  1. Dim recset As New Recordset
  2.    Set recset = Conexion.Execute("SELECT descripcion from promos where termina >='" & Date & "'")
  3.  
  4.            If recset.EOF = False Then
  5.  
  6.                    While Not recset.EOF
  7.                            'mostrar promocion #1
  8.                            'esperar 1 minuto
  9.                            'mostrar promocion # 2
  10.                            'esperar 1 minuto
  11.                            '...
  12.                            recset.MoveNext
  13.                    Loop
  14.            End If
  15.  
  16.    Set recset = Nothing
  17.  

La idea es mostrar la promoción #1, esperar un tiempo razonable mientras se lee la descripción, luego mostrar la siguiente promoción, esperar y asi sucesivamente.

He pensado tal vez se pueda hacer con
Código
  1. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  2.  

O  posiblemente exista una forma mas eficiente.

Espero puedan ayudarme  con algunos tips.

Gracias, seguiremos por aqui intentando.



En línea

luison

Desconectado Desconectado

Mensajes: 95


Ver Perfil
Re: Como rotar estas promociones...?
« Respuesta #1 en: 19 Abril 2011, 19:37 pm »

Hasta ahorita he logrado un avance con 2 timers, un par de arreglos para guardar la info de la consulta:

Código
  1. Public Sub consulta_promos()
  2.  
  3. Dim recset As New Recordset
  4.    Set recset = Conexion.Execute("SELECT descripcion,img from promos where fecha_termina >= #" & Date & "#")
  5.  
  6.            If recset.EOF = False Then
  7.  
  8.                    Do While Not recset.EOF
  9.  
  10.                            mtextos(posT) = recset!descripcion
  11.                            mImages(posI) = recset!img
  12.  
  13.                            posT = posT + 1
  14.                            posI = posI + 1
  15.                            recset.MoveNext
  16.                    Loop
  17.            End If
  18.  
  19.            Set recset = Nothing
  20. End Sub
  21.  



Código
  1. Private Sub tmrPromociones_Timer()
  2.  
  3.  
  4. If tope > posT Then
  5. tope = 1
  6. lblMsjsPromos.Caption = mtextos(tope)
  7.    Me.picPromos.LoadImage_FromFile (App.Path & "/img_promos/" & mImages(tope))
  8.    Me.picPromos.AutoSize = True
  9. tope = tope + 1
  10. Else
  11.    lblMsjsPromos.Caption = mtextos(tope)
  12.    Me.picPromos.LoadImage_FromFile (App.Path & "/img_promos/" & mImages(tope))
  13.    Me.picPromos.AutoSize = True
  14. tope = tope + 1
  15. End If
  16.  
  17.    tmrPromociones.Enabled = False
  18.    Me.tmrReiniciaPromos.Enabled = True
  19. End Sub
  20.  

Estoy provocando varios escenarios / casos para ver si esta forma es la adecuada


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Como rotar estas promociones...?
« Respuesta #2 en: 20 Abril 2011, 20:38 pm »

En lugar un timer y el Sleep ( Este te duerme el hilo ) puedes usar:

Wait()

Asi:

Código
  1.  
  2.  
  3. option explicit
  4.  
  5. private recset As Recordset'// No hay que hacerle New ya que olo lo usaremos como referenciador al que obtendremos.
  6. ' // En cualquier otro proceso...
  7.    Set recset = Conexion.Execute("SELECT descripcion,img from promos where fecha_termina >= #" & Date & "#")
  8. private bExit  as boolean
  9.  
  10. Public Sub Girar_Promos()
  11. on error goto _ErrReport:
  12. dim simg$
  13.    if ( not recset is nothing ) then
  14.        with recset
  15.            Do While (bExit = false)
  16.                simg$ = App.Path & "/img_promos/" & recset!img
  17.                if ( dir(simg$,vbarchive) <> "" then
  18.                    picPromos.LoadImage_FromFile  (simg$)
  19.                    lblMsjsPromos.Caption         = recset!descripcion
  20.                    call wait( 5 ) ' // Cada 5 segundos.
  21.                else
  22.                    debug.print "Error Al cargar: "; simg$
  23.                end if
  24.                if ( .EOF ) then
  25.                    .MoveFirst
  26.                else
  27.                    .MoveNext
  28.                end if
  29.            loop
  30.        end with
  31.    end if
  32. exit sub
  33. _ErrReport:
  34.    Debug.print "Error Con el RecordSet"
  35. End Sub
  36.  
  37.  

Dulces Lunas!¡.
.
« Última modificación: 20 Abril 2011, 20:42 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pequeño montaje y ¿cómo rotar este ángel?
Diseño Gráfico
nichihack 2 4,743 Último mensaje 10 Febrero 2011, 19:24 pm
por nichihack
pygtk como rotar imágenes???
Scripting
p4nd4criss 1 1,861 Último mensaje 6 Septiembre 2012, 11:40 am
por fallout20xx
Ninguna geo-restricción en Netflix, descuentos y promociones online. Estas ...
Noticias
wolfbcn 0 921 Último mensaje 7 Febrero 2016, 15:10 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines