Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
LsJack Novato

Registrado: Domingo, 5 de Julho de 2009 Mensagens: 99
|
Enviada: Sáb Mar 23, 2013 9:34 pm Assunto: Função retorna TListItems |
|
|
Galera, to tentando de todo jeito fazer uma funcao que retorne itens para o listview... mais so da erro... :/
alguem sabe como proceder? |
|
Voltar ao Topo |
|
 |
cyberdisk Colaborador

Registrado: Domingo, 4 de Julho de 2010 Mensagens: 2391 Localização: São José dos Campos - SP
|
Enviada: Sáb Mar 23, 2013 10:38 pm Assunto: |
|
|
poste o seu codigo para poder te ajudar _________________ O conhecimento abre muitas portas |
|
Voltar ao Topo |
|
 |
LsJack Novato

Registrado: Domingo, 5 de Julho de 2009 Mensagens: 99
|
Enviada: Sáb Mar 23, 2013 11:16 pm Assunto: |
|
|
cyberdisk escreveu: | poste o seu codigo para poder te ajudar |
esta assim:
Código: | function Lista(IDUser: Integer): TListItems;
var
FListaT: TListItems;
FItem: TListItem;
begin
FListaT := TListItem.Create(nil);
try
FItem := FListaT.add;
FItem.caption := 'teste';
Result := FListaT;
except
Result := nil;
end;
end; |
essa eh a ideia, mas nao da certo... :/ |
|
Voltar ao Topo |
|
 |
cyberdisk Colaborador

Registrado: Domingo, 4 de Julho de 2010 Mensagens: 2391 Localização: São José dos Campos - SP
|
|
Voltar ao Topo |
|
 |
LsJack Novato

Registrado: Domingo, 5 de Julho de 2009 Mensagens: 99
|
Enviada: Sáb Mar 23, 2013 11:43 pm Assunto: |
|
|
opa, tentei fazer para tlistitems, mas nao deu mto certo...
na hora de fazer listview1.items.assign(funcao), nao da certo, da erro...
to fazendo em POO, entao nao queria passar o listview1 como parametro...
mais alguma ideia? |
|
Voltar ao Topo |
|
 |
cyberdisk Colaborador

Registrado: Domingo, 4 de Julho de 2010 Mensagens: 2391 Localização: São José dos Campos - SP
|
Enviada: Dom Mar 24, 2013 12:02 am Assunto: |
|
|
Código: | var
I: Integer;
Item: TListItem;
begin
for I:= 0 to Listview1.Items.count-1 do
begin
if pos(Edit1.Text, Listview1.Items[I].Caption) <> 0 then
begin
Item:= ListView2.Items.Add;
Item.Assign(ListView1.Items[I]);
end
else
ShowMessage('Não Encontrado');
end; |
use esse codigo como base e veja o que consegue fazer
abraço _________________ O conhecimento abre muitas portas |
|
Voltar ao Topo |
|
 |
LsJack Novato

Registrado: Domingo, 5 de Julho de 2009 Mensagens: 99
|
Enviada: Dom Mar 24, 2013 12:20 am Assunto: |
|
|
cyberdisk escreveu: | Código: | var
I: Integer;
Item: TListItem;
begin
for I:= 0 to Listview1.Items.count-1 do
begin
if pos(Edit1.Text, Listview1.Items[I].Caption) <> 0 then
begin
Item:= ListView2.Items.Add;
Item.Assign(ListView1.Items[I]);
end
else
ShowMessage('Não Encontrado');
end; |
use esse codigo como base e veja o que consegue fazer
abraço |
opa, tava tentando usar lista:= tlistview.create(nil), para fazer uma lista temporaria e so passar os itens, mas li em um forum internacional q nao eh possivel...
entao resolvi de outra madeira, fiz um objectlist para receber os itens, e resolveu... nao gostei mto assim, mas tah funcionando... ^^
ficando assim o codigo:
Código: |
var
i: integer;
CContatoDAO: TContatosDAO;
CContato: TContatoLista;
Temp: TListItem;
begin
CContatoDAO := TContatosDAO.Create;
CContato := CContatoDAO.Lista(CUser.ID, [ccNome, ccDDDCel, ccCel, ccGrupos]);
for i := 0 to CContato.Count-1 do
begin
Temp := ListView1.Items.Add;
Temp.Caption := TContato(CContato.Items[i]).Nome;
Temp.SubItems.Add(IntToStr(TContato(CContato.Items[i]).DDDCel));
Temp.SubItems.Add(IntToStr(TContato(CContato.Items[i]).Cel));
Temp.SubItems.Add(TContato(CContato.Items[i]).Grupos);
Application.ProcessMessages;
end;
end; |
e o codigo do TContatoLista é :
Código: | TContatoLista = class(TObjectList)
private
function GetContato(I: Integer): TContato;
procedure SetContato(I: Integer; const Value: TContato);
protected
public
property Contato[I: Integer]: TContato read GetContato write SetContato;
end; |
|
|
Voltar ao Topo |
|
 |
