Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
saber nombre de archivo en OpenDialog

Hola amigos

Anteriormente pregunte como modificar el tamaño de una imagen en Pixeles y el Bites el amigo _cero_ posteó un código que funcionó perfecto pero ahora necesito su ayuda una ves mas.

En la aplicación uso un OpenDialog y necesito saber el nombre de la imagen que se abre para poder guardarla con el mismo nombre agregándole delante un pequeño identificador que indique que fue convertida y luego necesito abrir la carpeta donde se guardo esa imagen.

Por el momento solo he logrado obtener la extensión asumiendo que siempre va a ser de 3 caracteres (cosa que no está del todo bien)

Les dejo el código para que lo miren

Código:
int b;
String a;

//obtener la extension del fichero seleccionado
    b = OpenDialog1->FileName.Length() - 3;
    a = OpenDialog1->FileName.Delete(1,b);
    a = a.LowerCase();

    jpg->SaveToFile("CONVERTIDA-" + IntToStr(Button1->Tag)+ "." + a);

    Button1->Tag = Button1->Tag + 1;
Como se puede ver elimino todo del OpenDialog1->FileName.Length() excepto los últimos 3 caracteres para obtener la extensión. posteriormente la guardo en la misma ubicación. Por el momento le pongo como nombre CONVERTIDA-1, CONVERTIDA-2,(...) CONVERTIDA-n y asi tantas como se conviertan.

Y por supuesto ni idea de como abrir la carpeta donde están para mostrárselas al usuario después de convertirlas.

Si desean ver el código completo está aquí


Gracias de antemano por su ayuda
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________

Última edición por lmpadron fecha: 06-12-2011 a las 23:06:36.
Responder Con Cita
  #2  
Antiguo 06-12-2011
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
Hay una función ExtractFileName que creo es lo que buscas.

// Saludos
Responder Con Cita
  #3  
Antiguo 06-12-2011
Avatar de thecidmx
thecidmx thecidmx is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 93
Poder: 13
thecidmx Va por buen camino
Cool tambien

para saber el nombre de archivo si, y para el directorio se puede usar ExtractFileDir();
__________________
La mejor forma de aprender es, compartir el conocimiento adquirido.
Responder Con Cita
  #4  
Antiguo 06-12-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
Hola y gracias por la ayuda

Me ha quedado algo asi

Código:
jpg->SaveToFile("CONVERTIDA-" + IntToStr(Button1->Tag) + "-" + ExtractFileName(OpenDialog1->FileName) + ".jpg");
Pero me incluye la antigua extensión dentro del nombre, trate con

Código:
jpg->SaveToFile("CONVERTIDA-" + IntToStr(Button1->Tag) + "-" + ExtractFileName(OpenDialog1->FileName.Length() - 3) + ".jpg");
pero me queda asi CONVERTIDA-0-46.jpg y la imagen se llama test.JPG lo que quiciera de ser posible es eliminar la extensión anterior para que no me que el nombre con dos extensiones
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #5  
Antiguo 06-12-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
Por favor disculpen sin querer realice dos preguntas en este post, ya he abierto uno nuevo para la segunda pregunta, gracias de todas formas a thecidmx por su respuesta, el nuevo post está aquí
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #6  
Antiguo 06-12-2011
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
Hola.

Creo que quedaría más sencillo usando las funciones que te han sugerido:
Código:
#include<StrUtils.hpp>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String Nom, Ext;

 if(OpenDialog1->Execute()) {
   Nom = ExtractFileName(OpenDialog1->FileName);
   Ext = ExtractFileExt(Nom);
   Nom = LeftStr(Nom, Nom.Length()-Ext.Length());
   Nom = "CONVERTIDA-" + IntToStr(Button1->Tag) + "-" + Nom + ".JPG";
 }

 ShowMessage(Nom); // aquí lo que desees hacer con 'Nom'
}
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
saber extensión de un archivo solo conociendo su nombre lucasarts_18 PHP 2 29-01-2008 16:52:06
Saber el nombre de una pc por la red trohan Redes 1 22-01-2008 20:56:04
Saber nombre de PC dunia_lv API de Windows 1 03-08-2006 15:53:15
copiar archivo desde opendialog empty Varios 2 07-10-2004 19:34:46
como saber numero de linea, nombre de archivo,funcion por codigo orfeo OOP 0 30-07-2004 18:42:15


La franja horaria es GMT +2. Ahora son las 12:40: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
Copyright 1996-2007 Club Delphi