![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Realmente si se puede, dependiendo del sistema de Archivo. La API de NTFS hace esto. Normalmente esta técnica es utilizada para hacer discos virtuales. Creo que deberías buscar en MSDN al respecto.
|
|
#2
|
|||
|
|||
|
men donde puedo encontrar informacion de esto.
|
|
#3
|
||||
|
||||
|
La función chsize del C te permite cambiar el tamaño de un archivo a voluntad.
El siguiente ejemplo crea un archivo y le da un tamaño de 2000 bytes: Código:
#include <io.h>
#include <fcntl.h>
void __fastcall TForm1::Button4Click(TObject *Sender)
{
int f = open("temp.txt", O_CREAT | O_WRONLY);
chsize(f, 2000);
close(f);
}
Saludos. |
|
#4
|
||||
|
||||
|
Con la API de Windows permite realizar la misma operación que chsize reservando tamaño incluso mayor que 4.294.967.295 bytes. En este caso no disponemos de una función directa, así que propongo una como esta:
Código:
BOOL SetFileSize(char* FileName, __int64 Size)
{
bool Result = false;
LONG Hi = LONG(Size >> 32);
DWORD Attributes = GetFileAttributes(FileName);
if(Attributes == -1) Attributes = FILE_ATTRIBUTE_NORMAL;
SetFileAttributes(FileName, FILE_ATTRIBUTE_NORMAL);
HANDLE hFile = CreateFile(FileName, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_FLAG_WRITE_THROUGH, 0);
if(hFile != HANDLE(-1)){
if(SetFilePointer(hFile, (LONG)Size, &Hi, FILE_BEGIN) != INVALID_SET_FILE_POINTER){
Result = SetEndOfFile(hFile);
}
CloseHandle(hFile);
}
SetFileAttributes(FileName, Attributes);
return Result;
}
Saludos. |
|
#5
|
|||
|
|||
|
Tio, yo opte por una permuta para delphi, necesito si esta entre tus posibilidades que me traduscas este codigo para delphi
|
|
#6
|
||||
|
||||
Saludos. |
|
#7
|
|||
|
|||
|
gracias hermano. su ayuda es impresindible.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| como saber el tamaño de un fichero | kenychy | C++ Builder | 13 | 19-11-2010 17:46:59 |
| ¿Cómo puedo saber el tamaño que debo asignar al buffer? | MON___ | API de Windows | 5 | 02-02-2008 23:08:02 |
| Como controlar el tamaño de un fichero subido al servidor | lazar | PHP | 7 | 06-03-2007 02:27:22 |
| Como asignar el tamaño de papel en QuickRep?? | AndGaG | Impresión | 2 | 02-07-2006 22:51:12 |
| Obtener Todo El Registro De Una Tabla Aunque Aunque Este Agrupado Por 2 Campos | agova | SQL | 6 | 11-08-2004 16:48:14 |
|