 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
frios Lt

Registrado: 20 Nov 2005Mensajes: 79Ubicación: España
|
Publicado: Lun 11 Ago, 2008 3:41 pm Asunto: Byte de copia o modificación |
|
|
¿alguien sabe algo al respecto?
Acabo de descubrir que los archivos tienen un byte denominado de modificación, el cual sirve para conocer si el archivo está modificado.
Su uso es muy sencillo. Si se ha modificado se pone a 1.
El tema es que en las copias de seguridad, en el momento de hacerlas, se pondría el byte a 0, con lo que resulta muy sencillo comprobar si es necesario realizar de nuevo una copia del archivo, sin comparar fechas ni códigos hash.
Saludos |
|
| Volver arriba |
|
 |
_Willa Capt


Registrado: 28 Ago 2002Mensajes: 169Ubicación: Madrid ( España )
|
Publicado: Mie 20 Ago, 2008 9:57 am Asunto: |
|
|
Hola,
Mira la sentencia FindFirst, te devuelve un estructura con los atributos del fichero.
Ejemplo.
| Código: |
TSearchRec sr;
int iConta=0; // contador ficheros txt
if (FindFirst("C:\windows\*.txt", faArchive, sr) == 0)
{
do
{
if ((sr.Attr & faArchive) == faArchive)
iConta++;
} while (FindNext(sr) == 0);
FindClose(sr);
}
|
Te recomiendo que mires la ayuda de la sentencia FirdFirst.!!
con los parametros que conlleva, asi como la estructura sr. _________________ Saludos
~~~~~~~~
_Willa
~~~~~~~~
www.avancegame.com |
|
| Volver arriba |
|
 |
frios Lt

Registrado: 20 Nov 2005Mensajes: 79Ubicación: España
|
Publicado: Sab 27 Jul, 2013 9:19 am Asunto: |
|
|
Hola,
Ya sé que esta entrada es muy antigua, pero hasta hoy no había necesitado usar esta propiedad de los archivos.
Me temo que con la estructura TSearchRec da los atributos del tipo de archivo, pero no el estado de estos.
Solo por si alguien lo necesita hay que usar la función API GetFileAttributesW(const wchar_t*)
un ejemplo podría ser
| Código: | DWORD Attributes;
Attributes = GetFileAttributesW(sr.Name.w_str()); |
donde sr.Name si que viene de una búsqueda con TSearchRec
los valores de Attributes, copiados de msdn (en el caso de byte de control de copias activado el resultado es 32)
FILE_ATTRIBUTE_ARCHIVE
32 (0x20)
A file or directory that is an archive file or directory. Applications typically use this attribute to mark files for backup or removal .
FILE_ATTRIBUTE_COMPRESSED
2048 (0x800)
A file or directory that is compressed. For a file, all of the data in the file is compressed. For a directory, compression is the default for newly created files and subdirectories.
FILE_ATTRIBUTE_DEVICE
64 (0x40)
This value is reserved for system use.
FILE_ATTRIBUTE_DIRECTORY
16 (0x10)
The handle that identifies a directory.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x4000)
A file or directory that is encrypted. For a file, all data streams in the file are encrypted. For a directory, encryption is the default for newly created files and subdirectories.
FILE_ATTRIBUTE_HIDDEN
2 (0x2)
The file or directory is hidden. It is not included in an ordinary directory listing.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x8000)
The directory or user data stream is configured with integrity (only supported on ReFS volumes). It is not included in an ordinary directory listing. The integrity setting persists with the file if it's renamed. If a file is copied the destination file will have integrity set if either the source file or destination directory have integrity set.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This flag is not supported until Windows Server 2012.
FILE_ATTRIBUTE_NORMAL
128 (0x80)
A file that does not have other attributes set. This attribute is valid only when used alone.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x2000)
The file or directory is not to be indexed by the content indexing service.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x20000)
The user data stream not to be read by the background data integrity scanner (AKA scrubber). When set on a directory it only provides inheritance. This flag is only supported on Storage Spaces and ReFS volumes. It is not included in an ordinary directory listing.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This flag is not supported until Windows 8 and Windows Server 2012.
FILE_ATTRIBUTE_OFFLINE
4096 (0x1000)
The data of a file is not available immediately. This attribute indicates that the file data is physically moved to offline storage. This attribute is used by Remote Storage, which is the hierarchical storage management software. Applications should not arbitrarily change this attribute.
FILE_ATTRIBUTE_READONLY
1 (0x1)
A file that is read-only. Applications can read the file, but cannot write to it or delete it. This attribute is not honored on directories. For more information, see You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, in Windows Vista or in Windows 7.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x400)
A file or directory that has an associated reparse point, or a file that is a symbolic link.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x200)
A file that is a sparse file.
FILE_ATTRIBUTE_SYSTEM
4 (0x4)
A file or directory that the operating system uses a part of, or uses exclusively.
FILE_ATTRIBUTE_TEMPORARY
256 (0x100)
A file that is being used for temporary storage. File systems avoid writing data back to mass storage if sufficient cache memory is available, because typically, an application deletes a temporary file after the handle is closed. In that scenario, the system can entirely avoid writing the data. Otherwise, the data is written after the handle is closed.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x10000) |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|