• Jueves 2 de Mayo de 2024, 17:43

Autor Tema:  Informacion Sobre Archivos  (Leído 1163 veces)

El nuevo

  • Miembro activo
  • **
  • Mensajes: 50
  • Nacionalidad: mx
    • Ver Perfil
Informacion Sobre Archivos
« en: Lunes 29 de Marzo de 2004, 20:52 »
0
Hola a todos, estoy elaborando un manejador de archivos que me permite manipular grupos de archivos para copia, renombrado, y eliminacion de los mismos, hasta ahora no he encontrado como obtener el tamaño de un archivo sin abrirlo (por ejemplo, solo al seleccionarlo, quiero que me muestre su tamaño en una etiqueta) asi como tambien me gustaria saber si alguien sabe como obtener el tamaño de toda una carpeta... por ultimo, utiliso los componentes de lista de carpetas y archivos, alguien sabe como puedo llamar a la aplicacion que por omision dentreo del sistema, abre ese tipo de archivo con un doble click ??? se los agradesco mucho...

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Informacion Sobre Archivos
« Respuesta #1 en: Lunes 29 de Marzo de 2004, 21:59 »
0
Hola, para lo del tamaño de los archivos te dejo el siguiente ejemplo, lo tengo hecho para un archivo especifico, pero es facil reemplazarlo por el seleccionado en un FileListBox por ejemplo...

Código: Text
  1.  
  2. void __fastcall TForm1::Button1Click(TObject *Sender)
  3. {
  4.  
  5. //Creación de un tipo de datos donde se contendrán los atributos de un fichero
  6.  
  7. WIN32_FIND_DATA* dat = new WIN32_FIND_DATA();
  8. //Busco el fichero en concreto.
  9. HANDLE buscar = FindFirstFile("d:\\avathar.bmp",dat);
  10. //Si existe el fichero.
  11. if (buscar != INVALID_HANDLE_VALUE)
  12. {
  13. float dato =dat->nFileSizeLow;
  14. ShowMessage(FloatToStr(dato) +" bytes." );
  15. }
  16. else
  17. {
  18. ShowMessage("No Existe el fichero");
  19. }
  20.  
  21. }
  22.  
  23.  

Ahora para ejecutar el archivo con la aplicacion que tiene asociada en windows, puedes usar ShellExecute, te dejo un ejemplo:


Código: Text
  1. String sRuta = "c:\\documento.doc";
  2. ShellExecute(NULL,"open",sRuta.c_str(),NULL,NULL,SW_SHOWDEFAULT);
  3.  

Haber si esto te ayuda un poco.
Saludos!
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

El nuevo

  • Miembro activo
  • **
  • Mensajes: 50
  • Nacionalidad: mx
    • Ver Perfil
Re: Informacion Sobre Archivos
« Respuesta #2 en: Martes 30 de Marzo de 2004, 16:50 »
0
Gracias, ya lo probe y funciona estupendo  :comp: