COMO FAZER SOMAR COLUNA DO DBGRID, DIFERENCIANDO LETRAS E NUMEROS
23/10/2018
0
begin Total:=0; ClientDataSet1.DisableControls; ClientDataSet1.First; while not ClientDataSet1.Eof do begin Total := Total + StrToFloat(TrocaPtoPVirg(ClientDataSet1.FieldByName(Trim(lbl_campo.Caption)).AsString)); ClientDataSet1.Next; end; ClientDataSet1.First; ClientDataSet1.EnableControls; lbl_total.Caption:=''Total = ''+FloatToStr(Total); end;
Lucas Araujo
Post mais votado
24/10/2018
Total := 0; ClientDataSet1.DisableControls; ClientDataSet1.First; while not ClientDataSet1.Eof do begin Total := Total + StrToFloatDef(TrocaPtoPVirg(ClientDataSet1.FieldByName(Trim(lbl_campo.Caption)).AsString), 0); // Coloquei StrToFloatDef ClientDataSet1.Next; end; ClientDataSet1.First; ClientDataSet1.EnableControls; lbl_total.Caption := 'Total = ' + FloatToStr(Total);
Natanael Ferreira
Mais Posts
23/10/2018
Emerson Nascimento
var Total: float; lCampoNumerico: boolean; nPosCampo: integer; begin try nPosCampo := ClientDataSet1.FieldByName(Trim(lbl_campo.Caption)).FieldNo; except nPosCampo := -1; end; Total := 0; lCampoNumerico := (nPosCampo >= 0) and (ClientDataSet1.Fields[nPosCampo].DataType in [ftSmallInt, ftInteger, ftWord, ftFloat, ftCurrency, ftLargeint, ftShortint, ftExtended]); if lCampoNumerico then begin ClientDataSet1.DisableControls; ClientDataSet1.First; while not ClientDataSet1.Eof do begin if not ClientDataSet1.Fields[nPosCampo].IsNull then Total := Total + ClientDataSet1.Fields[nPosCampo].AsFloat; ClientDataSet1.Next; end; ClientDataSet1.First; ClientDataSet1.EnableControls; end; lbl_total.Caption := 'Total = '+FloatToStr(Total); end;
23/10/2018
Emerson Nascimento
23/10/2018
Lucas Araujo
no inicio esta dando que não foi declarado.. "Total: float;" , mais mudei ele para "real" para testar...
ai mandei debugar, e não deu erro, só não faz a somatória, fica zerado a soma.
24/10/2018
Lucas Araujo
Total := 0; ClientDataSet1.DisableControls; ClientDataSet1.First; while not ClientDataSet1.Eof do begin Total := Total + StrToFloatDef(TrocaPtoPVirg(ClientDataSet1.FieldByName(Trim(lbl_campo.Caption)).AsString), 0); // Coloquei StrToFloatDef ClientDataSet1.Next; end; ClientDataSet1.First; ClientDataSet1.EnableControls; lbl_total.Caption := 'Total = ' + FloatToStr(Total);
hehe testei seu procedimento, e funcionou, Obrigado.. xD
24/10/2018
Natanael Ferreira
Total := 0; ClientDataSet1.DisableControls; ClientDataSet1.First; while not ClientDataSet1.Eof do begin Total := Total + StrToFloatDef(TrocaPtoPVirg(ClientDataSet1.FieldByName(Trim(lbl_campo.Caption)).AsString), 0); // Coloquei StrToFloatDef ClientDataSet1.Next; end; ClientDataSet1.First; ClientDataSet1.EnableControls; lbl_total.Caption := 'Total = ' + FloatToStr(Total);
hehe testei seu procedimento, e funcionou, Obrigado.. xD
Blz, amigo. Que bom que funcionou.
Clique aqui para fazer login e interagir na Comunidade :)