Pesquisa em Stringgrid
Alguem sabe se é possivel pesquisar dentro de uma string grid um determinado valor numa coluna ?
Midas
Curtidas 0
Melhor post
Wbb
23/08/2003
Sim. Descubra qual é a coluna (StringGrid.Col) e faça um ´for´ com as linhas para saber quais são seus conteúdos:
Var j, Coluna: Integer;
Begin
Coluna := StringGrid1.Col // Número da coluna que você clicou
For j:= 1 to StringGrid1.RowCount do
begin
ShowMessage(StringGrid1.Cells[Coluna, j]
{Sua rotina...
if.... qualquer coisa.... then
fim da sua rotina}
end;
8)
wbb
Var j, Coluna: Integer;
Begin
Coluna := StringGrid1.Col // Número da coluna que você clicou
For j:= 1 to StringGrid1.RowCount do
begin
ShowMessage(StringGrid1.Cells[Coluna, j]
{Sua rotina...
if.... qualquer coisa.... then
fim da sua rotina}
end;
8)
wbb
GOSTEI 1
Mais Respostas
4_olho
23/08/2003
Na teoria seria assim:
- para cada coluna,
- para cada célula, da primeira à última
- usar o POS
Serve?
- para cada coluna,
- para cada célula, da primeira à última
- usar o POS
Serve?
GOSTEI 0
Wbb
23/08/2003
Serve!
No envento OnClick do StringGrid (por exemplo), faça assim:
procedure TForm1.StringGrid1Click(Sender: TObject);
Var j, Coluna: Integer;
Begin
Coluna := StringGrid1.Col // Número da coluna que você clicou
For j:= 1 to StringGrid1.RowCount do
begin
if Pos(´blablabla´, StringGrid1.Cells[Coluna, j]) > 0 then
ShowMessage(´Encontrou´)
else
ShowMessage(´Não Encontrou´);
end;
end;
Beleza?
wbb
No envento OnClick do StringGrid (por exemplo), faça assim:
procedure TForm1.StringGrid1Click(Sender: TObject);
Var j, Coluna: Integer;
Begin
Coluna := StringGrid1.Col // Número da coluna que você clicou
For j:= 1 to StringGrid1.RowCount do
begin
if Pos(´blablabla´, StringGrid1.Cells[Coluna, j]) > 0 then
ShowMessage(´Encontrou´)
else
ShowMessage(´Não Encontrou´);
end;
end;
Beleza?
wbb
GOSTEI 0
Midas
23/08/2003
como funciona a função pos ( ) ?
GOSTEI 0
Wbb
23/08/2003
Funciona assim:
If Pos(´blablabla´, MinhaString) > 0 then
ShowMessage(´Existe´);
else
ShowMessage(´Não Existe´);
Isso significa que, se houver a SubString ´blablabla´ dentro da MinhaString, o valor de retorno da função POS será maior que 0.
Por exemplo:
Var MinhaString: String;
begin
MinhaString := ´abcdefgh´;
if Pos(´cd´, MinhaString) > 0 then
ShowMessage(´´cd´ está na posição ´ + IntToStr(Pos(´cd´, MinhaString)))
else
ShowMessage(´Não Existe´);
end;
OK?
A função sempre busca uma substring dentro de uma string e aponta qual a posição da substring se ela existir.
8)
wbb
If Pos(´blablabla´, MinhaString) > 0 then
ShowMessage(´Existe´);
else
ShowMessage(´Não Existe´);
Isso significa que, se houver a SubString ´blablabla´ dentro da MinhaString, o valor de retorno da função POS será maior que 0.
Por exemplo:
Var MinhaString: String;
begin
MinhaString := ´abcdefgh´;
if Pos(´cd´, MinhaString) > 0 then
ShowMessage(´´cd´ está na posição ´ + IntToStr(Pos(´cd´, MinhaString)))
else
ShowMessage(´Não Existe´);
end;
OK?
A função sempre busca uma substring dentro de uma string e aponta qual a posição da substring se ela existir.
8)
wbb
GOSTEI 0
Midas
23/08/2003
perfeito.. entendido ...
valeu pela ajuda .
valeu pela ajuda .
GOSTEI 0