Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Comparar dos memos (https://www.clubdelphi.com/foros/showthread.php?t=37600)

creus 16-11-2006 00:05:08

Comparar caracteres de dos memos
 
Me gustaria poder comparar caracter a caracter textos iguales en diferentes MEMOS.
Las lineas de texto soy capaz de contabilizarlas, Memo.Lines.Count, pero los caracteres no.


Gracias por la ayuda.

Neftali [Germán.Estévez] 16-11-2006 10:07:45

Para contar cuantas líneas, como bien dices, puedes utilizar Memo.Lines.Count, para acceder a cada línea usa Memo.Lines[i]; Para comparar cadenas tienes funciones como AnsiCompareStr y AnsiCompareText y si quieres acceder a los caracteres de una cadena puedes hacerlo como Str[i]; Por ejemplo:

Código Delphi [-]
  linea := Memo1.Lines[1];
  ch := linea[1];  // primer caracter
  ch := linea[2];  // segundo caracter
  ...

creus 16-11-2006 18:26:01

Gracias Neftali, vamos a ver si puedo solucionar el problema con tu ayuda.

creus 17-11-2006 16:16:08

Comparar dos memos
 
Estoy intentando hacer una comparacion de dos memos para saber que caracteres de los dos son diferentes y asi contabilizar los errores que hay.

ej: Memo1 Santiago
Memo2 Santiugo

error= 1


Mi código,

for index1:=0 to iTotalCaracterMemo1 do
begin
for index2:=0 to iTotalCaracterMemo2 do
begin
if (Memo2.Text[index2]=Memo1.Text[index1]then
begin
cont:=cont+1;
end;
end;
end;


Gracias a todos

Neftali [Germán.Estévez] 17-11-2006 16:21:19

No habras nuevos hilos para continuar con un tema que ya tienes abierto.
Revisa la Guía de estilo de los foros.
Y otra cosa, con 40 mensajes en los foros ya no eres un novato; Tal vez estaría bien que utilizaras TAGs cuando escribas código delphi.

NOTA: Borro este hilo nuevo y continua en el anterior.

creus 17-11-2006 16:29:47

Espero que asi este mejor.

Código Delphi [-]
for index1:=0 to iTotalCaracterMemo1 do
begin
for index2:=0 to iTotalCaracterMemo2 do
begin
if (Memo2.Text[index2]=Memo1.Text[index1]then
begin
cont:=cont+1;
end else
begin
   conterror:=conterror+1;
end;
end;


No logro que me contabilice ni los caracteres iguales, ni los diferentes.
Son 40 mensajes pero aun voy perdido, como puedes observar.


La franja horaria es GMT +2. Ahora son las 15:22:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi