Visual Basic - ALGUIEN QUE SEPAA!! (No lo entiendo)

Life is soft - evento anual de software empresarial
 
Vista:

ALGUIEN QUE SEPAA!! (No lo entiendo)

Publicado por Abel (23 intervenciones) el 18/09/2004 19:31:13
Este es el problema:
Yo tengo dos textboxes que guardo a un solo archivo usando este código:

Dim a As String
a = Text1.Text & "/" & Text2.Text
CD.Filter = "Archivo de Texto (*.txt)|*.TXT"
CD.ShowSave
If CD.FileName <> "" Then
Open CD.FileName For Output As #1
Print #1, a
Close #1
End If

Ningún problema hasta ahora. Ahora también tengo un código para abrir este archivo, pero que se abra en los dos txtboxes tal y como se ha guardado:

Dim a As String
Dim b As Integer
CD.Filter = "Archivo de Texto (*.txt)|*.TXT"
CD.ShowOpen
If CD.FileName <> "" Then
Open CD.FileName For Input As #1
Input #1, a
b = InStr(a, "/")
Text1 = Left(a, b - 1)
Text2 = Right(a, Len(a) - b)
Close #1
End If

Aquí esta el problema! A la hora de abrir el archivo, si solo he guardado mas o menos dos frases en cada txtbox se me abre sin problemas. Pero si guardo un parrafo (mas o menos) me da que hay un error #5 en la linea:

Text1 = Left(a, b - 1) "Invalid procedure call or argument"

El Text2 se carga bien, solo falla el Text1 que es donde está el error.

ALGUIEN ME PUEDE AYUDAR A SOLUCIONAR ESTE PROBLEMA?? DOY LAS GRACIAS DE ANTEMANO A CUALQUIERA QUE SE PREOCUPE EN LEER ESTE PROBLEMA.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ALGUIEN QUE SEPAA!! (No lo entiendo)

Publicado por miguel (1042 intervenciones) el 18/09/2004 21:10:36
Ok cuando grabas la informacion de los textbox estos se pasan tal y como lo capturastes (capturastes mas de un parrafo por cada textbox)ahora bien el en archivo de texto el caracter "/" quedo por decirlo en el segundo parrafo ahora bien cuando intentas buscar el caracter "/" (b = InStr(a, "/") ) no le encuentra en el primer parrafo y te regresa 0 y cuando intentas hacer esto Text1 = Left(a, b - 1) b =0 y por lo tanto arroja el error, bueno espero y me hayas entendido, pero la solucion te la pongo aqui mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ALGUIEN QUE SEPAA!! (No lo entiendo)

Publicado por miguel (1042 intervenciones) el 18/09/2004 21:11:42
Solución:
Private Sub cmdAbrir_Click()
Dim a As String
Dim b As Integer
Dim Continua As Boolean
CD.Filter = "Archivo de Texto (*.txt)|*.TXT"
CD.ShowOpen
If CD.FileName <> "" Then
Continua = False
Open CD.FileName For Input As #1
Do While Not EOF(1)
Line Input #1, a
If Not Continua Then
If InStr(a, "/") <> 0 Then
If Text1 = "" Then
Text1 = Text1 & Mid(a, 1, InStr(a, "/") - 1)
Else
Text1 = Text1 & vbNewLine & Mid(a, 1, InStr(a, "/") - 1)
End If
b = InStr(a, "/")
Text2 = Right(a, Len(a) - b)
Continua = True
Else
If Text1 = "" Then
Text1 = Trim(a)
Else
Text1 = Text1 & vbNewLine & a
End If
End If
Else
Text2 = Text2 & vbNewLine & a
End If
Loop
Close #1
End If
End Sub
Te la puse en dos partes debido a que no me dejaba, bueno pero aqui esta si tienes una duda puedes mandarme un correo o si quieres te paso el ejemplo para que lo entiendas mejor, saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ALGUIEN QUE SEPAA!! (No lo entiendo)

Publicado por Abel (23 intervenciones) el 19/09/2004 10:22:27
Miguel! Muchisimas gracias por tu ayuda, no sabes el problema que me has solucionado! Te agradezco mucho que me lo hayas puesto tan facil poniendome el código que tenia que introducir y que te hayas molestado en escribirlo!! MUCHAS GRACIASSSS!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar