Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: juni85 en 9 Enero 2011, 22:38 pm



Título: duda sobre un ejercicio vb 6
Publicado por: juni85 en 9 Enero 2011, 22:38 pm
 
Código
  1. [code=vb]
  2.  
  3. me gustaria guardar en un fichero los datos de una lista he probado estas dos cosas y no me funcion
  4. ---------------modo b
  5.  
  6. ' me da un error en              dato = Nombre & "=cstr('"List2.List(i)"')"
  7. el ejercicio http://www.megaupload.com/?d=RYXXUSP2
  8. Private Sub cb_confirmar_Click()
  9. Dim dato As String
  10. If List2.ListCount < 16 Then
  11. Open "c:\examen.txt" For Append As #1
  12. For i = 0 To List2.ListCount
  13. dato = Nombre & "=cstr('"List2.List(i)"')"
  14. Data1.Recordset.FindFirst dato
  15. If List2.List(i) = dato Then
  16. Write #1, Data1.Recordset.Fields("nombre"), Data1.Recordset.Fields("demarcacion"), Data1.Recordset.Fields("dorsal"), Data1.Recordset.Fields("partidos")
  17. End If
  18. Next
  19. Close #1
  20. Else
  21. MsgBox ("La convocatoria tiene mas de 16 jugadores")
  22. End If
  23. End Sub
  24. ---------------------- modo a
  25.  
  26. 'el ejercicio  http://www.megaupload.com/?d=RYXXUSP2
  27. ' intento guardar los datos a un fichero y no me escribe nada
  28. 'tengo un data1 con los siguientes datos Nombre, Demarcacion,dorsal,partidos
  29. 'el ejercicio consta de una lista con los nombre de los jugadores
  30. 'para guardar he puesto, pero no me hace nada
  31. Private Sub cb_confirmar_Click()
  32. Dim dato As String
  33. If List2.ListCount < 16 Then
  34. Open "c:\examen.txt" For Append As #1
  35. For i = 0 To List2.ListCount
  36. Do While Not Data1.Recordset.EOF
  37. dato = Data1.Recordset.Fields("nombre")
  38. If List2.List(i) = dato Then
  39. Write #1, Data1.Recordset.Fields("nombre"), Data1.Recordset.Fields("demarcacion"), Data1.Recordset.Fields("dorsal"), Data1.Recordset.Fields("partidos")
  40. End If
  41. Loop
  42. Next
  43. Close #1
  44. Else
  45. MsgBox ("La convocatoria tiene mas de 16 jugadores")
  46. End If
  47. End Sub
  48.  
  49.  
  50.  
  51.  
[/code]


Título: Re: duda sobre un ejercicio vb 6
Publicado por: juni85 en 11 Enero 2011, 15:56 pm
Nadie sabe nada??

Disculpenme si digo esto, pero es que estoy atascado por que luego tengo que seguir haciendo mas del ejercicio y como no se acceder al data pues asi estoy...


Título: Re: duda sobre un ejercicio vb 6
Publicado por: Psyke1 en 13 Enero 2011, 02:37 am
No tengo tiempo ahora mismo de mirar todo pero:
Código
  1. ' me da un error en              dato = Nombre & "=cstr('"List2.List(i)"')"
  2.  

Sería así:
Código
  1. dato = Nombre & List2.List(i)
Las comillas están mal puestas y no es necesaria la conversión a String por medio de CStr() porque el listbox ya te devueve un String.

DoEvents! :P


Título: Re: duda sobre un ejercicio vb 6
Publicado por: bomba1990 en 13 Enero 2011, 03:35 am
si lo que quieres es simplemente guardar el contenido de una lista en un archivo de texto simplemente has un write de la variable dato en el archivo y ya esta. pero en cambio si lo que uqieres usar un archivo de texto para almacenar informacion te recomiendo usar estructuras y archivos aleatorios ahora no me acuerdo muy bien como era pero te voy a pasar un link.

http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico7.htm#archivos-aleatorios


Título: Re: duda sobre un ejercicio vb 6
Publicado por: juni85 en 14 Enero 2011, 11:14 am
Hola y gracias por la ayuda pero me sigue dando el mismo error

Esta accion fue cancelada por el objeto asociado

Y para bomba1990:

Estoy mirando lo que me has pasado y de momento sollo quiero guardar en un archivo, luego mas adelante leere ese archivo y en lo que me has pasado no dice como "meterle mano" aun data1 o a lo mejor es que no lo entendido bien xD