PDA

Ver la Versión Completa : busquedas en delphi


alejitoo
03-09-2010, 17:40:28
buenas quisiera saber si por casualidad algunos de ustedes tendria ya realizado un ejemplo en delphi donde salgan varias maneras de realizar busquedas ya sea por combobox, checkbox entre otros

ecfisa
03-09-2010, 18:33:22
Hola.

No me queda claro si lo que querés es seleccionar el tipo de busqueda (burbuja, inserción, shell, quicksort, etc) mediante los componentes que mencionas o buscar dentro del contenido de ellos.

Si es esto último es muy sencillo en aquellos que tienen la propiedad TStrings.

Te doy algunos ejemplos:

procedure TForm1.Button1Click(Sender: TObject);
var
lb,me,cb: string;
begin
lb:= ListBox1.Items[ListBox1.Items.IndexOf('hola mundo')];
cb:= ComboBox1.Items[Combobox1.Items.IndexOf('perro verde')];
me:= Copy(Memo1.Text,Pos('casa', Memo1.Text), Length('casa'));
ShowMessage(lb + #10#13 + cb + #10#13 + me);
end;


Pero te juro que no se me ocurre la manera de hacerlo con un CheckBox... :rolleyes:
Saludos. :)

alejitoo
06-09-2010, 17:59:37
si mira yo lo que quisiera hacer es esto un formulario donde tengo 2 checkbox donde uno se llama usuario y otro departamento y que cuando yo presione usuario e ingrese el usuario me realize la busqueda solo de los usuarios, al igual si presiono el checkbox de departamento.. y si utilizo un query que codificacion tendria que hacer.

ecfisa
06-09-2010, 19:22:29
Hola alejito.

No conviene usar un CheckBox en el caso que ponés, por que la selección no es excluyente, es decir alguién podría
elegir la busqueda por ambos casos y no es lo que deseas.

Te hago un ejemplo con TRadioGroup (items:'USUARIO' y 'DEPARTAMENTO'). Podés usar un TComboBox con iguales
resultados o si lo deseas, dos TRadioButtons.

Hay un TEdit, un TRadioGroup y un TDBGrid para el ejemplo. Use un IBQuery, pero es igual con un TQuery.

procedure TForm1.RadioGroup1Click(Sender: TObject);
var
Consulta: string;
begin
if RadioGroup1.ItemIndex = 0 then
Consulta:= 'SELECT * FROM TU_TABLA WHERE USUARIO = '+
QuotedStr(Edit1.Text)
else
Consulta:= 'SELECT * FROM TU_TABLA WHERE DEPARTAMENTO = '+
QuotedStr(Edit1.Text);
IBQuery1.Close;
IBQuery1.SQL.Text:= Consulta;
IBQuery1.Open;
end;


Saludos.