• Viernes 8 de Noviembre de 2024, 21:39

Autor Tema:  Savedialog Obtener Nombre De Archivo Sin Su Path  (Leído 3035 veces)

zaryus

  • Miembro activo
  • **
  • Mensajes: 39
    • Ver Perfil
    • http://www.masfree.cl/
Savedialog Obtener Nombre De Archivo Sin Su Path
« en: Domingo 19 de Agosto de 2007, 02:55 »
0
hola, ojala alguien sepa, quisiera saber si hay algun metodo , clase o comos e llame paara extraer solo el nombre de un fichero seleccionado por un usuario mediante un SaveDialog, y que se muestra en un textbox Edit1, pero la ruta larga no me sirve, asi que necesito mostrar solo el nombre del fichero me explico:
en vez de:

 C:\archivos\noseque\archivo.txt

apareciera esto:

archivo.txt

Esto me facilitaria enormemente las cosas para el programa que estoy haciendo.

El  codigo que uso es este:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
SaveDialog1->Execute();
Edit1->Text = SaveDialog1->FileTitle;
}
//------------------------------------------------------


Lo otro que aun tengo pendiente es esto:

system("copy \librl.jmp\ \ " Edit1->Text);

Me da errores el compilador :(, loq ue quiero es que la ruta de destino sea el contenido del edit1 pero por mas que intento no me resulta, esto accediendo mal a la propiedad del edit???
Muchas gracias (oajala alguien pueda ayudarme)
Apenas me empiecen a enseñar programacion en este semestre prometo ayudar a quienes sepan menos que yo :D  :smartass: .-
Zaryus.-

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Savedialog Obtener Nombre De Archivo Sin Su Path
« Respuesta #1 en: Domingo 19 de Agosto de 2007, 11:25 »
0
Para obtener el nombre es bastante simple, recorre la cadena con un puntero hasta encontrar la ultima barra ('\\') o la primera, depende si empezas desde el final o el principio de la cadena.

Y para esto system("copy \librl.jmp\ \ " Edit1->Text);

Mejor hace algo asi:
Código: Text
  1.  
  2. string copiar = "copy \librl.jmp\ \ ";
  3. copiar += Edit1->Text;
  4. system(copiar.c_str());
  5.  
  6.  

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

zaryus

  • Miembro activo
  • **
  • Mensajes: 39
    • Ver Perfil
    • http://www.masfree.cl/
Re: Savedialog Obtener Nombre De Archivo Sin Su Path
« Respuesta #2 en: Domingo 19 de Agosto de 2007, 17:35 »
0
holaps, tu ayuda eternal es inestimable, empero todavia estoy en rudimentos de c++ :( soy cabeza dura, o tal vez el colon irritable me dificulta entender algunas cosas.
Estoy tratando de leer acerca de los punteros pero se me hace dificil, bueno, solo si puedes...¿me podrias dar una pista?
Pero si no, agradezco igual, y mcho por tu buena voluntad, creo que a fin de año cuando ya me hallan enseñado Turbo C++ ya estare en condiciones de enseñar a otros por lo menos algo.
Lo otro el codigo parece estar bueno sin embargo el compilador me arroja el siguienyte error, inlui la libreria string.h pensando que podia ser esa la causa
[C++ Error] Unit1.cpp(45): E2451 Undefined symbol 'string'
Todavia no puedo solucionarlo  :unsure:
Saludos.-

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Savedialog Obtener Nombre De Archivo Sin Su Path
« Respuesta #3 en: Domingo 19 de Agosto de 2007, 19:19 »
0
Es mucho mejor aprender C y C++ standard que las extensiones inutiles de Borland, aca tenes algo para empezar:

http://c.conclase.net/curso/index.php

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

zaryus

  • Miembro activo
  • **
  • Mensajes: 39
    • Ver Perfil
    • http://www.masfree.cl/
Re: Savedialog Obtener Nombre De Archivo Sin Su Path
« Respuesta #4 en: Domingo 19 de Agosto de 2007, 21:10 »
0
ya averigue como se hacia, luego de navegar por cientos de paginas en chino y arabe :S (el google solo me da resultados en esos idiomas cuando busco algun codigo de c++ builder):
Edit1->Text = ExtractFileName(SaveDialog1->FileName);
:D y me resulto, sin embargo aun no puedo resolver lo de la linea string que me sugeriste tu eternal idol.
Muchas gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Savedialog Obtener Nombre De Archivo Sin Su Path
« Respuesta #5 en: Domingo 19 de Agosto de 2007, 21:57 »
0
#include <string>
using namespace std;

Y sino usa AnsiString, la mierda de Borland ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.