Fórum Problemas ao quot;passarquot; dados de uma tabela para um #349145
18/11/2007
0
Olá, estou tendo um problema com um listbox...
A situação é o seguinte, eu usei o listbox para que o usuario possa selecionar um item. No caso desse sistema ele selecionara o numero de Matricula de um professor. Pra ficar mais facil pro cliente deixei concatenado o nome do professor ao lado do numero de Matricula , ambos são puxados da mesma tabela.
O problema é que quando a matricula aparece no listbox ela vem com um numero diferente, fiz varios testes com a formatação e nada resolveu.
Pra entender melhor, o numero que era pra ser 2976 aparece como 10924177
Um print screen do formulario com o numero zoado: http://img104.imageshack.us/my.php?image=relatriogj5.jpg
Usei a seguinte codificação pra fazer esse lance:
procedure TFrmrelatorio.FormCreate(Sender: TObject);
var
I: integer;
begin
DMSalles.TBprof.First;
While not DMSalles.TBProf.Eof do
begin
Inc(I);
lmatricula.Items.AddObject(Format(´¬d - ´, [I])+DMSalles.TBProf.FieldByName(´Nome´).AsString, TObject(DMSalles.TBProf.FieldByName(´Matricula´).AsInteger));
DMSalles.TBprof.Next;
end;
Alguem poderia me dar uma luz de como resolver isso ?
A situação é o seguinte, eu usei o listbox para que o usuario possa selecionar um item. No caso desse sistema ele selecionara o numero de Matricula de um professor. Pra ficar mais facil pro cliente deixei concatenado o nome do professor ao lado do numero de Matricula , ambos são puxados da mesma tabela.
O problema é que quando a matricula aparece no listbox ela vem com um numero diferente, fiz varios testes com a formatação e nada resolveu.
Pra entender melhor, o numero que era pra ser 2976 aparece como 10924177
Um print screen do formulario com o numero zoado: http://img104.imageshack.us/my.php?image=relatriogj5.jpg
Usei a seguinte codificação pra fazer esse lance:
procedure TFrmrelatorio.FormCreate(Sender: TObject);
var
I: integer;
begin
DMSalles.TBprof.First;
While not DMSalles.TBProf.Eof do
begin
Inc(I);
lmatricula.Items.AddObject(Format(´¬d - ´, [I])+DMSalles.TBProf.FieldByName(´Nome´).AsString, TObject(DMSalles.TBProf.FieldByName(´Matricula´).AsInteger));
DMSalles.TBprof.Next;
end;
Alguem poderia me dar uma luz de como resolver isso ?
Ravedelphi
Curtir tópico
+ 0
Responder
Posts
18/11/2007
Carlosrm
ravedelphi,
experimente acrescentar uma única linha, logo abaixo do primeiro ´begin´ do seu código:
[b:b3a1129b81]inc := 2975;[/b:b3a1129b81]
Você se esqueceu de dar um valor inicial para a variável (i) que criou. Nesse caso, é dado um valor inicial que depende do processador usado, se eu não me engano. Para tirar a dúvida, você pode atribuir vários valores diferentes para ´i´ em cada compilada, e observar qual o valor que aparece na listbox.
Como vc colocou uma função inc ANTES do código p/ adicioná-la na listbox, o valor inicial da variável ´i´ deve ser o valor desejado menos um.
Espero ter ajudado. (Obs: não testei seu código).
carlosrm.
experimente acrescentar uma única linha, logo abaixo do primeiro ´begin´ do seu código:
[b:b3a1129b81]inc := 2975;[/b:b3a1129b81]
Você se esqueceu de dar um valor inicial para a variável (i) que criou. Nesse caso, é dado um valor inicial que depende do processador usado, se eu não me engano. Para tirar a dúvida, você pode atribuir vários valores diferentes para ´i´ em cada compilada, e observar qual o valor que aparece na listbox.
Como vc colocou uma função inc ANTES do código p/ adicioná-la na listbox, o valor inicial da variável ´i´ deve ser o valor desejado menos um.
Espero ter ajudado. (Obs: não testei seu código).
carlosrm.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)