Ver la Versión Completa : Cómo averiguar la extensión del archivo elegido en un "TOpenFileDialog"
Comandant
31-08-2012, 23:36:29
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.
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
Hola,
Prueba con la función "ExtractFileExt" de la unidad "SysUtils" (http://docwiki.embarcadero.com/Libraries/en/System.SysUtils.ExtractFileExt).
Casimiro Notevi
01-09-2012, 00:20:31
ExtractFileExt (http://www.delphibasics.co.uk/RTL.asp?Name=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.
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).
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.