ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Função retorna TListItems
Ir à página 1, 2  Próximo
 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
LsJack
Novato
Novato


Registrado: Domingo, 5 de Julho de 2009
Mensagens: 99

MensagemEnviada: Sáb Mar 23, 2013 9:34 pm    Assunto: Função retorna TListItems Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Yahoo Messenger MSN Messenger
cyberdisk
Colaborador
Colaborador


Registrado: Domingo, 4 de Julho de 2010
Mensagens: 2391
Localização: São José dos Campos - SP

MensagemEnviada: Sáb Mar 23, 2013 10:38 pm    Assunto: Responder com Citação

poste o seu codigo para poder te ajudar
_________________
O conhecimento abre muitas portas
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
LsJack
Novato
Novato


Registrado: Domingo, 5 de Julho de 2009
Mensagens: 99

MensagemEnviada: Sáb Mar 23, 2013 11:16 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Yahoo Messenger MSN Messenger
cyberdisk
Colaborador
Colaborador


Registrado: Domingo, 4 de Julho de 2010
Mensagens: 2391
Localização: São José dos Campos - SP

MensagemEnviada: Sáb Mar 23, 2013 11:23 pm    Assunto: Responder com Citação

veja esse exemplo

http://www.swissdelphicenter.ch/torry/showcode.php?id=947

abraço
_________________
O conhecimento abre muitas portas
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
LsJack
Novato
Novato


Registrado: Domingo, 5 de Julho de 2009
Mensagens: 99

MensagemEnviada: Sáb Mar 23, 2013 11:43 pm    Assunto: Responder com Citação

cyberdisk escreveu:
veja esse exemplo

http://www.swissdelphicenter.ch/torry/showcode.php?id=947

abraço


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
Ver o perfil de Usuários Enviar Mensagem Particular Yahoo Messenger MSN Messenger
cyberdisk
Colaborador
Colaborador


Registrado: Domingo, 4 de Julho de 2010
Mensagens: 2391
Localização: São José dos Campos - SP

MensagemEnviada: Dom Mar 24, 2013 12:02 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
LsJack
Novato
Novato


Registrado: Domingo, 5 de Julho de 2009
Mensagens: 99

MensagemEnviada: Dom Mar 24, 2013 12:20 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Yahoo Messenger MSN Messenger
cyberdisk
Colaborador
Colaborador


Registrado: Domingo, 4 de Julho de 2010
Mensagens: 2391
Localização: São José dos Campos - SP

MensagemEnviada: Dom Mar 24, 2013 12:28 am    Assunto: Responder com Citação

legal... vamos ver se algum outro colega tem outra solução

abraço
_________________
O conhecimento abre muitas portas
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Dom Mar 24, 2013 8:35 am    Assunto: Responder com Citação

LsJack, por quê você não usa uma TListView no lugar de TListItems?
Na minha opinião fica mais fácil manipular...

http://docwiki.embarcadero.com/CodeExamples/XE2/en/TListItemSubItems_%28Delphi%29
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
LsJack
Novato
Novato


Registrado: Domingo, 5 de Julho de 2009
Mensagens: 99

MensagemEnviada: Dom Mar 24, 2013 7:12 pm    Assunto: Responder com Citação

Batera escreveu:
LsJack, por quê você não usa uma TListView no lugar de TListItems?
Na minha opinião fica mais fácil manipular...

http://docwiki.embarcadero.com/CodeExamples/XE2/en/TListItemSubItems_%28Delphi%29


passar o TlistView inteiro como result da funcao??

e usar assim: Listview1.assing(Funcao)??
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Yahoo Messenger MSN Messenger
LsJack
Novato
Novato


Registrado: Domingo, 5 de Julho de 2009
Mensagens: 99

MensagemEnviada: Dom Mar 24, 2013 7:13 pm    Assunto: Responder com Citação

Batera escreveu:
LsJack, por quê você não usa uma TListView no lugar de TListItems?
Na minha opinião fica mais fácil manipular...

http://docwiki.embarcadero.com/CodeExamples/XE2/en/TListItemSubItems_%28Delphi%29


passar o TlistView inteiro como result da funcao??

e usar assim: Listview1.assing(Funcao)??
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Yahoo Messenger MSN Messenger
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Dom Mar 24, 2013 7:29 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
LsJack
Novato
Novato


Registrado: Domingo, 5 de Julho de 2009
Mensagens: 99

MensagemEnviada: Dom Mar 24, 2013 7:34 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Yahoo Messenger MSN Messenger
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Dom Mar 24, 2013 7:43 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
LsJack
Novato
Novato


Registrado: Domingo, 5 de Julho de 2009
Mensagens: 99

MensagemEnviada: Dom Mar 24, 2013 8:34 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Yahoo Messenger MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Ir à página 1, 2  Próximo
Página 1 de 2

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB