Título: Duplicar un item en un listview Publicado por: Snort en 23 Diciembre 2006, 13:46 pm Vereis, eske stoi haciendo un juegecillo, y le estoi poniendo una tabla de maximas puntuaciones, la tabla (listview) tiene 43columnas, por orden son nombre, tiempo1, tiempo 2, y se guia por la 1º, nombre. El codigo es este:
Código: MsgBox "Has conseguido un nuevo récord.", vbInformation, "Enhorabuena!!!" Bueno, pues cuando consigues una maxima puntuacion te la pone bien, pero a la segunda qe consigues te añade los datos de la columna de tiempo1 y tiempo 2, y el nombre (Pedro) qeda intacto.Dim X As ListItem Set X = Form2.ListView1.ListItems.Add(, , "Pedro") ' Estas dos lineas solo son para añadir datos a la variable tempo, no tienen nada qe ver If min >= 1 Then Tempo = min & " min, " If sec >= 1 Or dec >= 1 Then Tempo = Tempo & sec & "," & dec & " seg." ' X.SubItems(1) = Tempo X.SubItems(2) = TimSeg End If Alguien sabe como duplicar el item para qe vaya creando mas items iguales y no sobreescriba los existentes? Título: Re: Duplicar un item en un listview Publicado por: Hans el Topo en 23 Diciembre 2006, 13:54 pm nose si te entendi,
Código: MsgBox "Has conseguido un nuevo récord.", vbInformation, "Enhorabuena!!!" Dim X As new form2.Listview1.lisitems ' Estas dos lineas solo son para añadir datos a la variable tempo, no tienen nada que ver If min >= 1 Then Tempo = min & " min, " If sec >= 1 Or dec >= 1 Then Tempo = Tempo & sec & "," & dec & " seg." ' X.SubItems(0) = "Pepe" X.SubItems(1) = Tempo X.SubItems(2) = TimSeg form.listview1.listitems.add X End If Título: Re: Duplicar un item en un listview Publicado por: CeLaYa en 23 Diciembre 2006, 14:19 pm podrías explicarlo de otra manera no entiendo muy bien, con ese código debería estar agregandote un item cadavez que lo ejecutes, checa si no tienes un ListView.ListItems.Clear o algo así
Título: Re: Duplicar un item en un listview Publicado por: Hans el Topo en 23 Diciembre 2006, 14:24 pm aligual lo que hace es machacar todo el rato el mismo objeto y por eso no se lo agrega
Título: Re: Duplicar un item en un listview Publicado por: ~~ en 23 Diciembre 2006, 14:26 pm Pueva a simplemente a agregar un objeto y luego lo ordena por el tiempo (el de menor tiempo arriba) y ya esta ;) Mira a ver y nos cuentas
1S4ludo Título: Re: Duplicar un item en un listview Publicado por: Snort en 23 Diciembre 2006, 14:32 pm aligual lo que hace es machacar todo el rato el mismo objeto y por eso no se lo agrega Efectivamente, eso es lo qe hace, no me he explicao muy bienPueva a simplemente a agregar un objeto y luego lo ordena por el tiempo (el de menor tiempo arriba) y ya esta ;) Mira a ver y nos cuentas lo tengo en sorted = true y sortkey = 2, es decir, siempre me los ordena por tiempo 2 mayor, pero al machacarlo encima, el nombre se duplica, y el tiempo 1 y tiempo2 se suman a los anteriores (suma de frase, [frase+frase] no suma numerica)1S4ludo Título: Re: Duplicar un item en un listview Publicado por: Hans el Topo en 23 Diciembre 2006, 15:00 pm ahora no me acuerdo como se hacia para agregar objetos y que no se destruyesen ni osbreescribiesen y mira que lo tuve que hacer con panels xD
lo que se me ocurre ahora es que crees un array de objetos Código: 'esto por el general dim x(42) as new form2.listview1.lisitems dim indice as integer 'esto en tu procedimiento on error goto actimel MsgBox "Has conseguido un nuevo récord.", vbInformation, "Enhorabuena!!!" ' Estas dos lineas solo son para añadir datos a la variable tempo, no tienen nada que ver If min >= 1 Then Tempo = min & " min, " If sec >= 1 Or dec >= 1 Then Tempo = Tempo & sec & "," & dec & " seg." ' X(indice).SubItems(0) = "Pepe" X(indice).SubItems(1) = Tempo X(indice).SubItems(2) = TimSeg form.listview1.listitems.add X(indice) indice=indice+1 End If exit sub actimel: msgbox "Existen 43 objetos puntuaciones en la clasificacion..." Título: Re: Duplicar un item en un listview Publicado por: CeLaYa en 23 Diciembre 2006, 15:11 pm aver vamos a ver si entendí. Lo que quieres hacer es que cuando agregas un Item te muestre:
Nombre Tiempo1 Tiempo2 Pedro 1 1 y si vas agregando más items ponga: Nombre Tiempo1 Tiempo2 Pedro 1 1 Pedro 2 2 bueno si el problema es el objeto "x" pues quitalo, y pones tú código así: Código: Listview1.ListItems.add ,,"Pedro" Listview1.ListItems.subitems(1) = tiempo1 Listview1.ListItems.subitems(2) = tiempo2 Título: Re: Duplicar un item en un listview Publicado por: Snort en 23 Diciembre 2006, 16:13 pm Gracias a todos por las respuestas ya lo he solucionado, habian algunos errores pekeñitos por ahi... xD
Saludos ;) |