![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#6
|
|||
|
|||
|
Borrar un TImage
He estado leyendo el foro, el cual me saco de unas dudas que tenia, lo cual les agradezco mucho. Les dejo un fragmento de codigo que elabore, se trata de cargar un TImage con un openDialog, filtrando obviamente solo las imagenes y obteniendo despues el tamaño de la imagen seleccionada, si el tamaño sobrepasa 500kb (aprox) manda un mensaje de error, limpia el TImage y cierra los archivos (que se abren para obtener el tamaño de la imagen).
Espero este aporte sirva para alguien Saludos!!! //codigo del boton donde ejecuto el openDialog para buscar la imagen procedure TfrmSubir_imagenes.btnArchivoClick(Sender: TObject); var narch:String; tam: LongWord; arch2: Thandle; arch: file; begin try if(open1.Execute)then //ejecuta el open dialog begin narch := open1.FileName; //obtiene el nombre de la imagen txtArchivo.Text := narch; //carga un TEdit con el nombre del archivo //reset(arch); imagen1.Picture.LoadFromFile(narch); //carga el Timage con la imagen seleccionada AssignFile(arch, narch); //crea un archivo con el nombre de la imagen reset(arch);//reinicializa el archivo recien creado para su manejo if(FileSize(arch) > 3799)then //valida el tamaño que sea menor de 500kb (aprox) begin MessageDlg('La imagen es demasiado grande, debe ser menor a 450kb y en '+#13+#10+'formato jpg'+#13+#10+'Seleccione otra imagen o edite la imagen deseada', mtError, [mbOK], 0); //mensaje de error //imagen1.Picture.Free; imagen1.Picture := nil; //LIMPIA EL TImage self.Repaint; //refresca la forma txtArchivo.Clear; //limpia el campo de texto CloseFile(arch); //cierra el archivo (necesario para que no mande errores al querer abrir otra vez el mismo archivo exit; //sale del procedimiento end; CloseFile(arch); //cierra el archivo imagen1.Hint := narch; //asigna al hint del TImage la ruta de la imagen cargada self.Repaint; //refresca la forma end else begin MessageDlg('Debe seleccionar un archivo para subir', mterror, [mbOk], 0); end; except on e:Exception do begin MessageDlg('Error al buscar el archivo de la imagen debido a:'+#10+e.Message, mtError, [mbOk], 0); exit; end; end; end; |
|
|
|