Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-08-2017
Javier13 Javier13 is offline
Miembro
NULL
 
Registrado: jun 2017
Posts: 34
Poder: 0
Javier13 Va por buen camino
Ayuda a no subir imagen con mas de 500 K en un TcxDBImage

Quiero hacer que si el usuario sube una imagen que pese más de 500 kilobytes no lo deje subirla alguien que me ayude
Estoy utilizando el componente TcxDBImage para subir las imagenes
Responder Con Cita
  #2  
Antiguo 16-08-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Subirla a dónde y desde dónde?
Responder Con Cita
  #3  
Antiguo 16-08-2017
Javier13 Javier13 is offline
Miembro
NULL
 
Registrado: jun 2017
Posts: 34
Poder: 0
Javier13 Va por buen camino
Subirla a la base de datos (SQL) ya puedo subir la imagen pero quiero que el usuario solamente pueda subir imagenes <=500 K
para que no ocupe tanta memoria la base de datos. en pocas palabras solo quiero que si la imagen pesa más de 500 K arroje un msj de que suba otra más chica

Última edición por Javier13 fecha: 16-08-2017 a las 20:50:19.
Responder Con Cita
  #4  
Antiguo 16-08-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues miras antes lo que mide la imagen y haces lo que estimes oportuno.
Ejemplo: http://www.clubdelphi.com/foros/showthread.php?t=69336
Responder Con Cita
  #5  
Antiguo 16-08-2017
Javier13 Javier13 is offline
Miembro
NULL
 
Registrado: jun 2017
Posts: 34
Poder: 0
Javier13 Va por buen camino
A un no eh podido resolverlo :/
Responder Con Cita
  #6  
Antiguo 16-08-2017
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Hola, ¿Y que no haz podido resolver?. ¿Calcular el tamaño para restringir?, ¿Guardarlo en la DB?.

Comparte algo de código para que sea mas fácil prestar una ayuda. aún no me llega el pedido.


__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #7  
Antiguo 16-08-2017
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.

¿ Y como selecciona el usuario la imágen que será guardada ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 16-08-2017
Javier13 Javier13 is offline
Miembro
NULL
 
Registrado: jun 2017
Posts: 34
Poder: 0
Javier13 Va por buen camino
Aquí solo estoy subiendo la imagen en el TcxDBImage

pdDoc.InitialDir := GetCurrentdir();
pdDoc.Execute;
try
edDocumento.Picture.LoadFromFile(pdDoc.FileName);
except
end;

Y quiero que antes de que la suba si pesa la imagen más de 500 k le harroje un mensaje para que escoja una que pese menos es todo.
(Calcular el tamaño para restringir movorack)

Última edición por Javier13 fecha: 16-08-2017 a las 22:44:46.
Responder Con Cita
  #9  
Antiguo 16-08-2017
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
No olvides que para mostrar el código debes encerrarlo en las etiquetas DELPHI

Antes de hacer la carga, debes validar el tamaño del archivo que están seleccionando en el cuadro de dialogo. Si no cumple con tus condiciones no lo dejas cargar.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #10  
Antiguo 16-08-2017
Javier13 Javier13 is offline
Miembro
NULL
 
Registrado: jun 2017
Posts: 34
Poder: 0
Javier13 Va por buen camino
Como quedaría el código ya validando eso que comentas?
Responder Con Cita
  #11  
Antiguo 16-08-2017
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Revisa este link
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #12  
Antiguo 16-08-2017
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
Cita:
Empezado por Javier13 Ver Mensaje
Aquí solo estoy subiendo la imagen en el TcxDBImage

pdDoc.InitialDir := GetCurrentdir();
pdDoc.Execute;
try
edDocumento.Picture.LoadFromFile(pdDoc.FileName);
except
end;

Y quiero que antes de que la suba si pesa la imagen más de 500 k le harroje un mensaje para que escoja una que pese menos es todo.
(Calcular el tamaño para restringir movorack)
Entonces, tomando en cuenta cualquiera de los enlaces que acertadamente te puso Casimiro, solo deberas averiguar el tamaño del archivo cuyo nombre se encuentra en: pdDoc.FileName

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 17-08-2017
Javier13 Javier13 is offline
Miembro
NULL
 
Registrado: jun 2017
Posts: 34
Poder: 0
Javier13 Va por buen camino
Estoy usando la funtion FileSize

Código Delphi [-]
function FileSize(const aFilename: String): Int64;
var
  info: TWin32FileAttributeData;
begin
  result := -1;

  if NOT GetFileAttributesEx(PWideChar(aFileName), GetFileExInfoStandard, @info) then
    EXIT;

  result := Int64(info.nFileSizeLow) or Int64(info.nFileSizeHigh shl 32);
end;

Aquí subo el archivo y mando mandar la function
Código Delphi [-]
procedure TForm_Empleados.btnImportarClick(Sender: TObject);
var
  Peso : Int64;
begin
  inherited;
  pdDoc.InitialDir := GetCurrentdir();
  pdDoc.Execute;
  try
    edDocumento.Picture.LoadFromFile(pdDoc.FileName);
  except
  end;
  Peso:=FileSize(pdDoc.FileName);
end;
pero me marca error incompatible types no se si me puedas ayudar a corregir el código

Última edición por ecfisa fecha: 17-08-2017 a las 19:10:18. Razón: Corregir etiquetas [DELPHI] [/DELPHI]
Responder Con Cita
  #14  
Antiguo 17-08-2017
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Javier13, en el editor del foro hay un botón con el ícono de Delphi. Ese te ayuda a mostrar el código de la forma correcta.

Acá te dejo un ejemplo. La validación la hago antes de cargar la imagen.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
  function FileSize(const aFilename: String): Int64;
    var
      info: TWin32FileAttributeData;
  begin
    result := -1;

    if not GetFileAttributesEx(PWideChar(aFileName), GetFileExInfoStandard, @info) then
      Exit;

    result := Int64(info.nFileSizeLow) or Int64(info.nFileSizeHigh shl 32);
  end;
  var
    Dlg : TOpenDialog;
begin
  Dlg := TOpenDialog.Create(Self);
  try
    Dlg.Title := 'Cargar imágen';
    Dlg.Filter := 'Archivos BMP|*.bmp';
    if Dlg.Execute then
    begin
      if FileSize(Dlg.FileName) > 524288 then
      begin
        MessageBox(0, 'El tamaño del archivo debe ser menor a 512 Kb',
          PChar(Self.Caption), MB_ICONSTOP or MB_OK);
        Exit;
      end;

      Image1.Picture.Bitmap.LoadFromFile(Dlg.FileName);
    end;
  finally
    FreeAndNil(Dlg)
  end;
end;

La prueba es en Delphi XE4
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #15  
Antiguo 17-08-2017
Javier13 Javier13 is offline
Miembro
NULL
 
Registrado: jun 2017
Posts: 34
Poder: 0
Javier13 Va por buen camino
Muchas gracias funciono a la perfección
Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Grabar datos de imagen TcxDBImage a SQL server 2008 JM1985 C++ Builder 1 25-09-2013 20:52:26
Ayuda Con tratamiento de imagen steelha Gráficos 7 26-09-2012 20:28:12
Como subir imagen a Imageshack? The_Duke Internet 2 07-01-2010 22:01:01
ayuda con manejo de imagen pulpin C++ Builder 5 03-04-2008 02:11:25
Como subir una imagen de una recurso a un Timage Alexander Varios 3 06-09-2006 07:40:51


La franja horaria es GMT +2. Ahora son las 22:13:31.


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