Discussion:
bloquear y desbloquear un archivo
(too old to reply)
yodelmis
2007-10-25 18:27:29 UTC
Permalink
saludos :

mi problema es el siguiente:

quiero realizar una aplicacion para proteger determinados fichero de la red
y que no puedan ser borrados, ni alterados desde fuera de mi aplicacion. Es
decir quisiera que cuando un usuario tratara de abrir el fichero, windows
dijera que se se esta utilizando por otra aplicacion.
Bela Istok
2007-10-25 19:02:34 UTC
Permalink
Eso es Sencillo utiliza las opciones del File.Open para especificar que no
quieres compartir el acceso a esos archivos.

Saludos,

Bela Istok
Post by yodelmis
quiero realizar una aplicacion para proteger determinados fichero de la
red y que no puedan ser borrados, ni alterados desde fuera de mi
aplicacion. Es decir quisiera que cuando un usuario tratara de abrir el
fichero, windows dijera que se se esta utilizando por otra aplicacion.
Yuri Aponte
2007-10-25 19:43:54 UTC
Permalink
Si yodelmis consulto al grupo fue porque tenia una consulta/duda y queria
que le respondieran de una manera que la pueda ayudar. Decir "eso es
sencillo" es decirle a yodelmis "tu no sabes, yo si". y esa es una
descortesia.

Yodelmis, tu aplicacion esta en VB?, veo que has posteado a varios grupos de
programacion, seria bueno que especifiques que lenguaje usas para poder
darte una ayuda.
--
Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAapocalPUNTOcomPUNTOpe
Post by Bela Istok
Eso es Sencillo utiliza las opciones del File.Open para especificar que no
quieres compartir el acceso a esos archivos.
Saludos,
Bela Istok
Post by yodelmis
quiero realizar una aplicacion para proteger determinados fichero de la
red y que no puedan ser borrados, ni alterados desde fuera de mi
aplicacion. Es decir quisiera que cuando un usuario tratara de abrir el
fichero, windows dijera que se se esta utilizando por otra aplicacion.
Bela Istok
2007-10-25 21:30:39 UTC
Permalink
Hola Yuri, es interesante tu punto de vista, pero ese es uno de los
problemas del lenguaje, diferentes personas interpretan distinto las mismas
"sentencias".

Saludos,

Bela Istok
Post by Yuri Aponte
Si yodelmis consulto al grupo fue porque tenia una consulta/duda y queria
que le respondieran de una manera que la pueda ayudar. Decir "eso es
sencillo" es decirle a yodelmis "tu no sabes, yo si". y esa es una
descortesia.
Yodelmis, tu aplicacion esta en VB?, veo que has posteado a varios grupos
de programacion, seria bueno que especifiques que lenguaje usas para poder
darte una ayuda.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAapocalPUNTOcomPUNTOpe
Post by Bela Istok
Eso es Sencillo utiliza las opciones del File.Open para especificar que
no quieres compartir el acceso a esos archivos.
Saludos,
Bela Istok
Post by yodelmis
quiero realizar una aplicacion para proteger determinados fichero de la
red y que no puedan ser borrados, ni alterados desde fuera de mi
aplicacion. Es decir quisiera que cuando un usuario tratara de abrir el
fichero, windows dijera que se se esta utilizando por otra aplicacion.
Alejandro Hernández Cavanillas
2007-10-25 22:36:59 UTC
Permalink
Hola Yuri y Bela,

Realmente es tan sencilla la consulta?

Yo pienso igual.. eso de Es bien sencillo me la impresión de que quien lo
escribe cree saberlo todo, pero bueno...

Supingamos que no tengo la mas minima idea de como reaolver el problema
planteado por Yodelmis

Qué hice:
1.- Abri VB 6.0
2.- Puse con combobox
3.- En el evento click puse... File.Open y no hace nada.
4.- Dije bueno... el achivo que quiero abrir es c:\prueba.txt asi que
entonces pongo : c:\prueba.txt.Open y nada...

Entonces, si no se por donde van los tiros....
Hablas de función especial? decesito tener alguna referencia en el proyecto?
Incluso pongo un control File para ver si con File1.Open funciona algo, y
nada...

Asi que me sumo al grupo, según Bela, de los ignorantes... apoyo el
comentario de Yuri... para el que sabe es bien sencillo... pero para el que
no?

Saludos

