Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Extensión de un fichero... (https://www.clubdelphi.com/foros/showthread.php?t=20882)

Elfoscuro 28-04-2005 16:13:45

Extensión de un fichero...
 
Hola.

Necesito saber si hay alguna función que le ponga la extensión a un nombre de archivo. Me explico:

Tengo un savedialog, con un filter con una extensión. El usuario escribe un nombre de fichero, pero sin escribir la extensión, y cuando sale del dialog, el savedialog1.filename que me devuelve es lo que el usuario haya escrito, pero si no ha escrito extensión, esta no viene.

La función que necesito es saber si esa extensión está puesta, y si no que la ponga. De momento lo que hago es recorrer el string hasta encontrar un '.' y luego comprobar con la extensión que debería de tener. Si no hay '.' o no coincide, la añade al final...

Funciona, pero si hubiera algo en delphi que ya lo hiciera, pues mejor, ¿no?

Y ya que estamos, os pregunto una cosa para asegurarme de verdad... Delphi no hace la función elevado? Es decir 2^2=4, 2^3=8... ¿Hay que hacersela cada uno a mano?

Saludos

delphi.com.ar 28-04-2005 16:25:19

A ver si te gusta:
Código Delphi [-]
if ExtractFileExt(MiArchivo) = '' Then
  MiAchivo := ChangeFileExt(MiArchivo, '.ext'); {Siendo .ext mi extensión por defecto}

Saludos!

delphi.com.ar 28-04-2005 16:26:34

Cita:

Empezado por Elfoscuro
Y ya que estamos, os pregunto una cosa para asegurarme de verdad... Delphi no hace la función elevado? Es decir 2^2=4, 2^3=8... ¿Hay que hacersela cada uno a mano?

No lo había visto, pero te recomiendo no hacer dos preguntas de naturaleza diferentes en el mismo hilo.
Para averiguar la potencia de un nro, puedes utilizar la función Power definida en la unit Math.

Saludos!

Elfoscuro 28-04-2005 21:02:31

Muchas Gracias por las respuestas... ahora para rizar el rizo... ¿como puedo saber si el resultado de

MiAchivo := ChangeFileExt(MiArchivo, '.ext');

es un nombre de archivo válido en Windows? Por ejemplo que no sea más largo de lo que permite el sistema...

Saludos

Lepe 29-04-2005 09:57:23

Puedes usar un SaveDialog para que se encargue del problema. Solo tendrías que configurar la caja de dialogo para que acepte nombres largos.

Un saludo


La franja horaria es GMT +2. Ahora son las 09:54:29.

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