Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cómo averiguar la extensión del archivo elegido en un "TOpenFileDialog" (https://www.clubdelphi.com/foros/showthread.php?t=80062)

Comandant 31-08-2012 23:36:29

Cómo averiguar la extensión del archivo elegido en un "TOpenFileDialog"
 
Hola a todos tengo una pregunta simple pero que no lo he podido resolver y es como saber la extension del archivo de imagen que eligio un usuario desde un topendialog? ya que quiero asiganarlas a unas variables y para que se me entienda mejor dejo algo de codigo.

Código Delphi [-]
var
Jpg: TJPEGImage;
bmp: TBitMap;
begin

  with TOpenDialog.Create(nil) do
  try
     Filter:= 'Archivos de imagen(*.bmp;*.ico;*.jpg)|*.bmp;*.ico;*.jpg';
     if Execute then
     begin
       Fondo:= TPicture.Create;
       try
        if Filename.extension? = jpg then
        Jpg:= TJPEGImage.Create
        else
        bmp:= TBitMap.Create;

Comandant 31-08-2012 23:41:06

Como verán necesito saber la extensión o el tipo de archivo para aplicarle algunas funciones según sea la extensión para luego de todo esto darme un resultado(ya aplicada la funcion) y asignarla a fondo que es un tpicture; Desde ya Gracias

dec 01-09-2012 00:19:27

Hola,

Prueba con la función "ExtractFileExt" de la unidad "SysUtils".

Casimiro Notevi 01-09-2012 00:20:31

ExtractFileExt

* Se me adelantó dec.

Comandant 01-09-2012 00:34:55

Gg me las tuve que ingeniar pero ya lo cambio por las dudas dejo publicado mi code para que lo ven nada mas.

Código Delphi [-]
var
imagen: TPicture;
Jpg: TJPEGImage;
bmp: TBitMap;
begin

  with TOpenDialog.Create(nil) do
  try
     Filter:= 'Archivos de imagen(*.bmp;*.ico;*.jpg)|*.bmp;*.ico;*.jpg';
     if Execute then
     begin
       Fondo:= TPicture.Create;
       try
        imagen:= TPicture.Create;
        imagen.LoadFromFile(FileName);
        if imagen.graphic is tjpegImage then
        Jpg:= TJPEGImage.Create
        else
        if imagen.graphic is tbitmap then
        bmp:= TBitMap.Create;

Obviamente gracias manes y saludos.

Casimiro Notevi 01-09-2012 00:56:25

Vale, pero no habías preguntado cómo saber el tipo, sino la extensión.
Tu imagen puede ser un .jpg y sin embargo alguien lo ha podido renombrar como .txt (aunque sea para fastidiar).


La franja horaria es GMT +2. Ahora son las 13:53:27.

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