Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Nombre de una carpeta donde esta un archivo (https://www.clubdelphi.com/foros/showthread.php?t=65216)

pnikkosis 27-11-2009 21:28:10

Nombre de una carpeta donde esta un archivo
 
Buenas, no sabia bien como aclarar en el titulo, pero tengo el siguiente incoveniente en delphi 7. Estoy tratando de asignarle al caption de un label el nombre de un directorio donde esta un archivo; el problema es que no consigo como obtener el nombre limpio.
Me explico con un ejemplo, digamos que el archivo esta en C:\Cordoba\pepe.txt
Lo que yo quiero adquirir de ese "path" es la palabra "Cordoba" y que eso se asigne al caption del label.
(Si fuera C:\cordoba\capital\pepe.txt, lo que necesitaria de ahi seria "capital")
Se que con processpath puedo separar en diferentes variables las partes de la ubicacion de un archivo, pero lo que obtengo de separarlo es "\Cordoba" y cosas como ExcludeTrailingBackslash te saca las "\" pero del final, no del principio.
Y recien empiezo con delphi, pero me imagino que debe haber alguna funcion que lea un string y agregue o elimine ciertos caracteres, puede ser?
En fin, he ahi mi dilema, se agradece cualquier ayuda de antemano!

Lepe 27-11-2009 22:13:16

creo esto te basta:
Código Delphi [-]
var str:string;
begin
str := '\Cordoba';
delete(str, 1, 1);
ShowMessage(str);

También tienes la funciones:
Pos('\', 'aaaaa\a') que te devuelve en qué caracter está la primera cadena
Copy(str, 2, length(str) ) que copia "x" caracteres empezando en el caracter "y" (en ese ejemplo copiaría a partir de la segunda letra, hasta el final de la misma).

Saludos

bosster_018 28-11-2009 05:02:48

Como dijo Lepe
 
Lo que puedes hacer es borrar el primer caracter con la función "Delete"
Pues también a mi me paso algo parecido pero sacando el nombre de las Ventanas abiertas en Windows donde el resultado por alguna razón me devolvía con un caracter extraño (era el ultimo caracter), pero que lo resolví borrando este ultimo con "Delete"

pnikkosis 30-11-2009 12:46:24

Muchas gracias a los dos, me funcionó perfecto; con processpath llegué a "\XXXXXX" dentro de una variable string y con delete le borré el primer caracter. Genial.


La franja horaria es GMT +2. Ahora son las 16:58:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi