Pascal/Turbo Pascal - manejo de strings

 
Vista:

manejo de strings

Publicado por Lara (8 intervenciones) el 05/06/2006 02:42:09
Hola, quisiera saber si me pueden ayudar con un temita: para concatenar dos variables uso la funcion de string(), ya que una variable es del tipo fecha y la otra es un nombre. Mi pregunta seria: como hago la función inversa a esa, osea existe alguna función para separar dos valores(una cadena)?
Gracias. Lara
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:manejo de strings

Publicado por Diego Romero (996 intervenciones) el 05/06/2006 07:43:28
Sentido común: ¿cómo sabría la supuesta función qué parte de la cadena corresponde a una variable y qué parte a la otra?. Siendo una cadena un conjunto de caracteres cualquiera, la función tendría que determinar algún patrón concreto, me temo que eso no es posible. Tendrás que hacerlo "a mano".
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:manejo de strings

Publicado por micropais (209 intervenciones) el 05/06/2006 09:41:03
hola Lara.

Deberas trocear la cadena creada y separar los componentes.
hay muchas formas de hacer esto,- eso sí , a mano - .
- Si no sabes como hacerlo postea aqui con datos reales de la cadena
fusionada para ver los separadores de la cadena - espacios guiones etc -
y veremos lo que se puede hacer.

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:manejo de strings

Publicado por Lara (8 intervenciones) el 05/06/2006 13:42:54
La cadena que tengo que separar seria una fecha más un código que se lee así por ejemplo: 13022006a773b.
fecha(13022006) código(a773b)
te paso el código:
ASI LO UNO EN CADENA:
Dato.Clave:=str(fanio(RegV.fecha))+str(fmes(RegV.fecha))+str(fdia(RegV.fecha))+RegV.vuelo;

PERO NO SE COMO SEPARARLO:
reg.fecha:=???????????
reg.vuelo:=???????????

tengo que usar alguna función para separar la cadena o la corto yo directamente.?
Mil gracias.
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:manejo de strings

Publicado por micropais (209 intervenciones) el 05/06/2006 17:22:49
hola Lara.

No tenemos separador claro , pero conocemos la longuitud de los campos
13022006 a0773b
________ ______
- Fecha 8 digitos
- Clave 6 digitos
así que lo mas facil es usar la funcion COPY de pascal creando una subcadena
de la cadena.
ahí va el ejemplo , por cierto sigen siendo cadenas , no numeros , si necesitas
convertirla a numeros mira la funcion VAL.
Si tienes mas problemas postea.

SALUDOS.
__________________________________________________________

uses crt;
var cadena:string;
fecha:string;
codigo:string;
begin
clrscr; { 1 }
{12345678901234}
cadena:='13022006a0773b';
fecha:=copy(cadena,1,8);
codigo:=copy(cadena,9,14);

writeln('Cadena : ',cadena);
writeln('Fecha : ',fecha);
writeln('Codigo : ',codigo);

readln;
end.
____________________________________________
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