Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
determinar el tamaño de una fichero

Hola amigos

tengo una BD en MySQL y necesito que mi soft cargue una imagen, eso lo logre hacer bien, sin embargo el MySQL me da un error diciendome que el maximo que acepta de envio es 512 kb
Código SQL [-]
max_allowed_packet
como no puedo cambiar el MySQL necesito que al momento de cargar la imagen pueda determinar si es mayor o no de ese tamaño para evitar un error de SQL, en estos momentos uso un OpenDialog para cargar la imagen.

La pregunta en concreto es:

Como puedo determinar el tamaño de una fichero X usando el OpenDialog.

Gracias de antemano
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #2  
Antiguo 14-11-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Utiliza la función de Sizeof de la clase TFileStream. Ejemplo:
Código Delphi [-]
var
    Archivo: TFileStream;
begin
if OpenDialog1.Execute then
    try
        Archivo := TFileStream.Create(OpenDialog1.Filename, {segundo parámetro*});
        Archivo.Sizeof // <-- esta función te da el tamaño en bytes del archivo elegido.

        // ... guardar el archivo en la DB si el tamaño es adecuado.
    finally
        Archivo.Free;
    end;

* No recuerdo el nombre del segundo parámetro de constructor. Sé que es para determinar el modo de acceso al archivo. Consulta la ayuda de Delphi al respecto.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 14-11-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
Cita:
Empezado por Chris Ver Mensaje
Utiliza la función de Sizeof de la clase TFileStream.
ok jajja Gracias mi amigo pero primero tengo que ver como convierto tu codigo c++ jejeje pero igual es una idea excelente voy a ver si lo logro !!! gracias
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #4  
Antiguo 14-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Otra opción:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TSearchRec sr;
  if(OpenDialog1->Execute()){
    FindFirst(OpenDialog1->FileName,faArchive, sr);
    ShowMessage(OpenDialog1->FileName+" Size:"+IntToStr(sr.Size /1024)+ "Kb.");
  }
}
Y creo que la traducción de la sugerida por Chris sería:
Código:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 TFileStream *FStream;
 if(OpenDialog1->Execute()) {
  FStream = new TFileStream(OpenDialog1->FileName, fmOpenRead);
  ShowMessage(OpenDialog1->FileName+" Size:"+IntToStr(FStream->Size /1024)+ "Kb.");
  delete FStream;
 }
}
Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 14-11-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
Gracias amigos

Antes de ver el post de ecfisa me entretuve en tratar de llevar de delphi a c++ el del amigo Chris y me quedo algo asi

Código:
TFileStream *File = new TFileStream(OpenDialog1->FileName, fmOpenRead);
     if (File->Size >= 600000)
     {
                MIS OPCIONES   
                delete File;
     }
Gracias por su ayuda
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #6  
Antiguo 14-11-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
También puedes ojear este tema en C++: Obtener tamaño fichero grande.


Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
determinar el tamaño de fuente en excel cuando esxporto una consulta microbiano Varios 3 13-10-2011 09:45:36
'Tamaño de papel' en un fichero .RTF Tonio Varios 0 09-07-2007 00:01:47
Determinar el tamaño óptimo de un datafile SMTZ Oracle 2 03-02-2007 13:04:45
tamaño de un fichero remoto coulthard Internet 0 05-01-2005 19:58:37
Como determinar el tamaño de una base de dato ? Raptor Varios 4 06-08-2004 02:17:56


La franja horaria es GMT +2. Ahora son las 03:39:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi