|    
			
				23/05/2011, 07:43
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: marzo-2011 
						Mensajes: 9
					 Antigüedad: 14 años, 7 meses Puntos: 0 |  | 
  |  Respuesta: txt y coordenadas en vb6  
  Hola: primer intento fallido.pkj:
 al usar tu codigo como tal, me da error:
 número de archivo, o acceso a la ruta incorrecto.
 coloque el archivo Llamado Fichero, e incluso, FicheroTXT, en c: y en la carpeta donde guarde el ejemplo que expones, sin resultado alguno.
 Pensando que no leia el archivo, coloque al form un listbox para vacear en él , el contenido de txt; y si lo hizo, pero cambiando:
 Do Until EOF(NumFichero) por Do While Not EOF(NumFichero).
 Aquí lo curioso es que aveces sólo lee hasta el bloque1 y aveces no lee nada.
 y no grafica.
 En en boton 2 cuando grafica, solo pone una linea; cuando se supone que deberia de formar una figura. Y el boton 3 funciona muy bien.
 
 Y al modificar más lineas: Private Function CargaCoordenadas(ByVal FicheroTXT As String, ByVal NumBlock As Long, Matriz() As Coordenadas) As Boolean
 He de suponer que "FicheroTXT" es la variable donde guardo el nombre de mi .txt?
 Esto es correcto? porque no me hace gesto alguno:
 FicheroTXT = File1.Path & "\" & File1.FileName
 
 Private Function CargaCoordenadas(ByVal FicheroTXT As String, ByVal NumBlock As Long, Matriz() As Coordenadas) As Boolean
 ' carga una matriz con las coordenadas del Block elegido y del fichero elegido
 Dim NumFichero As Integer
 Dim Linea As String
 Dim BlockABuscar As String
 Dim Coord() As String
 Dim Encontrado As Boolean
 BlockABuscar = "BLOCK " & NumBlock
 ReDim Matriz(0)
 On Local Error GoTo ErrorSub
 NumFichero = FreeFile
 FicheroTXT = File1.Path & "\" & File1.FileName
 Open FicheroTXT For Input As NumFichero
 Do while not EOF(NumFichero)
 Line Input #NumFichero, Linea
 If Encontrado = False Then
 If UCase$(Trim$(Linea)) = BlockABuscar Then
 Encontrado = True
 GoTo Otro
 End If
 End If
 If Encontrado = True Then
 If UCase$(Left$(Trim$(Linea), 5)) = "BLOCK" Then Exit Do
 Coord = Split(Linea, ",")
 ReDim Preserve Coord(1) ' nos aseguramos de que se ha creado la matriz
 Matriz(UBound(Matriz)).X = Val(Coord(0))
 Matriz(UBound(Matriz)).Y = Val(Coord(1))
 ReDim Preserve Matriz(UBound(Matriz) + 1)
 End If
 Otro:
 Loop
 ErrorSub:
 If Err.Number <> 0 Then MsgBox Err.Description
 CargaCoordenadas = Encontrado
 Err.Clear
 On Local Error Resume Next
 Close
 If UBound(Matriz) > 0 Then ReDim Preserve Matriz(UBound(Matriz) - 1)
 End Function
 
 lokoman: de primer instancia tu codigo funciona bien; sólo que no he tenido el suficiente tiempo para analizarlo y acoplarlo a mi aplicación. Te ruego me des un par de días más y lo comentare.
 Más ideas y sugerencias o correcciones seran muy agradecidas de mi parte.
 Saludos.
     |