Escribir un .txt con vb

Iniciado por Xrage, 9 Junio 2005, 07:54 AM

0 Miembros y 3 Visitantes están viendo este tema.

Xrage

tengo el siguien problema: lo que quiero hacer es que al hacer click sobre un boton se guarde en un archivo .txt los datos de unas cajas de texto, el problema es que siempre me lo guarda sobre la misma linea y lo sobre escribe.... Como puedo hacer para decir que cada ves que aprete el boton valla a una linea distinta????

Les copio el codigo :) desde ya gracias

Private Sub Command2_Click()
Dim canalLibre As Integer
'Obtenemos un canal libre que nos dará
'el sistema oparativo para poder operar
canalLibre = FreeFile
'Abrimos el fichero en el canal dado
Open "C:\fichero.txt" For Output As CDbl(TextAlumnos.Text)
'Escribimos el contenido del TextBox al fichero
Print #canalLibre, TextNombre.Text & "  " & TextLegajo.Text & "  "; TextTotal.Text
Close #canalLibre
TextCanallibre.Text = canalLibre
End Sub

programatrix

Tiene facil solución, pon varios print
ej:
#print canalLibre, dato1
#print canalLibre, dato2
#print canalLibre, dato3
Creo que asi te guarda cada uno en una liniea, creo.


Xrage

Cita de: reydelmundo11 en  9 Junio 2005, 15:48 PM
Tiene facil solución, pon varios print
ej:
#print canalLibre, dato1
#print canalLibre, dato2
#print canalLibre, dato3
Creo que asi te guarda cada uno en una liniea, creo.



Nop asi no se puede :S, la idea es que por ejemplo.. cargo los datos de 1 alumno en una caja de texto entonces con un boton le pongo que lo garde en el .txt, despues apretar otro boton para decirle que escriba en la linea de abajo y asi cuando vuelva a apretar el boton para guardar, lo escriba en el renglon de abajo :)

a ver si ahi se entiende :P

Slasher-K

Abriendo el archivo en modo Append siempre va a escribir al final del archivo :).



Private Sub cmdSave_Click()
          Dim hFile%

  hFile = FreeFile

  Open "C:\MyFile.txt" For Append As #hFile
  Print #hFile, "Mis datos"
  Close #hFile
 
End Sub


Saludos.



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*

Xrage

Cita de: Slasher-K en 10 Junio 2005, 00:31 AM
Abriendo el archivo en modo Append siempre va a escribir al final del archivo :).



Private Sub cmdSave_Click()
          Dim hFile%

  hFile = FreeFile

  Open "C:\MyFile.txt" For Append As #hFile
  Print #hFile, "Mis datos"
  Close #hFile
 
End Sub


Saludos.

Gracias... pero ahora tengo otro problema :S... mira el codigo fuente del boton "guardar" me quedo asi:

Private Sub Comguardar_Click()
Dim canalLibre As Integer
'Obtenemos un canal libre que nos dará
'el sistema oparativo para poder operar
canalLibre = FreeFile
'Abrimos el fichero en el canal dado
Open "C:\fichero.txt" For Append As CDbl(TextAlumnos.Text)
'Escribimos el contenido del TextBox al fichero
Print #canalLibre, TextNombre.Text & "  " & TextLegajo.Text & "  "; TextTotal.Text
Close #canalLibre
End Sub

Pero cuando apreto un boton que sirve para pasar al prximo alumno y despues quiero apretar el boton "guardar" me dice: error 52, bud file name or number. y aparece en amarillo el renglon que dice: Print #canalLibre, TextNombre.Text & "  " & TextLegajo.Text & "

aca les paso el codigo del boton "pasar al proximo alumno"

Option1.Value = False
Option2.Value = False
Option3.Value = False
Option4.Value = False
Option5.Value = False
Option6.Value = False
Option7.Value = False
Option8.Value = False
Option9.Value = False
TextTotal.Text = 0
Text1.Text = 0
Text2.Text = 0
Text3.Text = 0
Text4.Text = 0
Text5.Text = 0
Text6.Text = 0
Text7.Text = 0
Text8.Text = 0
Text9.Text = 0
TextNombre.Text = " "
TextLegajo.Text = " "
NGrupo.Text = 1
TextAlumnos.Text = CDbl(TextAlumnos.Text) + 1


Bueno, si alguien puede decirme porque es eso les agradeceria :)

Xrage

ahhhh ok no sabia, la proxima lo escribo como me decis

que alguien me responda :(

sch3m4

Es porque no hay coherencia entre el id del fichero cuando lo abres, y cuando trabajas con él:


Open "C:\fichero.txt" For Append As CDbl(TextAlumnos.Text)
'Escribimos el contenido del TextBox al fichero
Print #canalLibre, TextNombre.Text & "  " & TextLegajo.Text & "  "; TextTotal.Text
Close #canalLibre


Prueba esto:


Open "C:\fichero.txt" For Append As #1
'Escribimos el contenido del TextBox al fichero
Print #1, TextNombre.Text & "  " & TextLegajo.Text & "  " & TextTotal.Text
Close #1
SafetyBits

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..

p0w3r f1y

Creo que yo usaba eso y funciona perfectamente.... Ahora mismo no me acuerdo....

Print #1, Text1.Text & vbcrlf & ....