Fórum De ListBox para ListBox #294119
01/09/2005
0
Estou tentando mas não estou conseguindo inserir no ListBox2, um item selecionado no ListBox1. Consigo preencher o ListBox1, com dados provenientes de um banco, mas preciso possibilitar que o usuario selecione o (os) item (s) desejado (s) no ListBox1 e insira no ListBox2, e a partir daí utilizar os dados do ListBox2 como parâmetros para uma query específica. Se alguem puder me ajudar, serei muito grato. Desde já eu agradeço.
Abraço a todos.
Programalista
Curtir tópico
+ 0Posts
01/09/2005
Bruno Belchior
with ListBox1 do ListBox2.Items.Add(Items[ItemIndex]);
isso se o parâmetro for realmente a string... senão use o [b:4cbbd226cb]AddObject[/b:4cbbd226cb] e passe um índice qualquer... :wink:
Gostei + 0
01/09/2005
Programalista
Abrigado, qq coisa estamos ai.
Att,
Programalista
Gostei + 0
01/09/2005
Programalista
[Error] Ulistbox.pas(106): Incompatible types: ´String´ and ´TStrings´
Algum saberia como resolver isto?
Obrigadaço! e abraço a todos.
Att,
Programalista.
Gostei + 0
01/09/2005
Bruno Belchior
if ListBox1.ItemIndex <> -1 then Query.ParByName(´Parametro1´).AsString := ListBox1.Items[ListBox1.ItemIndex];
Gostei + 0
02/09/2005
Programalista
Eu preciso de uma query assim:
select * from certificado where codigo in (125, 450, 80) order by codigo
sendo assim, ao comando do usuario, estarei passando esta query para o banco, onde os valores de parâmetro deverão ser aqueles que o usuario irá selecionar e que vão estar no ListBox2. Preciso desta solução porque o sistema que desenvolvi permite que o relatório seja convertido em .pdf e enviado por email, então atualmente, se preciso enviar 3 relatórios de certificado para o meu cliente, eu tenho que gerá-los um por um, converter em .pdf (através do sistema), salvar e só depois criar um email e anexar todos. Se eu conseguir o que pretendo, o usuário poderá selecionar os códigos que desejar (no ListBox1) e preencher o ListBox2 a partir daí irá disparar a geração ´do relatório´ (único) com tantas páginas de acordo que os códigos gerados, ou seja, se forem selecionados 3 códigos, será gerado um único relatório com 3 páginas. Então o sistema irá gerar um único .pdf que será enviado por email. Talvez tenha outra forma mais prática de implementar esta solução, se tiver alguma sugestão, ela será muito bem vinda. Agradeço desde já.
Att,
Programalista.
Gostei + 0
02/09/2005
Bruno Belchior
Gostei + 0
02/09/2005
Programalista
Eu listo os códigos no ListBox1 e quero passá-los como parâmetro, estes códigos são do tipo inteiro. A intenção de usar o LisBox em vez do CheckListBox é apenas para deixar de forma mais clara, o que usuário está selecionando.
Abraços.
Gostei + 0
02/09/2005
Rômulo Barros
Logo seu select ficaria assim:
select * from certificado where codigo in (1,2,3) order by codigo
[b:b03371bc89]
Para isto, utililzei como base o código abaixo:[/b:b03371bc89]
Var C : Byte; Query : String; Parametros : String; begin With(ListBox2)Do Begin Query := ´select * from certificado where codigo In´; Parametros := ´(´; For C := 0 To Items.Count -1 Do Begin If(C = Items.Count -1)Then Begin Parametros := Parametros + Items[C] + ´)´; End Else Begin Parametros := Parametros + Items[C] + ´,´; End; End; Query := Query + Parametros + ´ order by codigo´; ShowMessage(Query); End; end;
[b:b03371bc89]Espero q funcione de acordo com sua necessidade !!![/b:b03371bc89]
[u:b03371bc89][i:b03371bc89][b:b03371bc89][color=blue:b03371bc89]Obs:[/color:b03371bc89][/b:b03371bc89][/i:b03371bc89][/u:b03371bc89][color=red:b03371bc89] É fundamental que vc valide se o listbox2 possui itens para evitar erros.[/color:b03371bc89]
Gostei + 0
02/09/2005
Programalista
Agradeço também ao Bruno pelas suas valiosas contribuições.
Olha gente, sou iniciante na arte de programar, mas eu estou tentando e com certeza chegarei lá, por isso eu sou muito grato a todos àqueles que contribuem para o meu crescimento. Obrigado mesmo.
Abraços.
Gostei + 0
02/09/2005
Rômulo Barros
Gostei + 0
02/09/2005
Bruno Belchior
var ComandoSQL: string; begin ComandoSQL := Format(´Select * from Tabelas where Codigo in (¬s) order by ´ + ´Codigo´, [ListBox2.Items.CommaText]); end;
Gostei + 0
02/09/2005
Rômulo Barros
Está aí uma solução ´enxuta´ para o problema do nosso amigo.
Mais uma q eu não sabia e aprendi.
É Vivendo e aprendendo..
[b:9f898c339c]Parabéns... !!!![/b:9f898c339c] :wink:
Gostei + 0
02/09/2005
Bruno Belchior
Gostei + 0
02/09/2005
Programalista
Deste fórum eu não arredo mais o pé, incrível, aqui só tem ´feras´, desenvolvedores destemidos...e competentes. Não sem preocupem, ainda farei parte deste time para poder contribuir com algumas [b:91778914af]máximas [/b:91778914af]como estas.
Obrigadaço pessoal, vocês foram muito, mas muito solidários!
Abraços e Parabéns a você Bruno e a você Rômulo.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)