cyberdisk Colaborador

Registrado: Domingo, 4 de Julho de 2010 Mensagens: 2391 Localização: São José dos Campos - SP
|
Enviada: Dom Mar 24, 2013 12:28 am Assunto: |
|
|
legal... vamos ver se algum outro colega tem outra solução
abraço _________________ O conhecimento abre muitas portas |
|
Voltar ao Topo |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
|
Voltar ao Topo |
|
 |
LsJack Novato

Registrado: Domingo, 5 de Julho de 2009 Mensagens: 99
|
Enviada: Dom Mar 24, 2013 7:12 pm Assunto: |
|
|
passar o TlistView inteiro como result da funcao??
e usar assim: Listview1.assing(Funcao)?? |
|
Voltar ao Topo |
|
 |
LsJack Novato

Registrado: Domingo, 5 de Julho de 2009 Mensagens: 99
|
Enviada: Dom Mar 24, 2013 7:13 pm Assunto: |
|
|
passar o TlistView inteiro como result da funcao??
e usar assim: Listview1.assing(Funcao)?? |
|
Voltar ao Topo |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Dom Mar 24, 2013 7:29 pm Assunto: |
|
|
Bom, com ListView você pode fazer assim:
Código: | // procedure
procedure TForm1.Lista(Objeto: TListView; IDUser: Integer);
var
FItem: TListItem;
begin
FItem := Objeto.Items.Add;
FItem.Caption := 'Teste';
end; |
Para usá-la, primeiro você instancia uma ListView e passa ela como parâmetro:
Código: | var
ListView: TListView;
begin
ListView := TListView.Create(Self);
ListView.Parent := Self;
ListView.Visible := False;
Lista(ListView, 0);
end; |
Eu só não entendi muito bem qual é o seu objetivo, LsJack. |
|
Voltar ao Topo |
|
 |
LsJack Novato

Registrado: Domingo, 5 de Julho de 2009 Mensagens: 99
|
Enviada: Dom Mar 24, 2013 7:34 pm Assunto: |
|
|
Batera escreveu: | Bom, com ListView você pode fazer assim:
Código: | // procedure
procedure TForm1.Lista(Objeto: TListView; IDUser: Integer);
var
FItem: TListItem;
begin
FItem := Objeto.Items.Add;
FItem.Caption := 'Teste';
end; |
Para usá-la, primeiro você instancia uma ListView e passa ela como parâmetro:
Código: | var
ListView: TListView;
begin
ListView := TListView.Create(Self);
ListView.Parent := Self;
ListView.Visible := False;
Lista(ListView, 0);
end; |
Eu só não entendi muito bem qual é o seu objetivo, LsJack. |
Meu objetivo dessa parte, é puxar os contatos de agenda de uma pessoa, to tentando usar orientação a objetos para fazer isso... |
|
Voltar ao Topo |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Dom Mar 24, 2013 7:43 pm Assunto: |
|
|
Ah entendi... legal.
Mas os contatos da agenda é composto por apenas um campo ou vários?
Talvez você pode usar até uma tabela temporária criada em tempo de execução... |
|
Voltar ao Topo |
|
 |
LsJack Novato

Registrado: Domingo, 5 de Julho de 2009 Mensagens: 99
|
Enviada: Dom Mar 24, 2013 8:34 pm Assunto: |
|
|
Batera escreveu: | Ah entendi... legal.
Mas os contatos da agenda é composto por apenas um campo ou vários?
Talvez você pode usar até uma tabela temporária criada em tempo de execução... |
varios atributos, sendo q um eh a chave estrangeira q eu seto na funcao o IDUser...
nunca usei tabela temporaria.. como se faz? |
|
Voltar ao Topo |
|
 |
|