![]() |
Como convertir un archivo a solo lectura
Buenas tardes, necesito convertir un archivo a solo lectura despues de una modificacion. con ofstream, no me funciona. Hay alguna manera de hacerlo para que el archivo quede inmodificable desde Builder?
Gracias. |
Hola,
Una forma podría ser utilizar la función "FileSetReadOnly". Otra puede ser utilizar la función "SetFileAttributes".
|
Hola,
Otra vez... que no me fijé en que se hablaba de C++ Builder... ¡Esta vez yo mismo traduzco el código propuesto por mí mismo! ;) Código:
// C++ Builder Código:
// C++ Builder |
No me funcionó
Hola amigo, te cuento que copié las lineas que me dijiste y no me funcionó.
Gracias por tu ayuda. |
Hola,
Cita:
|
Hola dec
Dec el archivo me desapareció de C:\\archivo.txt.
Quedó como oculto. yo necesito que se vea pero que cuando se le dé guardar despues de modificarlo, saque un error. |
Hola,
Cita:
Cita:
Ahora bien, ¿qué se trata de conseguir? En un editor que traigo entre manos, por ejemplo, si tratas de abrir un archivo cuyo atributo de "solo lectura" esté activado, el programa te preguntará si quieres quitar dicho atributo del archivo: si lo quitas, te dejará editar el archivo, y, si no lo haces, no te dejará editarlo: respetando así el atributo de "solo lectura" del archivo en cuestión. Ahora, ¿es a algo así a lo que te refieres? Quiere decirse que tú puedes comprobar (ver más abajo) desde tu programa si un archivo tiene el atributo de "solo lectura" y actuar luego en consecuencia como tuvieras pensado. Otra cosa sería que el propio Windows respetase los atributos de los archivos, pero, si no me equivoco, esto no es muy así. Código:
// C++ Builder |
Dec
Dec, lo que yo te digo es que el archivo al cual le cambio a ReadOnly desaparece del Explorador, la prueba es que no lo veo, y al intentar crear un archivo con el mismo nombre, me dice que el archivo ya existe. y entonces a tí no te pasa eso?
Gracias. Yo quiero poder leer el archivo despues no que ni siquiera me deje ver su acceso. |
Hola,
Cita:
|
Gracias por tu ayuda, dec.
Gracias dec, de la primera forma no me desparece
FileSetReadOnly("C:\\arch.txt", true); pero de la segunda sí. Cardinal atributos = GetFileAttributesA("C:\\arch.txt"); //para ocultar el archivo SetFileAttributesA("C:\\arch.txt", atributos + faReadOnly); Sin embargo en Windows puede volver a cambiarle uno esa propiedad. No hay manera de sellar el archivo completamente? Gracias. |
Hola,
Cita:
Cita:
|
La franja horaria es GMT +2. Ahora son las 13:09:54. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi