Pascal/Turbo Pascal - operaciones con variables string

 
Vista:

operaciones con variables string

Publicado por Alvaro (9 intervenciones) el 08/04/2005 22:05:51
¿Se puede operar con este tipo de variables?
Lo he intentado pero no lo he conseguido.
Y es mas ¿se puede operar entre estas variables con variables de otro tipo como integer por ejemplo?
Venga gracias.
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:operaciones con variables string

Publicado por Hurricane (26 intervenciones) el 09/04/2005 01:51:08
Muéstranos una variables definidas y cómo las estás tratando de usar....

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:operaciones con variables string

Publicado por PANLO CESAR VASQUEZ FUENTES (1 intervención) el 09/04/2005 02:55:48
QUIERO QUE ME COMPASRTAS TU PROGRAMA PARA VER COMO ESTA ESTRUCTURADO
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:operaciones con variables string

Publicado por Alvaro (9 intervenciones) el 09/04/2005 10:29:09
Es la recodida de datos para un calendario perpetuo, tiene unos case para que solo reconozca caracteres numericos.
El problema llega cuando le quiero asignar a un integer el resultado de restarle una constante a un string.

program calendario;
uses crt;
const ano_fijo=1582;
var x,y:byte;
anos_trans:integer;
ano:string[4];
mes,dia:string[2];
label labeldia,labelmes,labelano;
begin
clrscr;

anos_trans:=ano - ano_fijo; { Aqui me da el error,
es el nº 26: Type mismatch}
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

RE:operaciones con variables string

Publicado por Hurricane (26 intervenciones) el 11/04/2005 13:18:53
Veamos. "ano" es una variables String y "ano_fijo" es una constante numérica. Para realizar una operación entre ellos, tendrías que transformar primero "ano" a número mediamte la función "VAL".

Ej:
{Previamente debews definir "Err" como "Integer"}
{Si hay errores en la trasnformación, te lo indicará mediante un número}
{que representa la posición donde courre el error dentro de la cadena}
{a transformar. Si retorna cero, todo estuvo OK}
Val(ano, anos_trans, Err);
ano_trans := ano_trans - ano_fijo;

La sintaxis de VAL es:
VAL(Cadea :String; Var Destino; Var Numero_Error :Integer);

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:operaciones con variables string

Publicado por bill gate (5 intervenciones) el 12/04/2005 02:32:00
mira brutin tu no puedes hacer esas operaciones
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:operaciones con variables string

Publicado por Javi (1 intervención) el 12/04/2005 18:27:27
A ver lo q ocurre realmente es q con pascal estandar no hay cadenas de caracteres...Si hablamos de Turbo pascal, si, pero un string y un integer...como la de ano q tu utilizas no son tipos identicos, por eso TurboPascal devuelva esa excepcion...La conversion me parece buena idea...pero esa funcion no suelen enseñarla, prueba cogiendo el string...sacando cada uno de los elementos y lo guardas en otro lado haciedno
resultado:=resultado + elemento*10 sienod elemento el 1º caracter del string....

Las operaciones de strings se reducen a las funciones predefinidas por el compilador, poco mas puedes hacer, me refiero a concatenar, insertar, el famoso length, etc. Tienes union, como en conjuntos...pero poco mas. piensa q es lo q kieres hacer...piensa en un array y tu a eso le kieres sumar algo!!!no te compliques.espero haber ayudado.si la respuesta no se ajusta a la duda formulala de nuevo por favor

La pagina de mi uni:www.escet.urjc.es/~ip
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