• Domingo 22 de Diciembre de 2024, 14:40

Autor Tema:  Mostrar Los Top 10 Con Objeto Label(0)  (Leído 1796 veces)

Bluebird

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Mostrar Los Top 10 Con Objeto Label(0)
« en: Lunes 21 de Noviembre de 2005, 21:49 »
0
Holas.... :rolleyes:

Estoy intentando que a partir de una consulta de una base de datos access pueda mostrar en una pantallita la lista de los 10 temas mas escuchados...creo que no la estoy pegando en la matriz label(0).

El código es el que sigue:

Código: Text
  1.  
  2. Option Explicit
  3. Option Base 1
  4. Dim Tapa As Integer
  5. Dim creditos As Integer
  6. Dim Pasa_Pago As Boolean
  7.  
  8. ' Carga las tapas de los albunes
  9.  
  10. Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
  11. On Error GoTo err
  12.     cargaTemas Adodc1.Recordset!nalbum
  13.     If Dir("c:\mp3\imagenes\" & Adodc1.Recordset!nalbum & ".jpg") <> "" Then
  14.         PicTapa.Picture = LoadPicture("c:\mp3\imagenes\" & Adodc1.Recordset!nalbum & ".jpg")
  15.     Else
  16.         PicTapa.Picture = LoadPicture("c:\mp3\imagenes\noimage.jpg")
  17.        
  18.     End If
  19. err:
  20. End Sub
  21.  
  22. Private Sub cmdAdelante_Click()
  23. If Adodc1.Recordset.Bookmark <> Adodc1.Recordset.RecordCount Then
  24.     Adodc1.Recordset.MoveNext
  25.    
  26. End If
  27. End Sub
  28.  
  29. Private Sub cmdAtras_Click()
  30. If Adodc1.Recordset.Bookmark > 1 Then
  31.     Adodc1.Recordset.MovePrevious
  32.    
  33. End If
  34. End Sub
  35.  
  36. Private Sub cmdCreditos_Click()
  37. End Sub
  38.  
  39. Private Sub Form_KeyPress(keyascii As Integer)
  40. Dim nT As Integer
  41. Dim R As Integer
  42. Select Case keyascii
  43.    Case Asc("0")
  44.    
  45.     If List3.ListCount > 0 Then
  46.         Pasa_Pago = True
  47.         Mp1.Stop
  48.         Mp1.Open "c:\mp3\" & List3.ItemData(0) & ".mp3"
  49.         Mp1.Volume = -10
  50.         Graba_tema List3.ItemData(0)
  51.         List3.RemoveItem (0)
  52.     Else
  53.         Pasa_Pago = False
  54.         RandTema
  55.     End If
  56.  
  57.     Case Asc("6")
  58.         cmdAdelante_Click
  59.     Case Asc("4")
  60.         cmdAtras_Click
  61.     Case Asc("2")
  62.         If List1.ListCount - 1 <> List1.ListIndex Then
  63.             List1.ListIndex = List1.ListIndex + 1
  64.         End If
  65.     Case Asc("8")
  66.         If List1.ListIndex > 0 Then
  67.             List1.ListIndex = List1.ListIndex - 1
  68.         End If
  69.     Case Asc("5")
  70.     [COLOR=red]        If creditos = 0 Then
  71.             frametop10.Visible = True
  72. cargaadodc Adodc1, "SELECT TOP 10 Tema, Autor, NúmeroDeDuplicados FROM Reproducidos ORDER BY NúmeroDeDuplicados DESC;"
  73.                 For R = 0 To 9
  74.                         Label10(R).DataField = “”
  75.                         Label11(R).DataField = “”
  76.                 Next R
  77.             End If[/COLOR]
  78.        
  79.         If List1.ListIndex <> -1 Then
  80.             If creditos > 0 Then
  81.                 List2.AddItem Label3(0).Caption & " - " & List1.Text
  82.                 List2.ItemData(List2.NewIndex) = List1.ItemData(List1.ListIndex)
  83.                 creditos = creditos - 1
  84.                 Label1.Caption = creditos
  85.             End If
  86.                 If List2.ListCount > 0 Then
  87.                     ''''frmMP3Play.Show ''1
  88.                     For nT = 0 To List2.ListCount - 1
  89.                         List3.AddItem List2.List(nT)
  90.                         List3.ItemData(List3.NewIndex) = List2.ItemData(nT)
  91.                     Next
  92.                         List2.Clear
  93.                         Pasa_Tema
  94.                 End If
  95.         End If
  96.            
  97.      Case Asc("9") '''moneda
  98.             frametop10.Visible = False
  99.             creditos = creditos + TemXcre
  100.             Label1.Caption = creditos
  101.     Case Asc("7")
  102.         If InputBox("Cierra") = "77" Then ShutdownSystem EWX_POWEROFF
  103.  
  104.     Case vbKeyEscape
  105.         End
  106. End Select
  107. End Sub
  108.  
  109. Private Sub Form_Load()
  110. frametop10.Visible = False
  111. Pasa_Pago = False
  112. cargaadodc Adodc1, "SELECT Albumes.ID_Album as nalbum, Albumes.Album, Albumes.id_autor, Albumes.Genero, Autores.Autor FROM Autores INNER JOIN Albumes ON Autores.ID_Autor = Albumes.id_autor ORDER BY Genero,Autores.Autor;"
  113.    'Load Form2
  114.     WndShow1.WindowHandle = frmSeleccionTemas.hWnd
  115.     WndShow1.Show
  116. creditos = 0
  117. Label1.Caption = creditos
  118. Label7.Caption = IIf(TemXcre = 1, "1 Moneda = 1 Tema/s", "1 Moneda = " & TemXcre & " Temas/s")
  119. Mp2.FileName = App.Path & "\vidfon.wmv"
  120. Me.Width = Screen.Width
  121. Me.Height = Screen.Height
  122. End Sub
  123.  
  124. Private Sub Mp1_EndOfStream(ByVal Result As Long)
  125. pasa_siguiente
  126. End Sub
  127.  
  128. ' Carga temas Albunes
  129.  
  130. Private Function cargaTemas(ndisco)
  131. Dim Reco As ADODB.Recordset
  132. Dim nv
  133. Set Reco = New ADODB.Recordset
  134. Reco.Open "select * from temas where id_album = " & ndisco & " order by id_tema", Constri, adOpenStatic, adLockReadOnly
  135. nv = 1
  136. If Reco.RecordCount <> 0 Then
  137. List1.Clear
  138.     Do While Not Reco.EOF
  139.         List1.AddItem Format$(nv, "00") & " - " & Reco!Tema
  140.         List1.ItemData(List1.NewIndex) = Reco!Id_Tema
  141.         nv = nv + 1
  142.     Reco.MoveNext
  143.     Loop
  144. End If
  145. Reco.Close
  146. End Function
  147.  
  148. Private Sub Pasa_Tema()
  149.  
  150. If Pasa_Pago = False Then
  151.     If List3.ListCount > 0 Then
  152.        ' Mp3.Command = "Stop"
  153.         Pasa_Pago = True
  154.         Mp1.Stop
  155.         Mp1.Open "c:\mp3\" & List3.ItemData(0) & ".mp3"
  156.         Mp1.Volume = -50
  157.         Graba_tema List3.ItemData(0)
  158.         List3.RemoveItem (0)
  159.     Else
  160.         Pasa_Pago = False
  161.         RandTema
  162.     End If
  163. End If
  164.  
  165. End Sub
  166. Private Sub pasa_siguiente()
  167. Label8(0).Caption = ""
  168. Label8(1).Caption = ""
  169.  
  170.        If List3.ListCount > 0 Then
  171.         Pasa_Pago = True
  172.         Mp1.Stop
  173.         Mp1.Open "c:\mp3\" & List3.ItemData(0) & ".mp3"
  174.         Mp1.Volume = -10
  175.         Graba_tema List3.ItemData(0)
  176.         List3.RemoveItem (0)
  177.     Else
  178.         Pasa_Pago = False
  179.         RandTema
  180.     End If
  181.  
  182. End Sub
  183. Private Sub RandTema()
  184. Dim rec1 As ADODB.Recordset
  185. Dim Ntemas As Integer
  186. Dim nroTem As Integer
  187. Dim rn
  188. Label8(0).Caption = ""
  189. Label8(1).Caption = ""
  190. 'Label8(2).Caption = ""
  191.  
  192. Pasa_Pago = False
  193. Set rec1 = New ADODB.Recordset
  194. rec1.Open "select * from temas", Constri, adOpenStatic, adLockReadOnly
  195. Ntemas = rec1.RecordCount
  196. Randomize
  197. rn = Int((Ntemas * Rnd))   ' Genera valores aleatorios entre 1 y 6.
  198. 'rn = Int(Ntemas / 60 * Second(Time))
  199. rec1.MoveFirst
  200. rec1.Move rn
  201. nroTem = rec1(0)
  202. rec1.Close
  203. Set rec1 = Nothing
  204. Mp1.Stop
  205. TMRTema.Enabled = True
  206. Mp1.Volume = -2700
  207. Mp1.Open "c:\mp3\" & nroTem & ".mp3"
  208.  
  209. End Sub
  210.  
  211. Private Sub tmrPasa_Timer()
  212. tmrPasa.Enabled = False
  213. pasa_siguiente
  214. End Sub
  215.  
  216. Private Function Graba_tema(nTem As Integer)
  217. Dim con As ADODB.Connection
  218. Dim rec1 As ADODB.Recordset
  219. Set con = New ADODB.Connection
  220. Set rec1 = New ADODB.Recordset
  221. rec1.Open "SELECT Temas.Tema, Autores.Autor FROM Autores INNER JOIN (Albumes INNER JOIN Temas ON Albumes.ID_Album = Temas.Id_album) ON Autores.ID_Autor = Albumes.id_autor WHERE (((Temas.Id_Tema)=" & nTem & "));", Constri, adOpenStatic, adLockReadOnly
  222.     If rec1.RecordCount <> 0 Then
  223.         Label8(0).Caption = rec1(0)
  224.         Label8(0).Refresh
  225.         Label8(1).Caption = rec1(1)
  226.         Label8(1).Refresh
  227.                
  228.     End If
  229.  
  230. rec1.Close
  231. con.Open Constri
  232. con.Execute "insert into reproducciones (id_tema) values (" & nTem & ")"
  233. con.Close
  234. Set con = Nothing
  235. End Function
  236.  
  237. Private Sub TMRTema_Timer()
  238. Label4.Caption = Mp1.CurrentPosition
  239. If Pasa_Pago = False Then
  240.     If Mp1.CurrentPosition > 40 Then
  241.         Mp1.Stop
  242.         pasa_siguiente
  243.       '  TMRTema.Enabled = False
  244.     End If
  245. End If
  246. End Sub
  247.  
  248.  
  249.  


En el sector marcado en rojo es donde quiero que se ejecute...
Gracias y saludos :hola:
bLuEbIRD....JoIn ThE CoSmOs...

solcito

  • Miembro MUY activo
  • ***
  • Mensajes: 143
    • Ver Perfil
Re: Mostrar Los Top 10 Con Objeto Label(0)
« Respuesta #1 en: Lunes 21 de Noviembre de 2005, 22:08 »
0
Mira no leí tu código porq la verdad no tengo ganas :P

Pero si quieres mostrar registros de una base lo mejor en una datagrid o msflexgrid u ListBox, cualquier cosa menos labels :S

Saludos :hola:
Everything that has a beginning has an end.....

Bluebird

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: Mostrar Los Top 10 Con Objeto Label(0)
« Respuesta #2 en: Lunes 21 de Noviembre de 2005, 23:26 »
0
Solcito:

Si no quieres ver el código completo fijate solo en la sección "Case "5""...¿me recomiendas mejor esos otros métodos ?...

Gracias :hola:
bLuEbIRD....JoIn ThE CoSmOs...