PDA

Ver la Versión Completa : ¿Cómo puedo tomar la extensión de un archivo?


nuri
21-07-2005, 10:29:42
Hola
¿Cómo puedo tomar la extensión de un archivo?. Es que necesito saberla para copiar ese archivo con la extensión que tenía pero en otra carpeta distinta así como con otro nombre.
El archivo lo cargo con TOpenDialog, que tiene una propiedad llamada filter, pero esta me devuelve todas las extensiones que soporta el cuadr de diálogo.
Muchas gracias a quien pueda ayudarme.;)
Atentamente
Nuri

Neftali [Germán.Estévez]
21-07-2005, 10:35:21
ExtractFileExt unit SysUtils.
El resultado incluye el punto, como bien dice la ayuda...

Elenita
21-07-2005, 10:36:15
Puedes saber la extensión del archivo con la función ExtractFileExt de la unidad SysUtils


function ExtractFileExt(const FileName: string): string;

paufra
21-07-2005, 10:36:41
Echale un ojo a estas funciones:

ExtractFileExt(const FileName: string): string; Extrae la extensión
ExtractFileName(const FileName: string): string; Extrae el nombre

En la SysUtils tienes algunas funciones de este tipo que te pueden ayudar. En tu caso obtener la extensión seria:

Extension := ExtractFileExt(OpenDialog.FileName);

islu
21-07-2005, 10:45:02
Hola, la propiedad filter es para que a la hora de buscar puedas indicar las extensiones que quieres que te muestre. Esta propiedad la puedes cambiar añadiendo o eliminando extensiones. Por ello si tú por ejemplo solo quieres abrir ficheros .jpg, en diseño edita la propiedad filter, dejando solo esta extensión. En DefaultExt, ponla también.

Una vez seleccionado el archivo, simplemente compara los últimos 3 caracteres de la cadena donde tengas el nombre de fichero, con la función copy, sería algo asi :

if ( uppercase(copy(NombreFichero, length(NombreFichero) - 2,3)) ='JPG') then
[...]

No se si es esto lo que necesitabas.

nuri
21-07-2005, 11:12:59
okis

gracias a todos.:)