Pascal/Turbo Pascal - Comparar String

 
Vista:
sin imagen de perfil

Comparar String

Publicado por thenine (6 intervenciones) el 22/03/2007 11:06:02
Hola,

Tengo una serie de String predefinidosy necesito comparar si un String esta dentro de los String predefinidos, es decir
pruebo a hacer esto:

lstrin=('aaa','bbb','ccc','ddd');

y lo que quiero que devuelva es si la entrada que recibo esta o no en esa lista o conjunto

Podeis ayudarme??????????????


Por otro lado como sacar la 1ª letra de un string????

Saludos
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:Comparar String

Publicado por Carlos Guimaraenz (265 intervenciones) el 22/03/2007 16:34:48
Hola Thenine!
Para saber la primera letra de un string, usas cadena[1] (lo mismo con el resto de los caracteres.

Respecto a lo anterior, hice una función personalizada para ésto (se puede modificar para que no sea CASE SENSITIVE (que no diferencie entre minúsculas y mayúsculas):

function Str_Pos(original,buscada : string) : integer;
var
i,k : byte;
aux : integer;
longO,longB : byte;
begin
longO:=length(original);
longB:=length(buscada);
aux:=0;
if longO >= longB then
begin
i:=1;
while (i <= longO) and (original[i] <> buscada[1]) do
i:=i + 1;
{si no termina la cadena...}
if i <= longO then
begin
k:=1;
while (k <= longB) and (i <= longO) and (original[i] = buscada[k]) do
begin
i:=i + 1;
k:=k + 1;
end;
if k > longB then
aux:=(i - k) + 1;
end;
end;
Str_Pos:=aux;
end;

var
ori,bus : string;
pos : integer;
begin
Write('Palabra original: '); Readln(ori);
Write('Palabra buscada: '); Readln(bus);
Writeln;
pos:=Str_Pos(ori,bus);
if pos <> 0 then
Write('Cadena encontrada en la posición ',pos)
else
Write('CADENA NO ENCONTRADA');
readln;
end.

Un abrazo!
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:Comparar String

Publicado por Diego Romero (996 intervenciones) el 22/03/2007 19:43:00
Eh... ¿por qué la complicación cuando puedes usar la función Pos()?.
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:Comparar String

Publicado por Carlos Guimaraenz (265 intervenciones) el 23/03/2007 16:44:03
También puede servir... jajajaja. No me acordé de esa. De todos modos, no está de más practicar un poco jaja. Un abrazo!
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