Autor
|
Tema: Método File.ReadLines (Visual Basic 2013) (Solucionado) (Leído 4,732 veces)
|
Tazmania40
Desconectado
Mensajes: 42
|
Buenas, ya estoy acabando mi proyecto y me encuentro con este problema "ReadLines no es miembro de System.IO.File" Se que son las Net.Framework porque el proyecto lo tengo con 3.5, pero no quiero cambiarlo a 4.0 o 4.5 (ya los próximos utilizaré esas versiones), pero en este proyecto deseo poder utilizar el programa en equipos con Windows XP. Hay alguna otra forma de leer filas en los archivos, si tengo que utilizar otra importación o cualquier otro comando que lea filas y lo guarde en un array de texto. Tal y como aparece en el siguiente código, que repito funciona a partir de la versión Net Framework 4.0, pero yo lo requiero para la Net Framework 3.5 (en Windows Form). Gracias y saludos Imports System.IO Dim Valor(4) As String For A = 0 To 4 Valor (A ) = File. ReadLines(ARCHIVOC )(A ) 'Leer una sola líneaNext A
|
|
« Última modificación: 22 Junio 2016, 18:41 pm por Tazmania40 »
|
En línea
|
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.866
|
Puedes hacerlo de la siguiente manera: Dim textLines As New List(Of String) Using sr As New StreamReader (File. OpenRead("Archivo.txt")) For count As Integer = 0 To 4 textLines.Add(sr.ReadLine()) Next count End Using
PD: Si lo prefieres puedes usar un Array de tamaño fijo, como en tu ejemplo. Saludos
|
|
|
En línea
|
|
|
|
Tazmania40
Desconectado
Mensajes: 42
|
Muchas gracias a los dos, funciona la perfección. Voy a implementarlo al programa principal. Este es todo el código del ejemplo para Net.Framework 3.5 Imports System.IO Public ARCHIVOC As String = Application.StartupPath & "\DisGlobosCla.dat" Public TopClasi(4) As String Dim A As Integer Using SR As New StreamReader (File. OpenRead(ARCHIVOC )) For A = 0 To 4 TopClasi(A) = SR.ReadLine() Next A End Using
A ver si cuando acabe me pongo a mirar el tema de ficheros, puesto que en este juego he creado un archivo de clasificación con un archivo plano (aunque he puesto extensión dat) y lo he cifrado para que no se entienda y no hagamos trampas cambiando valores, pero me imagino que lo suyo es poner un archivo binario como hacía con vb6. Saludos
|
|
« Última modificación: 22 Junio 2016, 18:41 pm por Tazmania40 »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.866
|
A ver si cuando acabe me pongo a mirar el tema de ficheros, puesto que en este juego he creado un archivo de clasificación con un archivo plano (aunque he puesto extensión dat) y lo he cifrado para que no se entienda y no hagamos trampas cambiando valores, pero me imagino que lo suyo es poner un archivo binario como hacía con vb6. En un lenguaje de alto nivel o abstracción como VB.NET, no necesitas crear un archivo de texto; si tu intención es crear un archivo de configuración de parámetros usados por tu aplicación, entonces .NET Framework te proporciona una manera guiada de llevarlo a cabo: la infraestructura My.Settings -esto creará un archivo de configuración intermediario, pero practicamente todo estará administrado por la aplicación, tú solo tienes que crear las propiedades (desde la pestaña de configuración de tu proyecto), y atribuirle un valor, y cargarlo cuando necesites usar dicho valor. Si aun así prefieres utilizar otro tipo de archivo intermediario sobre el que poder tener más control, entonces podrías utilizar la serialización binaria, serialización XML, o serialización JS que proporciona .NET Framework. Lee sobre la class BinaryFormatter, XmlSerializer, o JavaScriptSerializer. Obviamente la serialización binaria creará como resultado un archivo binario ilegible al ojo humano, pero yo te recomendaría la serialización XML por la versatilidad que ofrece este tipo de estructura y lo bien integrado que está en .NET, además, para "ocultar" algo siempre puedes utilizar los métodos de Base64 o algoritmos de Hashing o cifrado que puedes encontrar en la librería de classes de .NET. Saludos.
|
|
« Última modificación: 23 Junio 2016, 06:20 am por Eleкtro »
|
En línea
|
|
|
|
Tazmania40
Desconectado
Mensajes: 42
|
Gracias Elektro, como siempre das muchos temas para mirar. Yo soy lento pero constante, además como dije programo por hobby (aunque alguna base de datos con vb he realizado para la empresa). Tengo algunos temarios que todavía tengo que revisar y actualizarme de vb6 a vb.net y el tema de ficheros es uno. Gracias por los consejos y miraré varias formas de poder crear ficheros. De momento el procedimiento quedó de la siguiente manera y cumple su función, que no sea legible el archivo y si lo tocas porque no coincide las búsquedas que he realizado se vuelve a crear fichero con los parámetros por defecto. Paso código, por otro lado copié unas funciones de CIFRADO y DESCIFRADO que saqué de aqui también. Imports System.IO Public ARCHIVOC As String = Application.StartupPath & "\DisGlobosCla.dat" Public TopClasi(4) As String Public TextoC As String ' = Aqui asignamos el Texto Cifrado Public TextoSC As String ' = Asignamos el texto sin cifrar (para valores por defecto) Public Sub LeerArchivo_PasoArray() Try '1º Comprueba si el archivo no existe para crearlo If Not My.Computer.FileSystem.FileExists(ARCHIVOC) Then My.Computer.FileSystem.WriteAllText(ARCHIVOC, TextoC, False) End If '2º Desciframos el archivo, asignamos y volvemos a transladar al archivo TextoSC = My.Computer.FileSystem.ReadAllText(ARCHIVOC) 'Lee todo archivo TextoSC = DESCIFRA(TextoSC) My.Computer.FileSystem.WriteAllText(ARCHIVOC, TextoSC, False) '3º Lee archivo de texto (sin cifrar) y lo pasa a los Arrays Using SR As New StreamReader (File. OpenRead(ARCHIVOC )) For A As Integer = 0 To 4 TopClasi(A) = SR.ReadLine() 'Leer una sola línea Next A End Using '4º Vuelve a cifrar archivo y lo guarda TextoC = CIFRA(TextoSC) My.Computer.FileSystem.WriteAllText(ARCHIVOC, TextoC, False) Catch ex As Exception MsgBox(ex.Message, 16, "Error Archivo Clasificación") End Try End Sub
Puede que me repita un poco. El programa descifra el archivo, lo pasa a los array mediante filas para saber el orden de clasificación (mediante otro procedimiento ordeno y escribo), lo vuelvo a cifrar y guardar en el archivo. Saludetes
|
|
« Última modificación: 23 Junio 2016, 13:28 pm por Tazmania40 »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Método string.substring - Visual Basic 6.0
Programación Visual Basic
|
paula76
|
2
|
16,964
|
29 Junio 2007, 18:50 pm
por Hendrix
|
|
|
Estoy perdido... Visual Basic 2013
Programación Visual Basic
|
old.dude
|
2
|
2,036
|
5 Julio 2014, 15:17 pm
por old.dude
|
|
|
Introducir texto en un Formulario (Visual Basic 2013) (Solucionado)
.NET (C#, VB.NET, ASP)
|
Tazmania40
|
4
|
3,212
|
5 Octubre 2015, 10:37 am
por Tazmania40
|
|
|
Tema Gráficos. Movimientos Sprite. Visual Basic 2013 (Solucionado)
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Tazmania40
|
12
|
10,373
|
31 Octubre 2016, 20:25 pm
por Tazmania40
|
|
|
como ver la ip y mac de equipos en una red con visual basic 2013
.NET (C#, VB.NET, ASP)
|
sistemasyusa
|
0
|
2,506
|
7 Octubre 2017, 09:46 am
por sistemasyusa
|
|