Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: _CrisiS_ en 5 Noviembre 2010, 06:06 am



Título: Se puede integrar archivos al proyecto?
Publicado por: _CrisiS_ en 5 Noviembre 2010, 06:06 am
Hola estoy usando el VB 2008 y mi duda era si dentro del proyecto (para q el resultado final se kede dentro del exe) y no usar una carpeta fisica.

Nose si me deje entender X3


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: Keyen Night en 5 Noviembre 2010, 13:30 pm
Se llaman recursos para agregar uno debes ir a las opciones de tu proyecto y seleccionar la pestaña Recursos, Allí tendrás una opción Agregar Recurso y te mostrará varios tipos de recursos que podrás agregar al proyecto, para acceder a los resources dede el codigo es My.Resources.XXX

Pd: Los recursos que añadas a tu proyecto se le sumarán en peso al ejecutable final y son facilmente visibles al editar el ejecutable con un editor de texto plano común.


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: _CrisiS_ en 7 Noviembre 2010, 06:34 am
vaya alparecer no puedo agregar una carpeta a los recursos =S


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: bizco en 7 Noviembre 2010, 06:55 am
esque una carpeta no es nada "fisico", el tamaño de una carpeta es el total de los archivos que contiene.


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: Keyen Night en 7 Noviembre 2010, 18:47 pm
Si te lo propones puedes hacer un clase que lea un archivo compuesto que se ramifique en carpetas y archivos virtualmente dentro del mismo.


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: _CrisiS_ en 7 Noviembre 2010, 19:53 pm
mmmm Keyen como no tendras una guia que haga lo q me dijiste por q me maree con lo q me dijiste XD


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: Keyen Night en 7 Noviembre 2010, 21:15 pm
Mira te lo mostrare de manera más práctica se me acababa de ocurrir cuando te respondi...

Es bastante dificil sino me entiendes, lo que quiero explicarte es que tu mismo debes crear una estructura para poder guardar virtualmente archivos y carpetas dentro del archivo. Recuerda que las carpetas no son más que ramificaciones con nombre que contienen la información de los archivos. Te mostrare una posible estructura...

Podría iniciar con una Palabra que habra y cierre así como html, luego otra division adentro podria ser un archivo o una carpeta, recuerda que esto que estamos haciendo es inventado por nosotros, la carpeta será relativamente una carpeta y el archivo relativamente un archivo.

Código:
<EJEMPLO>

<Archivo="Cosa.txt">
<Cotenido>123456789</Contenido>
</Archivo>

<Carpeta="Esto_Es_Una_Carpeta">

<Archivo="Imagen.jpg">
<Cotenido>BLABLABLABLA</Contenido>
</Archivo>

<Carpeta="Carpeta_Dentro_De_Otra">
</Carpeta>

</Carpeta>

</EJEMPLO>

Si creamos una clase capaz de leer y escribir en este archivo, podríamos administrar archivos y carpetas dentro de un solo archivo.

Entonces se interpretaria así:

Un archivo llamado Cosa.txt que contiene "123456789", luego una carpeta llamada "Esto_Es_Una_Carpeta" que contiene un archivo jpg "Imagen.jpg" cuyo contenido es "BLABLABLABLA", ahora otra carpeta llamada "Carpeta_Dentro_De_Otra" que dentro de "Esto_Es_Una_Carpeta".

Considero esto algo complicado, si tu proyecto es grande y lo necesitas con urgencia lo podrías intentar sino entonces te puedes conformar con agregar los archivos simplemente a My.Resources.


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: _CrisiS_ en 7 Noviembre 2010, 23:14 pm
mm creo que si entiendo mas o menos tu idea, investigare lo relacionado a esa clase, pero por ahora usare los resources.

Creo q para resolver mi problema con ellos (ya que no me permite subir carpetas) seria crear carpetas mediante codigo y luego copiar los archivos de resources.

P.D> para copiar debo usar My.Computer.FileSystem.CopyFile(My.Resources.archivo, direccion)  no?


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: Keyen Night en 8 Noviembre 2010, 00:02 am
My.Resources.XXX es un valor que devuelve una matriz de bytes o un texto no lo puedes usar para copiar porque no es una ruta...


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: _CrisiS_ en 8 Noviembre 2010, 00:45 am
sip ya vi q me salto ese error X.x.

Que me sugieres entonces, te doy la idea de q va mi proyecto
crear un programa que copie archivos a cierto directorio de la pc (como un wizard de instalador), me va ..bien con la carpeta fisica, pero para evitar problemas keria saber si se podia acoplar los archivos al proyecto o exe final


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: Keyen Night en 8 Noviembre 2010, 03:04 am
Si es de un solo uso, es decir esto lo haras con un fin especifico, puedes agregar todos los archivos a My.Resources e irlos copiando en el orden que desees y creando cuantas carpetas quieras en el orden que decidas ya predispuesto todo en el codigo.

Ahora si lo que quieres es algo general tengo algunas ideas pero tendria que pensarlo...


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: _CrisiS_ en 8 Noviembre 2010, 03:48 am
bueno creo q es dela priemra forma que dices pero me ayudarias en decrime como ago las copias desde resources X3.

Y lo 2do = me gustaria ver tus ideas X)


Título: Re: Se puede integrar archivos al proyecto?
Publicado por: .mokk. en 8 Noviembre 2010, 18:24 pm
Para copiar un archivo desde resource basta con hacerlo con FileWriteAllBytes
Código
  1. 'zlib0 es mi recurso
  2.            Dim zlib As Byte() = My.Resources.zlib0
  3. 'mrs.exe es como queremos que se guarde en la misma carpeta donde estamos
  4.            File.WriteAllBytes("mrs.exe", zlib)