Alejandro
Post by Bela Istok
Hola Yuri, es interesante tu punto de vista, pero ese es uno de los
problemas del lenguaje, diferentes personas interpretan distinto las
mismas "sentencias".
Saludos,
Bela Istok
Post by Yuri Aponte
Si yodelmis consulto al grupo fue porque tenia una consulta/duda y queria
que le respondieran de una manera que la pueda ayudar. Decir "eso es
sencillo" es decirle a yodelmis "tu no sabes, yo si". y esa es una
descortesia.
Yodelmis, tu aplicacion esta en VB?, veo que has posteado a varios grupos
de programacion, seria bueno que especifiques que lenguaje usas para
poder darte una ayuda.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAapocalPUNTOcomPUNTOpe
Post by Bela Istok
Eso es Sencillo utiliza las opciones del File.Open para especificar que
no quieres compartir el acceso a esos archivos.
Saludos,
Bela Istok
Post by yodelmis
quiero realizar una aplicacion para proteger determinados fichero de la
red y que no puedan ser borrados, ni alterados desde fuera de mi
aplicacion. Es decir quisiera que cuando un usuario tratara de abrir el
fichero, windows dijera que se se esta utilizando por otra aplicacion.
Bela Istok
2007-10-25 23:39:26 UTC
Permalink
Hola Alejandro, de verdad una de las cosas que noto, que no note cuando
respondí es que la persona posteo a diferentes foros de discusiones (que
implican varios lenguajes), y esto hace que la pregunta sea muy vaga, yo
respondo desde el foro de C# y de esa manera, fue que respondí lo que es mas
obvio (sin caer en discusiones por este punto) para un programador de C#,
siendo las situaciones que tu expresas totalmente validas.

Expandiendo un poco y respuesta hablo de la Clase File que esta en el
namespace System.IO.

Saludos,

Bela Istok
Post by Alejandro Hernández Cavanillas
Hola Yuri y Bela,
Realmente es tan sencilla la consulta?
Yo pienso igual.. eso de Es bien sencillo me la impresión de que quien lo
escribe cree saberlo todo, pero bueno...
Supingamos que no tengo la mas minima idea de como reaolver el problema
planteado por Yodelmis
1.- Abri VB 6.0
2.- Puse con combobox
3.- En el evento click puse... File.Open y no hace nada.
4.- Dije bueno... el achivo que quiero abrir es c:\prueba.txt asi que
entonces pongo : c:\prueba.txt.Open y nada...
Entonces, si no se por donde van los tiros....
Hablas de función especial? decesito tener alguna referencia en el
proyecto? Incluso pongo un control File para ver si con File1.Open
funciona algo, y nada...
Asi que me sumo al grupo, según Bela, de los ignorantes... apoyo el
comentario de Yuri... para el que sabe es bien sencillo... pero para el
que no?
Saludos
Alejandro
Post by Bela Istok
Hola Yuri, es interesante tu punto de vista, pero ese es uno de los
problemas del lenguaje, diferentes personas interpretan distinto las
mismas "sentencias".
Saludos,
Bela Istok
Post by Yuri Aponte
Si yodelmis consulto al grupo fue porque tenia una consulta/duda y
queria que le respondieran de una manera que la pueda ayudar. Decir "eso
es sencillo" es decirle a yodelmis "tu no sabes, yo si". y esa es una
descortesia.
Yodelmis, tu aplicacion esta en VB?, veo que has posteado a varios
grupos de programacion, seria bueno que especifiques que lenguaje usas
para poder darte una ayuda.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAapocalPUNTOcomPUNTOpe
Post by Bela Istok
Eso es Sencillo utiliza las opciones del File.Open para especificar que
no quieres compartir el acceso a esos archivos.
Saludos,
Bela Istok
Post by yodelmis
quiero realizar una aplicacion para proteger determinados fichero de
la red y que no puedan ser borrados, ni alterados desde fuera de mi
aplicacion. Es decir quisiera que cuando un usuario tratara de abrir
el fichero, windows dijera que se se esta utilizando por otra
aplicacion.
Alejandro Hernández Cavanillas
2007-10-26 02:19:28 UTC
Permalink
Tienes toda la razón,
Yo tampoco me percaté del posteo en diversos foros.
Pero al probar la respuesta, claro desde VB que es desde donde lo leo,
tampoco me quedó muy claro.. cierto, nunca me quedará claro si no es el
mismo lenguaje y de C# no tengo la mas mínima idea.

Saludos

