Fórum visualizar dados de uma tabela no listbox + delphi7 #410961

26/12/2011

0

boa noite a todos, estou precisando de uma ajuda com listbox. Já procurei muito na internet, o que encontro é mostrar um campo de uma tabela no listbox, selecionar um item no listbox. etc. etc.estou precisando do seguinte: tenho uma tabela com 15 campos, e preciso mostrar no listbox 5 campos, alguém pode me ajudar. Mostrar estes campos no dbgrid é facil, so que preciso que seja no listbox , e este é o problema. vamos dizer que na tabela tem 500 registro com 15 campos, eu preciso mostrar os 500 registros, porem somente dos 5 campos.obrigado desde já
feliz ano novo a todos.
geraldo leal
Geraldo Leal

Geraldo Leal

Responder

Posts

26/12/2011

Joel Rodrigues

Boa noite,
você precisa mostrar esses cinco campos lado a lado? Tipo fazer um grid no listbox?
Primeiro, deixe-me perguntar: isso é realmente necessário ou é a unica forma que você encontrou? Se preferir, compartilhe o problema, talvez possamos te ajudar.
Se você realmente precisa fazer assim, a unica forma que vejo é formatando o texto cada campo com uma largura específica, e isso geralmente só fica legal com certas fontes (tipo courrier e lucida console).
Pra isso, você lê todos os registros e monta um string com os cinco campos que precisa, onde cada campo tem uma largura fixa (você completa com espaços em branco) e adiciona ao listbox.
Se precisar de ajudar para fazer isso, é só avisar.

Abraço.
Responder

Gostei + 0

26/12/2011

Geraldo Leal

Boa noite,
você precisa mostrar esses cinco campos lado a lado? Tipo fazer um grid no listbox?
Primeiro, deixe-me perguntar: isso é realmente necessário ou é a unica forma que você encontrou? Se preferir, compartilhe o problema, talvez possamos te ajudar.
Se você realmente precisa fazer assim, a unica forma que vejo é formatando o texto cada campo com uma largura específica, e isso geralmente só fica legal com certas fontes (tipo courrier e lucida console).
Pra isso, você lê todos os registros e monta um string com os cinco campos que precisa, onde cada campo tem uma largura fixa (você completa com espaços em branco) e adiciona ao listbox.
Se precisar de ajudar para fazer isso, é só avisar.

Abraço.

 olá joel, obrigado pelo retorno, sim eu preciso que seja feito no listbox, e preciso que seja mostrado lado a lado, são numeros. veja o exemplo abaixo.
01 02 03 04 05 06 07
01 02 03 04 05 08 10 
01 02 03 04 07 08 09
01 02 03 05 06 07 08 
01 02 03 05 06 09 10 
01 02 03 05 08 09 12 
01 02 03 05 09 10 11 
01 02 03 06 07 08 09 

sim joel, preciso de ajuda para resolver isto, não consegui fazer não. meu banco tem vamos dizer como no exemplo.
10 campos. e preciso pegar estes 7 . cada linha é um registro. tipo linha 1 linha2 linha3 mais não precisa mostrar o numero da linha, somente os dados da linha.
mais uma vez obrigado pela atenção
sucesso
geraldo leal
Responder

Gostei + 0

27/12/2011

Joel Rodrigues

São só números? Nesse caso você pode usar a função FormatFloat para formatar os campos e deixar todos com o mesmo comprimento.
Veja o exemplo abaixo.
Declarei a variável item do tipo string e montei ela da seguinte forma: 001 002 003 004 005 (fiz apenas com dois campos, mas é só seguir o raciocínio.
A quantidade de # e zeros na função FormatFloat indica o formato do número, no caso, ###000 indica que o número será formatado com três algarismos e sem casas decimais. Os números são separados por espaços.
var
item:String
begin
with MinhaTabela do
 begin
 First();
  while not Eof do 
  begin
  item := ;//string vazio	
  item := item + FormatFloat(###000, FieldByName(campo1).AsFloat)+ +FormatFloat(###000, FieldByName(campo2).AsFloat);
  meuListBox.Items.Add(item);
  Next();
  end;
 end;
end;

Qualquer dúvida, é só falar. Se preferir, pode me mandar um email: joelrlneto@gmail.com

Grande abraço.
Responder

Gostei + 0

28/12/2011

Geraldo Leal

procedure Tfrmnumeros.SpeedButton10Click(
  Sender: TObject);

var
item:String ;

begin
with IBQuery1 do
begin
first();
while not Eof do
begin

item := ;//string vazio

item := item + FormatFloat(##00, FieldByName(bola1).AsFloat)+ + FormatFloat(##00, FieldByName(bola2).AsFloat)
+ + FormatFloat(##00, FieldByName(bola3).AsFloat)+ + FormatFloat(##00, FieldByName(bola4).AsFloat) +     ;
listapostas.Items.Add(item);
Next();
end;
end;
 end;

ai joel, obrigado pela ajuda, consegui resolver tudo, fica ai para quem quiser e estiver precisando.abraços e
sucesso, bom final de ano.pode fechar o post
Responder

Gostei + 0

28/12/2011

Geraldo Leal

procedure Tfrmnumeros.SpeedButton10Click(
  Sender: TObject);

var
item:String ;

begin
with IBQuery1 do
begin
first();
while not Eof do
begin

item := ;//string vazio

item := item + FormatFloat(##00, FieldByName(bola1).AsFloat)+ + FormatFloat(##00, FieldByName(bola2).AsFloat)
+ + FormatFloat(##00, FieldByName(bola3).AsFloat)+ + FormatFloat(##00, FieldByName(bola4).AsFloat) +     ;
listapostas.Items.Add(item);
Next();
end;
end;
 end;

ai joel, obrigado pela ajuda, consegui resolver tudo, fica ai para quem quiser e estiver precisando.abraços e
sucesso, bom final de ano.pode fechar o post
Estou fazendo uma citação pois coloquei que consegui resolver tudo, está errado, o joel conseguiu resolver
tudo, mais uma vez obrigado
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar