Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2008
sac sac is offline
Miembro
 
Registrado: abr 2007
Posts: 109
Poder: 18
sac Va por buen camino
Como saca la extension?

Hola gente...
Tengo un problema que parece sencillo de resolver pero todavía no pude.
Tengo que cargar en un label el nombre de un archivo desde un opendialog anteponiendole otro texto y sacándole la extension (en mi caso un .txt).
Utilice el extracfilename para sacarle el path y en el caption del label le asigné lo que voy a anteponer + el extractfilename(opendialog1.filename) pero no puedo quitarle la extensión.. siempre aparece lo que quiero mas '.txt' alguno me puede ayudar?
Responder Con Cita
  #2  
Antiguo 02-05-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Prueba a ver con algo más o menos como esto:

Código Delphi [-]
var
  fileName: string;
begin
  if OpenDialog1.Execute then
  begin
    fileName := ExtractFileName(OpenDialog1.FileName);
    fileName := ChangeFileExtension(fileName, '');
  end;
end;

Es decir, se trata de usar la función "ChangeFileExtension()", sólo que, en lugar de indicarle una extensión (para cambiarla en el nombre de archivo) le pasamos una cadena vacía, de modo que lo que se consigue es quitar la extensión del nombre del archivo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 02-05-2008
sac sac is offline
Miembro
 
Registrado: abr 2007
Posts: 109
Poder: 18
sac Va por buen camino
probando

Ah buena idea dec... yo pense que había algun evento - atributo lo que fuera que lo haría directamente.
gracias ya estoy probando..
ah por favor lee mi siguiente pregunta please.
Responder Con Cita
  #4  
Antiguo 02-05-2008
sac sac is offline
Miembro
 
Registrado: abr 2007
Posts: 109
Poder: 18
sac Va por buen camino
nop

Hola de nuevo dec... utilice tu codigo pero no funciona. No se por qué mi delphi7 for win 32 no toma la sintaxis del ChangeFileExtension, no lo reconoce
Responder Con Cita
  #5  
Antiguo 02-05-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Me parece que esa función está en la unidad "SysUtils". Asegúrate de añadir dicha unidad.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 05-05-2008
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Sacar ext

Así lo extrae:

procedure TForm1.Label1DblClick(Sender: TObject);
begin
with OpenDialog1 do
begin
if Execute then
Label1.Caption:= copy(ExtractFileName(FileName), 1,
Pos('.',ExtractFileName(FileName))-1);
end;
end
;
Responder Con Cita
  #7  
Antiguo 05-05-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pero eso puede tener el problema de que un archivo incluya un punto (.) en su nombre. No estoy seguro, pero, me parece que la función "ChangeFileExt()" (por cierto, acaso por eso no se encontraba, creo que no es "ChangeFileExtension()", sino "ChangeFileExt()") tiene eso en cuenta.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 05-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Este código no serviría en el caso de archivos con nombres como:

iniciar.sesion.php

Aquí el nombre de archivo buscado sería

iniciar.sesion

mientras que el código lo que obtiene es

iniciar

La función que menciona dec (que creo que se llama ChangeFileExt) ya toma en cuenta este tipo de nombres.

Agrego:

Veo que se me adelantó dec. Pues eso mismo queria decir aunque lo dije mucho más largo.

// Saludos
Responder Con Cita
  #9  
Antiguo 05-05-2008
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Es cierto

Tienen razón, se me escapo la tortuga... no pensé en los puntos.
( y no conocia la función ChangeFileExt...)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como puedo crear un archivo con extension .bat en desde dephi Shidalis OOP 6 06-03-2012 18:09:41
Intel le saca ventaja a Negroponte en la carrera por la PC barata Robert01 Noticias 4 24-11-2007 19:53:52
¿Cómo puedo tomar la extensión de un archivo? nuri Varios 5 21-07-2005 11:12:59
como puedo con Delphi seleccionar todos los archivos con una misma extension dentro d the_dark_cure Internet 3 29-06-2003 20:21:01
como puedo con Delphi seleccionar todos los archivos con una misma extension dentro d the_dark_cure Varios 2 27-06-2003 14:07:08


La franja horaria es GMT +2. Ahora son las 11:35:02.


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
Copyright 1996-2007 Club Delphi