Alejandro
Post by Bela Istok
Hola Alejandro, de verdad una de las cosas que noto, que no note cuando
respondí es que la persona posteo a diferentes foros de discusiones (que
implican varios lenguajes), y esto hace que la pregunta sea muy vaga, yo
respondo desde el foro de C# y de esa manera, fue que respondí lo que es
mas obvio (sin caer en discusiones por este punto) para un programador de
C#, siendo las situaciones que tu expresas totalmente validas.
Expandiendo un poco y respuesta hablo de la Clase File que esta en el
namespace System.IO.
Saludos,
Bela Istok
Post by Alejandro Hernández Cavanillas
Hola Yuri y Bela,
Realmente es tan sencilla la consulta?
Yo pienso igual.. eso de Es bien sencillo me la impresión de que quien lo
escribe cree saberlo todo, pero bueno...
Supingamos que no tengo la mas minima idea de como reaolver el problema
planteado por Yodelmis
1.- Abri VB 6.0
2.- Puse con combobox
3.- En el evento click puse... File.Open y no hace nada.
4.- Dije bueno... el achivo que quiero abrir es c:\prueba.txt asi que
entonces pongo : c:\prueba.txt.Open y nada...
Entonces, si no se por donde van los tiros....
Hablas de función especial? decesito tener alguna referencia en el
proyecto? Incluso pongo un control File para ver si con File1.Open
funciona algo, y nada...
Asi que me sumo al grupo, según Bela, de los ignorantes... apoyo el
comentario de Yuri... para el que sabe es bien sencillo... pero para el
que no?
Saludos
Alejandro
Post by Bela Istok
Hola Yuri, es interesante tu punto de vista, pero ese es uno de los
problemas del lenguaje, diferentes personas interpretan distinto las
mismas "sentencias".
Saludos,
Bela Istok
Post by Yuri Aponte
Si yodelmis consulto al grupo fue porque tenia una consulta/duda y
queria que le respondieran de una manera que la pueda ayudar. Decir
"eso es sencillo" es decirle a yodelmis "tu no sabes, yo si". y esa es
una descortesia.
Yodelmis, tu aplicacion esta en VB?, veo que has posteado a varios
grupos de programacion, seria bueno que especifiques que lenguaje usas
para poder darte una ayuda.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAapocalPUNTOcomPUNTOpe
Post by Bela Istok
Eso es Sencillo utiliza las opciones del File.Open para especificar
que no quieres compartir el acceso a esos archivos.
Saludos,
Bela Istok
Post by yodelmis
quiero realizar una aplicacion para proteger determinados fichero de
la red y que no puedan ser borrados, ni alterados desde fuera de mi
aplicacion. Es decir quisiera que cuando un usuario tratara de abrir
el fichero, windows dijera que se se esta utilizando por otra
aplicacion.
Mario Reynoso
2007-10-26 15:13:48 UTC
Permalink
Creo que todo empieza por hacer una pregunta poco clara y además de ello
no tener la cortesía de indicar que se ha escrito a varios foros, para
que cada quien pueda dar una respuesta de acuerdo a su experiencia en
determinado area.

En lo personal trato de no preguntar en varios foros a la vez y si en
algún momento lo he hecho, ha sido entre VB y SQL porque el problema
comprende los dos grupos.

Saludos.

Mario Reynoso.

