Ver Mensaje Individual
  #2  
Antiguo 07-06-2007
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Reputación: 21
xEsk Va por buen camino
Hola, creo q esto te puede servir, lo he hecho asi rapido, no lo he probado mucho, pero en mis mini-Tests hace lo q tu quieres:

Código Delphi [-]
procedure BuscaPalabra(Palabra: String; ListBox: TListBox; CaseSensitive: Boolean = False);

...

procedure TForm1.BuscaPalabra(Palabra: String; ListBox: TListBox;
  CaseSensitive: Boolean);
var
  n: Integer;

  function doCaseSensitive(LaPalabra: String): String;
  begin
    if not CaseSensitive then
      Result:=LowerCase(LaPalabra)
    else
      Result:=LaPalabra;
  end;

begin
  Palabra:=doCaseSensitive(Palabra);
  // busca
  for n:=0 to ListBox.Items.Count - 1 do
    if Pos(Palabra, doCaseSensitive(ListBox.Items[n])) > 0 then
      begin
        ListBox.ItemIndex:=n;
        Exit;
      end;
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  BuscaPalabra(Edit1.Text, ListBox1);
end;


Lo unico, q he hecho q filtre despues de soltar una tecla en el TEdit, en lugar de un boton, pero vamos, q eso tiene facil solucion!

Saludos.

Última edición por xEsk fecha: 07-06-2007 a las 16:57:13.
Responder Con Cita