Problemas com o count
Bom dia pessoal.
Meu problema é muito maluco... Vejam:
tem um form com dois Memos e um Button
o nome deles são MemoUser e MemoMail.
Nos dois tem exatamente 3 linhas e o mesmo texto nos dois;
[b:2dfb7ea387]
grep -w diney /etc/passwd
diney:x:1172:1172::/home/diney:/bin/bash
[root@mail /root]#
[/b:2dfb7ea387]
E preciso sempre de pegar o resulta da segunda linha dos dois Memos, então utilizei o código abaixo:
Teria que abrir duas caixas de mensagem subsequente na primeira exibindo o resulta da segunda linha do MemoUser e na outra caixa o mesmo resulta, só que do MemoMail.
[b:2dfb7ea387]
O problema é que a primeira caixa aparece vazia e a segunda caixa que abre aparece o resultado certinho!
O que será?
[/b:2dfb7ea387]
Abraços
Meu problema é muito maluco... Vejam:
tem um form com dois Memos e um Button
o nome deles são MemoUser e MemoMail.
Nos dois tem exatamente 3 linhas e o mesmo texto nos dois;
[b:2dfb7ea387]
grep -w diney /etc/passwd
diney:x:1172:1172::/home/diney:/bin/bash
[root@mail /root]#
[/b:2dfb7ea387]
E preciso sempre de pegar o resulta da segunda linha dos dois Memos, então utilizei o código abaixo:
showmessage(frmPrincipal.MemoUser.Lines[frmPrincipal.MemoUser.Lines.Count-2]); showmessage(frmPrincipal.MemoMail.Lines[frmPrincipal.MemoMail.Lines.Count-2]);
Teria que abrir duas caixas de mensagem subsequente na primeira exibindo o resulta da segunda linha do MemoUser e na outra caixa o mesmo resulta, só que do MemoMail.
[b:2dfb7ea387]
O problema é que a primeira caixa aparece vazia e a segunda caixa que abre aparece o resultado certinho!
O que será?
[/b:2dfb7ea387]
Abraços
Redoctober
Curtidas 0
Respostas
Douglas Bitencourt
21/09/2004
envie um pedaço maior do codigo para ver melhor...
GOSTEI 0
Redoctober
21/09/2004
envie um pedaço maior do codigo para ver melhor...
Pra eu te mandar é meio complicado... Vou tentar te explicar.
Fiz um sistema pra fazer conexões remotas em 2 servidores Linux., via telnet. Bom, usando o IdTelnet do Indy eu consegui fazer as conexões, como eu tenho que fazer duas conexões ao mesmo tempo tive que duplicar todos os componentes...
Tipo, um Idtelnet, um Memo que recebe os dados do telnet, uma caixa de texto que envia os comandos e um botão Ok.
Aqui que entra o que eu preciso!
É que depois de conectado nos dois servidores linux, o programinha deve verificar se existe o usuário informado, e a forma foi enviar para os dois servidores os seguintes comandos:
frmPrincipal.ComandoUser.Text := ´grep -w ´+Edit1.Text+´ /etc/passwd´; frmPrincipal.ComandoMail.Text := ´grep -w ´+Edit1.Text+´ /etc/passwd´;
ComandoUser.Text e ComandoMail.Text são duas caixas de texto que envia o comando via telnet que é respondido no MemoUser e no MemoMail.
Então, a resposta desses comandos vai para os dois mesmos que fica assim:
[b:6e1dbd7ca3][ MemoUser ][/b:6e1dbd7ca3]
grep -w diney /etc/passwd diney:x:1172:1172::/home/diney:/bin/bash [root@user /root]
[b:6e1dbd7ca3][ MemoMail ][/b:6e1dbd7ca3]
grep -w diney /etc/passwd diney:x:1172:1172::/home/diney:/bin/bash [root@mail /root]
A partir de agora, preciso imprimir a segunda linha dos dois memos
Entendeu?[/b]
GOSTEI 0
Douglas Bitencourt
21/09/2004
como não sei do código vou tentar algumas coisas que derrepente te apontam para o caminho correto.
eu fiz um teste aqui e funcionou direitinho.
só que vc está pegando estes valores pelo telnet e preenchendo o memo.
fica difícil avaliar deste jeito mas verifique estas coisas:
vc duplicou os componentes, ok, então vc teria duas origens para o dado solicitado, correto?
veja também se a variável utilizada para gerar a mensagem está pegando o valor correto (use step over ou F8 e pare o mouse sobre a atribuição da variável e veja o valor que aparece);
se a variável estiver correta, verifique se algum outro comando estaria limpando o conteúdo da mesma;
veja se os dados que estão sendo gravados no memo estão como linhas e não com espaços;
espero que ajude.
Douglas
eu fiz um teste aqui e funcionou direitinho.
só que vc está pegando estes valores pelo telnet e preenchendo o memo.
fica difícil avaliar deste jeito mas verifique estas coisas:
vc duplicou os componentes, ok, então vc teria duas origens para o dado solicitado, correto?
frmPrincipal.ComandoUser.Text := ´grep -w ´+Edit1.Text+´ /etc/passwd´; frmPrincipal.ComandoMail.Text := ´grep -w ´+Edit1.Text+´ /etc/passwd´; /\ ||
veja também se a variável utilizada para gerar a mensagem está pegando o valor correto (use step over ou F8 e pare o mouse sobre a atribuição da variável e veja o valor que aparece);
se a variável estiver correta, verifique se algum outro comando estaria limpando o conteúdo da mesma;
veja se os dados que estão sendo gravados no memo estão como linhas e não com espaços;
espero que ajude.
Douglas
GOSTEI 0
Marcelo Saviski
21/09/2004
Pode ser que vc esqueça de limpar os memos antes adicionar os valores e eles tenham algumas linhas em branco, tente antes de adicionar os valores no memo, tente isso:
talvez de certo
MemoUser.Clear; MemoMail.Clear;
talvez de certo
GOSTEI 0