--
Post by Bela Istok
Hola Alejandro, de verdad una de las cosas que noto, que no note cuando
respondí es que la persona posteo a diferentes foros de discusiones (que
implican varios lenguajes), y esto hace que la pregunta sea muy vaga, yo
respondo desde el foro de C# y de esa manera, fue que respondí lo que es
mas obvio (sin caer en discusiones por este punto) para un programador
de C#, siendo las situaciones que tu expresas totalmente validas.
Expandiendo un poco y respuesta hablo de la Clase File que esta en el
namespace System.IO.
Saludos,
Bela Istok
Post by Alejandro Hernández Cavanillas
Hola Yuri y Bela,
Realmente es tan sencilla la consulta?
Yo pienso igual.. eso de Es bien sencillo me la impresión de que quien
lo escribe cree saberlo todo, pero bueno...
Supingamos que no tengo la mas minima idea de como reaolver el
problema planteado por Yodelmis
1.- Abri VB 6.0
2.- Puse con combobox
3.- En el evento click puse... File.Open y no hace nada.
4.- Dije bueno... el achivo que quiero abrir es c:\prueba.txt asi que
entonces pongo : c:\prueba.txt.Open y nada...
Entonces, si no se por donde van los tiros....
Hablas de función especial? decesito tener alguna referencia en el
proyecto? Incluso pongo un control File para ver si con File1.Open
funciona algo, y nada...
Asi que me sumo al grupo, según Bela, de los ignorantes... apoyo el
comentario de Yuri... para el que sabe es bien sencillo... pero para
el que no?
Saludos
Alejandro
Post by Bela Istok
Hola Yuri, es interesante tu punto de vista, pero ese es uno de los
problemas del lenguaje, diferentes personas interpretan distinto las
mismas "sentencias".
Saludos,
Bela Istok
Post by Yuri Aponte
Si yodelmis consulto al grupo fue porque tenia una consulta/duda y
queria que le respondieran de una manera que la pueda ayudar. Decir
"eso es sencillo" es decirle a yodelmis "tu no sabes, yo si". y esa
es una descortesia.
Yodelmis, tu aplicacion esta en VB?, veo que has posteado a varios
grupos de programacion, seria bueno que especifiques que lenguaje
usas para poder darte una ayuda.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAapocalPUNTOcomPUNTOpe
Post by Bela Istok
Eso es Sencillo utiliza las opciones del File.Open para especificar
que no quieres compartir el acceso a esos archivos.
Saludos,
Bela Istok
Post by yodelmis
quiero realizar una aplicacion para proteger determinados fichero
de la red y que no puedan ser borrados, ni alterados desde fuera
de mi aplicacion. Es decir quisiera que cuando un usuario tratara
de abrir el fichero, windows dijera que se se esta utilizando por
otra aplicacion.
yodelmis
2007-10-29 19:00:07 UTC
Permalink
Saludos:

Disculpen por no haber aclarado que se posteo a varios grupos. Mi intencion
no era probocar malestar, sino resolver una duda.

si no fui claro pido disculpas y tratare de ser mas claro y concreto:

que codigo debo utilizar para mandar a bloquear un fichero
Bela Istok
2007-10-29 22:00:13 UTC
Permalink
El mensaje que te envió Yuri Aponte con un link buscado en google creo que
te puede servir en VB.

Saluos,

Bela Istok
Post by yodelmis
Disculpen por no haber aclarado que se posteo a varios grupos. Mi
intencion no era probocar malestar, sino resolver una duda.
que codigo debo utilizar para mandar a bloquear un fichero
Bela Istok
2007-10-29 22:01:08 UTC
Permalink
O el que envió Rubén Vigón, es bastante sencillo para VB.

Saludos,

Bela Istok
Post by yodelmis
Disculpen por no haber aclarado que se posteo a varios grupos. Mi
intencion no era probocar malestar, sino resolver una duda.
que codigo debo utilizar para mandar a bloquear un fichero
Yuri Aponte
2007-10-25 23:57:18 UTC
Permalink
Encontre esto en San Google

Me parece que es bastante claro y bueno si bien algo complejo pero aplica
para todos los lenguajes que consultas :-D

http://groups.google.com.pe/group/microsoft.public.es.vb/browse_thread/thread/55f7d3f877714ecc/9882ca670ac3ed3e?hl=es&lnk=st&q=cambiar+atributos+a+archivo#9882ca670ac3ed3e

Espero te sirva
--
Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAapocalPUNTOcomPUNTOpe
Post by yodelmis
quiero realizar una aplicacion para proteger determinados fichero de la
red y que no puedan ser borrados, ni alterados desde fuera de mi
aplicacion. Es decir quisiera que cuando un usuario tratara de abrir el
fichero, windows dijera que se se esta utilizando por otra aplicacion.
Rubén Vigón
2007-10-26 07:34:53 UTC
Permalink
Hola "yodelmis",

Sólo tienes que especificar el bloqueo adecuado (para especificar qué operaciones les están permitidas a otros procesos) a la hora de abrir el archivo. Por ejemplo, para mantener bloqueado el archivo "c:\carpeta\archivo.ext" durante la vida de tu formulario:
______________________________________________

Option Explicit
Private f As Integer

Private Sub Form_Load()
f = FreeFile
Open "c:\carpeta\archivo.ext" For Input Access Read Lock Read As f
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, ... As Integer)
Close f
End Sub
______________________________________________

Más información sobre los distintos tipos de bloqueo al abrir un archivo en:

Open Statement
http://msdn2.microsoft.com/en-us/library/aa266177(vs.60).aspx

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Loading...