Fórum somando em tempo de execução #364937
12/10/2008
0
A TODOS OBRIGADO.
Boavida
Curtir tópico
+ 0Posts
13/10/2008
Robinhocne
ou no onenter do 21ªDbEdit para fazer a soma!
Gostei + 0
13/10/2008
Eniorm
no evento OnExit do último eu implemento algo deste tipo
DBEdit5.Field.AsFloat := DBEdit1.Field.AsFloat + DBEdit2.Field.AsFloat + DBEdit3.Field.AsFloat + DBEdit4.Field.AsFloat;
Com isso, ao ser disparado o evento OnExit do último dbedit (DBEdit5) será feito as somas....
E para melhorar, eu seleciono os 4 primeiros dbedits (1, 2, 3 e 4), e associo o evento OnExit de cada dbedit, com o evento OnExit do DBEdit5
assim, a implementação deste evento será refletida para todos os 5 dbedits
abraços
Gostei + 0
13/10/2008
Boavida
Gostei + 0
14/10/2008
Facc
Realmente, se ele deixar algum Edit em branco vai dar erro de null is not a float value...
acredito que para isso terá que fazer uma verificação em todos os edits antes da soma, caso esteja em branco, jogar 0 (zero)
Gostei + 0
14/10/2008
Eniorm
if ((Sender as TDBEdit).Field.IsNull) then (Sender as TDBEdit).Field.AsFloat := 0; // restante do código
Gostei + 0
15/10/2008
Diegotiemann
var SOMA:Inteiro;;;considerando que aceite somente inteiros begin for I := 0 to ComponentCount - 1 do if Components[I] is TEdit then if TEdit(Components[I]).Text<>´´ then SOMA:=SOMA+StrToInt(TEdit(Components[I]).Text); //ai é so atribuir o valor da várivel onde ocê quer end;
Gostei + 0
16/10/2008
Boavida
Gostei + 0
16/10/2008
Emerson Nascimento
no evento OnExit do último eu implemento algo deste tipo
DBEdit5.Field.AsFloat := DBEdit1.Field.AsFloat + DBEdit2.Field.AsFloat + DBEdit3.Field.AsFloat + DBEdit4.Field.AsFloat;
Com isso, ao ser disparado o evento OnExit do último dbedit (DBEdit5) será feito as somas....
E para melhorar, eu seleciono os 4 primeiros dbedits (1, 2, 3 e 4), e associo o evento OnExit de cada dbedit, com o evento OnExit do DBEdit5
assim, a implementação deste evento será refletida para todos os 5 dbedits
abraços[/quote:d9383a009e]
essa é a melhor sugestão. e pode ficar tranquilo que não dará erro se algum campo estiver vazio, visto que o asFloat já resolve isso: se estiver vazio, retorna 0 (zero).
Gostei + 0
16/10/2008
Boavida
Gostei + 0
16/10/2008
Misterzire
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)