Pascal/Turbo Pascal - Duda con la posición 0 de un string

 
Vista:

Duda con la posición 0 de un string

Publicado por SeiK (4 intervenciones) el 01/05/2007 19:09:56
Hola a todos, tengo una duda sobre los strings que os comento a continuacion:

Tengo que ver si un string esta vacio o si excede de un limite para decir si un nombre es correcto o no, pero no se sacar la cantidad de caracteres del string.
Me han comentado que se podia acer con Ord ( no lo e conseguido "error while linkinb") asique me doi por vencido :(

como se hace?

Muchas gracias de antemano
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:Duda con la posición 0 de un string

Publicado por micropais (209 intervenciones) el 01/05/2007 20:29:12
hola SeiK.

Efectivamente el primer byte de un string el [0] informa de cuantos caracteres o mejor dicho la longitud del string (creo que esta en formato de caracter).

var cad:=string;

begin
...
...

cad:=''; {esto es una cadena vacia}

if cad='' then writeln(la cadena cad no contiene datos) {}

cad:='cadena rellena de 31 caracteres'; {los espacios tambien cuentan}
writeln (length(cad)); { la funcion length contiene la longitud de la cadena }
writeln(cad[0] ) ; tambien informa de la longitud (creo, pues ahora no estoy seguro que necesita conversion +48 ascill para convertilo a numero).

Espero haberte ayudado ,para cualquier duda postea en estos foros que "pá" eso estan.

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:Duda con la posición 0 de un string

Publicado por Diego Romero (996 intervenciones) el 01/05/2007 23:01:50
Bien, la posición cero en los strings tipo pascal almacena el largo dinámico de la cadena, es decir "le dice" al lenguaje cuántos caracteres son significativos. No necesitas leer ni escribir en la posición cero del string, para saber el largo dinámico del string, como ha mencionado micropais, basta con usar la función estandar Length();
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:Duda con la posición 0 de un string

Publicado por Hackemate (1 intervención) el 21/05/2007 23:33:10
un ejemplo Aqui.
/---------------------
var
cad:string;
nCarac:byte;
begin
cad:='ejemplo'; (*le das un valor a la cadena*)
nCarac:=ord(cad[0]); (*nCarac ya tiene el numero de caracteres de la cadena*)
end.
-------------------------------/
lo que pasa en la posicion 0 del string, se graba el el tamaño de la cadena, pero no es numerico, con la funcion ORD obtines el valor numerico de dicha cadena.

Hackemate
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