Aí tem que ver a lógica do seu projeto. Ce deve tar pondo pra calcular dentro do Loop.
[]s Walter Alves Chagas Junior Projeto e desenvolvimento Telemont Engenharia de telecomunicações [EMAIL PROTECTED] Fone: (31) 3389-8215 Fax: (31) 3389-8200 > -----Mensagem original----- > De: Andre de Souza Ferreira [mailto:[EMAIL PROTECTED] > Enviada em: segunda-feira, 27 de dezembro de 2004 11:33 > Para: delphi-br@yahoogrupos.com.br > Assunto: RES: [delphi-br] Dúvida sobre um loop > > > > Há Walter, esqueci de te perguntar, porque que a cada volta > no loop ele me trás os cálculos? O que eu queria era enquanto > o programa estivesse captando dados, o memo só entraria em > ação quando eu entrasse com um salário negativo! Aí sim o > memo entraria em ação com cálculo final tudo certinho! Sabe > me dizer? Um abraço. > > > Att. > André Ferreira > Brasilsaúde Cia de Seguros > > -----Mensagem original----- > De: Walter Alves Chagas Junior [mailto:[EMAIL PROTECTED] > Enviada em: segunda-feira, 27 de dezembro de 2004 10:37 > Para: 'delphi-br@yahoogrupos.com.br' > Assunto: RES: [delphi-br] Dúvida sobre um loop > > > Olá amigo, > > Você tem que consistir os dados nos edits antes de gravá-los, > principalmente > dados do tipo inteiro e flutuante que dão pau se forem > gravados em formato > inválido. > > veja uma dica: > > > Mais uma pergunta: Se o usuário não digitar nada nos Edit's e > > clicar direto no Button!! Dá o seguinte erro: > > Para solucionar isto, no Evento OnClick do Button coloque o > seguinte código: > > if Edit1.Text = '' then > Edit1.Text := '0,00' > > Isto faz com que o Valor do Edit, caso ele esteja vazio, > seja-lhe atribuído > o valor 0,00 que não dá problema de gravação no banco. > > > E no Evento OnKeyPress do Edit, coloque o seguinte código: > > if not (Key in [#8,#9,'0'..'9',',']) then > begin > key := #0; > setfocus; > end; > > Isto impede que o usuário digite caracteres inválidos no Edit > fazendo com > que ele somente aceite numeros e a virgula. > > > []s > > Walter Alves Chagas Junior > Projeto e desenvolvimento > Telemont Engenharia de telecomunicações > [EMAIL PROTECTED] > Fone: (31) 3389-8215 Fax: (31) 3389-8200 > > > > > -----Mensagem original----- > > De: Andre de Souza Ferreira [mailto:[EMAIL PROTECTED] > > Enviada em: segunda-feira, 27 de dezembro de 2004 10:17 > > Para: delphi-br@yahoogrupos.com.br > > Assunto: [delphi-br] Dúvida sobre um loop > > > > > > > > Pessoal, bom dia a todos; > > > > Sou iniciante em programação Delphi e ká; estou eu estudando > > e me deparei com um problema!!! Tô fazendo um programinha, > > cujo a intensão é recolher dados de Salário da população e > > número de Filhos. > > > > Até aí ok!!! Coloquei no Form dois Edit's, um Botton para > > processar a informação e um Memo, onde sairão os cálculos!!! > > > > Os Cálculos são estes: > > > > Média de salários da populaçãoo, média de filhos, maior > > salário e percentual de pessoas com salário até 100,00 reais. > > Beleza!!! > > > > Coloquei um while, e minha condição de saída é um salário > > negativo. Mas não tô conseguindo prossessar o cálculo!!!! A > > cada volta do loop, ele me trás o cálculo que o sistema > > pede!!! O que tenho feito de errado!!!! > > > > Mais uma pergunta: Se o usuário não digitar nada nos Edit's e > > clicar direto no Button!! Dá o seguinte erro: > > --------------------------- > > Debugger Exception Notification > > --------------------------- > > Project Project_Ex3.exe raised exception class EConvertError > > with message ''' is not a valid floating point value'. > > Process stopped. Use Step or Run to continue. > > --------------------------- > > OK Help > > --------------------------- > > Como faço para evitar isso??? > > > > E a respeito do cálculo, como faço? Segue o código. Agradeço > > se houver alguem experiente no grupo que possa me dá¡ uma > > luz, a final, ninguém nasce sabendo!!! > > > > procedure TForm1.ProcessarClick(Sender: TObject); > > Var > > Salario, Maior_Salario, Soma_Salario, > > Soma_Filhos,Media_Salario, Media_Filho, Salario_Inicial, > > Percentual: Real; > > Filhos, Cont, Conta_Sal_100: Integer; > > begin > > Salario:= StrtoFloat (Edit1.Text); > > Filhos:= StrtoInt (Edit2.Text); > > While Salario < 0 do > > Soma_Salario:=0; > > Soma_Filhos:=0; > > Cont:=0; > > Conta_Sal_100:=0; > > Salario_Inicial:=Salario; > > Maior_Salario:=0; > > begin > > Soma_Salario:=Soma_Salario + Salario; > > Soma_Filhos:=Soma_Filhos + Filhos; > > if Salario<= 100 then > > Conta_Sal_100:=Conta_Sal_100 + 1; > > if Salario >= Salario_Inicial then > > Maior_Salario:= Salario; > > Cont:=Cont + 1; > > end; > > Edit1.Clear; > > Edit2.Clear; > > Edit1.SetFocus; > > Media_Salario:=Soma_Salario/Cont; > > Media_Filho:=Soma_Filhos/Cont; > > Percentual:=(Conta_Sal_100/Cont)/100; > > Memo1.Lines.Add('A Média de Salário da População é de > > R$ ' + Floattostr(Media_Salario) + #13); > > Memo1.Lines.Add('A Média de Filhos da População é de ' > > + Floattostr(Media_Filho) + ' Filhos' + #13); > > Memo1.Lines.Add('O Maior de Salário da População é de > > R$ ' + Floattostr(Maior_Salario) + #13); > > Memo1.Lines.Add('O Percentual de pessoas que ganham menos > > de R$ 100,00 : ' + Floattostr(Percentual) + '%' + #13); > > end; > > > > > > Att. > > André Ferreira > > Brasilsaúde Cia de Seguros > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > -- > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > Para ver as mensagens antigas, acesse: > > http://br.groups.yahoo.com/group/delphi-br/messages > > > > Para falar com o moderador, envie um e-mail para: > > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > > > > Yahoo! Grupos, um serviço oferecido por: > > > > <http://br.i1.yimg.com/br.yimg.com/i/br/ads4/2309_lrec_yshoppi > ng2.gif> > > > > <http://br.rd.yahoo.com/SIG=12avo6is8/M=264105.3931087.6562589 > .1588051/D=brclubs/S=2137111264:HM/EXP=1104237396/A=2361264/R= > 6/SIG=10v4acpp0/*http://br.shopping.yahoo.com/> > > > _____ > > Links do Yahoo! Grupos > > > * Para visitar o site do seu grupo na web, acesse: > http://br.groups.yahoo.com/group/delphi-br/ > > > * Para sair deste grupo, envie um e-mail para: > [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > > * O uso que você faz do Yahoo! Grupos está sujeito aos > Termos do Serviço do Yahoo! <http://br.yahoo.com/info/utos.html> . > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html