Ver Mensaje Individual
  #1  
Antiguo 30-11-2014
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Reputación: 13
danielmj Va por buen camino
duda tonta con bucle For

Hola,

Estoy haciendo un generador de claves por eso de tener mil cuentas repartidas por internet y a veces no recordar algunas de ellas, en fin la duda es una tonteria (supongo), pero me trae frito, la cuestion es que el for no hace lo que quiero y no sé donde está el fallo, o dicho de otro modo, no sé como hacer para salir del bucle.

El código
Código Delphi [-]
procedure TForm1.findClick(Sender: TObject);
var
  i: integer;

begin
  for i:= 0 to clvs.Items.Count -1 do
    if (clvs.Items.Item[i].SubItems.Strings[2] = edit3.Text) and
       (length(clvs.Items.Item[i].SubItems.Strings[1]) > 32) then
       begin
          ShowMessage('La contraseña es demasiado larga para mostrarla aquí,'+#13#10+
                      'pero se le mostrará temporalmente en el campo texto'+#13#10+
                      '"Buscar contraseña".');
          edit3.Text:= clvs.Items.Item[i].SubItems.Strings[1];
       end
    else
    begin
      ShowMessage('La contraseña es: '+ clvs.Items.Item[i].SubItems.Strings[1]);
      break;
    end;
end;

Lo que intento con esas lineas es que busque la contraseña según el contenido de un edit, por ejemplo si en el edit pongo "google1" me debería devolver la contraseña de este "google1" Pero lo que hace es mostrarme una a una todas las contraseñas al ir recorriendo el listview. El uso del break es para forzarle a salir del bucle pero en ese caso solo me muestra el primer elemento del listview o lo que es lo mismo, el elemento del listview que le da valor 0 a la i sea o no igual al criterio de busqueda del edit.
¿Cómo hago para que el for acabe una vez encuentre el contenido del edit (en este caso edit3)?

Un saludo.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes.
Responder Con Cita