listview
yo tentando usar essa ideia para mudar o caption da listview2 tipo se eu cmudar o caption da listview1 ai muda os captions iguis da listview2 tbm
so q não esta funcionando
axo q a ideia sta certo. se puder me socorre em mais esse codigo eu agradeço de mais
var
contador : Integer;
Achou : Boolean;
begin
Achou := False;
If lv1.ItemIndex <> -1 Then
Contador := 0;
If lv1.ItemIndex <> -1 Then
Begin
While Contador <= lv2.Items.Count - 1 do
Begin
If lv2.Items.Item[Contador].Caption = lv1.Items.Item[lv1.ItemIndex].Caption Then
Begin
lv2.Items.(Contador);
Achou := True;
End
Else
Inc(Contador);
End
End;
so q não esta funcionando
axo q a ideia sta certo. se puder me socorre em mais esse codigo eu agradeço de mais
var
contador : Integer;
Achou : Boolean;
begin
Achou := False;
If lv1.ItemIndex <> -1 Then
Contador := 0;
If lv1.ItemIndex <> -1 Then
Begin
While Contador <= lv2.Items.Count - 1 do
Begin
If lv2.Items.Item[Contador].Caption = lv1.Items.Item[lv1.ItemIndex].Caption Then
Begin
lv2.Items.(Contador);
Achou := True;
End
Else
Inc(Contador);
End
End;
Lu
Curtidas 0
Respostas
Lu
22/03/2011
preciso muito dessa ajuda
GOSTEI 0
Wilson Junior
22/03/2011
Tente isto:
Espero ter colaborado.
procedure MudarCaption(NovoTexto: string); var x: integer; TextoAtual: string; begin if ListView1.ItemIndex < 0 then Exit ; TextoAtual := ListView1.Items.Item[ListView1.ItemIndex].Caption; ListView1.Items.Item[ListView1.ItemIndex].Caption := NovoTexto; for x := 0 to ListView2.Count - 1 do begin if ListView2.Items.Item[x].Caption = TextoAtual then ListView2.Items.Item[x].Caption := NovoTexto ; end; end; procedure ButtonClick(Sender: TObject); begin MudarTexto( Edit1.Text ); end;
Espero ter colaborado.
GOSTEI 0
Lu
22/03/2011
perdão usei a palavra errada eu quero allterar catption, tipo se eu allterar o caption da listview1 ai ele alltera todos os captions iguais da listview2
GOSTEI 0
Lu
22/03/2011
Achou := False;
If listview_funcionario.ItemIndex <> -1 Then
Contador := 0;
begin
While Contador <= listview_dependente.Items.Count - 1 do
Begin
If listview_dependente.Items.Item[Contador].Caption = listview_funcionario.Items.Item[listview_funcionario.ItemIndex].Caption Then
Begin
???????
Achou := True;
End
Else
Inc(Contador);
desse geito ai ñ sei bem se sta certo e tbm se tiver eu ñ sei oq colocar no espaço q coloquei a interrogação????
If listview_funcionario.ItemIndex <> -1 Then
Contador := 0;
begin
While Contador <= listview_dependente.Items.Count - 1 do
Begin
If listview_dependente.Items.Item[Contador].Caption = listview_funcionario.Items.Item[listview_funcionario.ItemIndex].Caption Then
Begin
???????
Achou := True;
End
Else
Inc(Contador);
desse geito ai ñ sei bem se sta certo e tbm se tiver eu ñ sei oq colocar no espaço q coloquei a interrogação????
GOSTEI 0
Emerson Nascimento
22/03/2011
crie a variavel FCaption na seção private do seu form e depois implemente os eventos OnChange e OnSelectItem da lista 1 (lv1).
type
TForm1 = class(TForm)
lv1: TListView;
Button1: TButton;
lv2: TListView;
procedure lv1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure lv1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
private
{ Private declarations }
FCaption: string;
public
{ Public declarations }
end; [....] procedure TForm1.lv1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
var
contador: integer;
begin
if Change = ctText then // se alterou o caption
for Contador := 0 to lv2.Items.Count - 1 do // varre a segunda lista
if lv2.Items.Item[Contador].Caption = FCaption Then // e se o caption for igual
lv2.Items.Item[Contador].Caption := Item.Caption; // troca para o novo caption
FCaption := Item.Caption;
end; procedure TForm1.lv1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
FCaption := Item.Caption;
end;
TForm1 = class(TForm)
lv1: TListView;
Button1: TButton;
lv2: TListView;
procedure lv1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure lv1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
private
{ Private declarations }
FCaption: string;
public
{ Public declarations }
end; [....] procedure TForm1.lv1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
var
contador: integer;
begin
if Change = ctText then // se alterou o caption
for Contador := 0 to lv2.Items.Count - 1 do // varre a segunda lista
if lv2.Items.Item[Contador].Caption = FCaption Then // e se o caption for igual
lv2.Items.Item[Contador].Caption := Item.Caption; // troca para o novo caption
FCaption := Item.Caption;
end; procedure TForm1.lv1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
FCaption := Item.Caption;
end;
GOSTEI 0
Lu
22/03/2011
poxa tem uma forma mas facil ñ?
ñ entedi esse q vc mandou
stava tentando esse geito ai so q sta allterando so 1
begin
existe:=true;
for i := 0 to listview1.Items.Count-1 do
begin
if listview1.Items[i].Caption =listview2.Items[i].Caption then
existe:=false;
begin
listview2.Items[i].Caption := listview1.Items[i].Caption;
end;
end;
end;
saberia me informa ond estou errando ou se falta colocar + alguma coisa para allterar todos da 2listview iguais?
ñ entedi esse q vc mandou
stava tentando esse geito ai so q sta allterando so 1
begin
existe:=true;
for i := 0 to listview1.Items.Count-1 do
begin
if listview1.Items[i].Caption =listview2.Items[i].Caption then
existe:=false;
begin
listview2.Items[i].Caption := listview1.Items[i].Caption;
end;
end;
end;
saberia me informa ond estou errando ou se falta colocar + alguma coisa para allterar todos da 2listview iguais?
GOSTEI 0
Lu
22/03/2011
poxa tem uma forma mas facil ñ?
ñ entedi esse q vc mandou
stava tentando esse geito ai so q sta allterando so 1
begin
existe:=true;
for i := 0 to listview1.Items.Count-1 do
begin
if listview1.Items[i].Caption =listview2.Items[i].Caption then
existe:=false;
begin
listview2.Items[i].Caption := listview1.Items[i].Caption;
end;
end;
end;
saberia me informa ond estou errando ou se falta colocar + alguma coisa para allterar todos da 2listview iguais?
ñ entedi esse q vc mandou
stava tentando esse geito ai so q sta allterando so 1
begin
existe:=true;
for i := 0 to listview1.Items.Count-1 do
begin
if listview1.Items[i].Caption =listview2.Items[i].Caption then
existe:=false;
begin
listview2.Items[i].Caption := listview1.Items[i].Caption;
end;
end;
end;
saberia me informa ond estou errando ou se falta colocar + alguma coisa para allterar todos da 2listview iguais?
todos os captions iguais da listview2
GOSTEI 0
Lu
22/03/2011
se puder me ajudar e dizer o porque da forma q estou fazendo ñ esta allterando
o que esta faltando agradeço muuuuuuuuuuuuito
o que esta faltando agradeço muuuuuuuuuuuuito
GOSTEI 0
Emerson Nascimento
22/03/2011
você precisa varrer a SEGUNDA lista e não a primeira:
begin
for i := 0 to listview2.Items.Count-1 do
if listview2.Items[i].Caption = listview1.Items[i].Caption then
listview2.Items[i].Caption := listview1.Items[i].Caption;
end;
for i := 0 to listview2.Items.Count-1 do
if listview2.Items[i].Caption = listview1.Items[i].Caption then
listview2.Items[i].Caption := listview1.Items[i].Caption;
end;
GOSTEI 0
Lu
22/03/2011
aff dgitei errado mais aqui no programa sta certo da forma q vc falou,
so q so allterando o 1 captio se tiverem 2 caption iguais so alltera
um sendo q deveria allterar todos iguais ao 1listview
so q so allterando o 1 captio se tiverem 2 caption iguais so alltera
um sendo q deveria allterar todos iguais ao 1listview
GOSTEI 0
Lu
22/03/2011
existe:=true;
for i := 0 to listview2.Items.Count-1 do
begin
if listview2.Items[i].Caption =listview1.Items[i].Caption then
existe:=false;
begin
listview2.Items[i].Caption := listview1.Items[i].Caption;
end;
end;
?????????
não sta dando certoooo,
so sta allterando 1 caption igual da 2ºlistview sendo q deveria altera todos
ue sao iguais
ja esto muuuito preocupado com esse erro
preciso de ajuda nesse codigo
for i := 0 to listview2.Items.Count-1 do
begin
if listview2.Items[i].Caption =listview1.Items[i].Caption then
existe:=false;
begin
listview2.Items[i].Caption := listview1.Items[i].Caption;
end;
end;
?????????
não sta dando certoooo,
so sta allterando 1 caption igual da 2ºlistview sendo q deveria altera todos
ue sao iguais
ja esto muuuito preocupado com esse erro
preciso de ajuda nesse codigo
GOSTEI 0
Lu
22/03/2011
?????????
GOSTEI 0