Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   leer caracter por caracter, una linea de un memo (https://www.clubdelphi.com/foros/showthread.php?t=48839)

douglas 05-10-2007 05:09:45

leer caracter por caracter, una linea de un memo
 
buenas chicos, disculpen necesito leer caracter por caracter cada una de las lineas de un memo, se como leer linea por linea, pero caracter por caracter

dec 05-10-2007 06:59:31

Hola,

Una línea o todo el texto de un Memo no es sino una cadena de caracteres, un "array de char", con la particularidad de que su índice comienza en "1" y no en "0". Y en Delphi es posible recorrer una cadena de caracteres de varias formas, como en un bucle "for", por ejemplo. Esto se resumiría así, más o menos:

Código Delphi [-]
var
  s,t: string;
  i,k: integer;
begin
  s := 'Estás en el ClubDelphi';
  k := Length(s);
  for i := 1 to k do begin
    // Estamos dentro de la cadena
    t := t + s[i];
  end;
  // Mostrará "Estás en el ClubDelphi"
  ShowMessage(t);
end;

También es posible recorrer una cadena al menos de otra forma: usando "punteros", a la manera de Federico Firenze, que pueda que sea más rápida que la anterior forma de hacerlo:

Código Delphi [-]
var
  c: Char;
  a,s,d: PChar;
  l: integer;
begin
  a := '';
  s := 'Estás en el ClubDelphi';
  l := Length(s);
  d := Pointer(s);
  // Vamos a recorrer la cadena "s"
  while (l <> 0) do
  begin
    c := d^; // En "c" tenemos un caracter
    // A modo de ejemplo lo añadiremos a "a"
    a := PChar(a + c);
    Inc(d);
    Dec(l);
  end;
  // Mostrará "Estás en el ClubDelphi"
  ShowMessage(a);
end;


La franja horaria es GMT +2. Ahora son las 08:33:28.

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