Progress - Seleccionar texto despues de un punto

 
Vista:

Seleccionar texto despues de un punto

Publicado por Afrika (48 intervenciones) el 21/05/2008 22:42:08
Buenas tardes.

Necesito seleccionar de una cadena la extension, es decir:

C:marielaexamenesprueba.txt

De esa cadena (porque es char) necesito seleccionar lo que va despues del " ." es decir "txt".

Cual es el comando que me permite hacer esto?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Seleccionar texto despues de un punto

Publicado por Miguel Angel (140 intervenciones) el 21/05/2008 23:40:17
Pudiera ser con un ENTRY, sería algo así:

DEF VAR lv-archivo AS CHAR FORMAT "x(40)".
DEF VAR lv-extension AS CHAR.

REPEAT:
/* Capturo nombre de archivo */
UPDATE lv-archivo.

IF SEARCH(lv-archivo) = ? THEN DO: /* Valido que exista el archivo */
MESSAGE "Archivo no existe" VIEW-AS ALERT-BOX.
UNDO, RETRY.
END.
/* Valido que el archivo tenga nombre y extensión */
IF NUM-ENTRIES(lv-archivo,".") = 2 THEN
lv-extension = ENTRY(2,lv-archivo,".").

DISPLAY lv-extension.
END.


Con esto obtienes la extensión de un archivo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Seleccionar texto despues de un punto

Publicado por Afrika (48 intervenciones) el 22/05/2008 16:20:25
Ok, entendido!

Esta pregunta surgió porque lo que quiero hacer es una busqueda en mi directorio "C" (por ejemplo) para buscar ese mismo archivo txt y renombrarlo, pero por lo que veo estoy de atras para adelante.... Ok, ya se como obtener la extension (gracias ;-) ); pero ahora como hago la busqueda en el directorio.

En el directorio solo voy a tener un solo archivo "txt" que es el que hablamos en la nota anterior, pero que pasa!?.... que yo necesito buscar en ese directorio el archivo. Cual es el problema!?... que el nombre del archivo puede variar, entonces yo me podria conseguir algo como:

C:carpetamarielita.txt

C:carpetaola.txt

Este es el codigo:
ASSIGN rutaTXT = "c:carpeta ".
ASSIGN rutaBCK = "c:carpeta ".
.
.
.(PROCEDIMIENTO PARA OBTENER EXTENSION)
.
.
OS-RENAME VALUE(rutaTXT) VALUE(rutaBCK).

Entonces no le puedo decir a rutaTXT = "C:carpetamarielita.txt" porque tambien podría ser rutaTXT = "C:carpetaola.txt"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar