Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: hackertotal22 en 8 Agosto 2011, 13:03 pm



Título: Duda con lectura de un archivo de recursos
Publicado por: hackertotal22 en 8 Agosto 2011, 13:03 pm
Buenas,yo estoy creando una dll que depende de un archivo llamado Data1.txt pero yo no quiero que si le paso a alguien la dll le tenga que pasar también el archivo txt
Por eso quiero agregarlo a los recursos de la dll y hasta lo he conseguido,pero luego quiero leer el archivo txt cuando se ejecuta la dll y quiero leerlo sin extraerlo y escribo lo siguiente:

Código
  1. Dim texto As String
  2.                    Dim cargador As New System.IO.StreamReader(My.Resources.Data1)
  3.                    texto=cargador.ReadToEnd
  4.  

Bueno,pues haciendo eso me da el siguiente error:

Error de resolución de sobrecarga porque ninguna de las funciones 'New' a las que se tiene acceso se puede llamar con estos argumentos:
    'Public Sub New(path As String)': Un valor de tipo '1-matriz dimensional de Byte' no se puede convertir en 'String'.
    'Public Sub New(stream As System.IO.Stream)': Un valor de tipo '1-matriz dimensional de Byte' no se puede convertir en 'System.IO.Stream'.

Sabeis como podría arreglarlo??


Título: Re: Duda con lectura de un archivo de recursos
Publicado por: Keyen Night en 8 Agosto 2011, 17:29 pm
En My.Resources los recursos se guardan o en Binario o en String eso lo decide el compilador automáticamente, no se guardan como un "archivo" y no son una ruta ni un Stream para abrirlos con StreamReader. Ya My.Resources.Data1 es una matriz de bytes. Si deseas transformarlo en String, entonces usa:

Código
  1. System.Text.Encoding.Default.GetString(My.Resources.Data1)

Si lo quieres en Matriz de Bytes ya está así :xD

Si tú preocupación es leerlo realmente con un Stream entonces crea un Stream inicializalo como un MemoryStream con My.Resources.Data1 y abrelo con StreamReader.


Título: Re: Duda con lectura de un archivo de recursos
Publicado por: hackertotal22 en 9 Agosto 2011, 11:37 am
Gracias me ha servido perfectamente!!!