Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Problema Lectura de caracteres en String (https://www.clubdelphi.com/foros/showthread.php?t=78283)

gersojn 04-04-2012 21:31:37

Problema Lectura de caracteres en String
 
Hola, tengo un problema, estoy construyendo una aplicacion, en la cual, cargo un archivo a un Tmemo mediante un Dialogo.

Código:

Memo1->Lines->LoadFromFile(Open->FileName);
El problema radica, en que ademas de el contenido del archivo, tengo que almacenar en una variable el nombre del archivo. El Dialogo, me retorna la direccion completa del archivo, Ej: C:\carpeta\archivo.txt

Lo que se me ha ocurrido es leer caracter por caracter, de ese String, y por ejemplo leer ya sea desde .txt hacia atras, o desde C: hacia adelante, y detectar los "\ ", de esa manera ubicar en donde esta "archivo.txt". Inicialmente hize esto:

Código:

String nombre_archivo;
nombre_archivo = Open->FileName;

// con la funcion Lenght() determino el numero de caracteres
nombre_archivo.Lenght()

Ahora como puedo recorrer ese String caracter por caracter?
O si alguien tiene otra forma de obtener el nombre del archivo, les agradeceria mucho.

De antemano muchas gracias por las repuestas..

ecfisa 04-04-2012 21:42:12

Hola gersojn.

Podés usar la función ExtractFileName:
Código:

...
AnsiString Nombre;
 if (OpenDialog1->Execute())
  Nombre = ExtractFileName(OpenDialog1->FileName);
...

Saludos.

ecfisa 04-04-2012 21:57:45

Y si deseas sólo el nombre, sin la extensión:
Código:

AnsiString Nombre;
 if (OpenDialog1->Execute())
  Nombre = ExtractFileName(OpenDialog1->FileName).SubString(1,
    ExtractFileName(OpenDialog1->FileName).Length() -
    ExtractFileExt(OpenDialog1->FileName).Length());

Saludos.

gersojn 04-04-2012 22:07:54

Gracias por la ayuda
 
Muchas gracias por las respuestas, me han sacado de un gran apuro


La franja horaria es GMT +2. Ahora son las 05:24:23.

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