Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Somar horas porem campo A(Alphanumerico)


Eder

Pergunta

Ola...

Tenho que montar um relatorio no quickreport onde mostre as horas usadas em cada numero de telefone..

eu recebi um arquivo(paradox.db)já pronto de terceiro, com todos os dados de todos os telefones....porem todos os dados estão em formato A(alphanumerico).

O problema é que o campo chamado DURACAO é justamente a duração da ligação(00:00:00)

O problema é como vou somar este campo...já que esta em alphanumerico.. :blush: :blush:

Grato

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
O problema é que o campo chamado DURACAO é justamente a duração da ligação(00:00:00)

O problema é como vou somar este campo...já que esta em alphanumerico

Oi Eder ... isto é muito simples

procedure TForm1.Button1Click(Sender: TObject);
var time1, time2 : Ttime;
begin
    time1 := strtotime('00:01:00');
    time2 := strtotime('00:01:20');
    label1.caption := timetostr(time1 + time2);
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
mas no meu caso...no relatorio do quick...como eu faria?

poderias dar uma exemplo

Oi Eder .. achei que voce já tava craque no delphi ... rs

coloque o codigo no evento BeforePrint do QR, agora é só voce mudar de acordo com o que voce pretende.

procedure TQuickReport2.QuickRepBeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
var time1, time2 : TTime;
begin
   time1 := strtotime('00:01:34');
   time2 := strtotime('00:01:17');
   QRLabel1.Caption := timetostr(time1 + time2);

end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Oi Eder .. achei que voce já tava craque no delphi ... rs

R.: Shiiii...carinha...não uso com tanta frequência o Delphi não...rs.....só para ter uma idéia, já fazia quase um mes que não mexia em programação....somente estes dias é que o Micheus...tava me ajudando num relatório.....que foi resolvido.

Não é o meu forte não....rs

mas beleza..voltando ao esqueminha do rel.

depois que você respondeu este post por ultimo, lembrei que eu tinha feito algo semelhante um tempo atraz(se não me engano foi o Micheus..quem me deu os passos)....ai caiu a ficha..e bolei o esqueminha...ficando assim>|

private

   Horas, Horas_Sumary : TTime; //variavel que trata as horas.
   ValorX, Valor_Sumary : Real; //variavel que trata aos valores.

    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

{$R *.DFM}

procedure TForm4.QRBand3BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
//trata as horas
Horas := Horas+(StrToTime( Query1.FieldByName('DURACAO').AsString ));
//trata os valores
ValorX := ValorX+(StrToFloat( Query1.FieldByName('VALOR').AsString ));
end;


procedure TForm4.QRBand4BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
{abaixo totaliza a bandSumary}
//horas
Horas_Sumary := Horas_Sumary + Horas;
//valor
Valor_Sumary := valor_Sumary + ValorX;
{Abaixo Totaliza a Banda GRoupFooter de Cada um.}
//horas
QRHoras.CAPTION:=TimeToStr(horas);
//valor
QRValor.CAPTION:=FloatToStr(ValorX);
end;


procedure TForm4.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
//zerando todas variaveis
Horas := 0;
Horas_Sumary := 0;
ValorX := 0;
Valor_Sumary := 0;
end;

procedure TForm4.QRGroup1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
   //zerando variaveis da BandaGroupFooter
   Horas := 0;
   ValorX := 0;
end;

procedure TForm4.QRBand5BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
{Abaixo os totalizadores da BandSumary}
QRHTotal.CAPTION := TimeToStr(Horas_Sumary);
QRVTotal.CAPTION := FloatToStr(valor_Sumary);
end;

Como o relatório quebra por numero de telefone....então tenho que mostrar cada telefone e suas ligações logo após totalizar numa Group Footer e depois Totalizar no final na SumaryBand.

Ai fechou....o relatorio roda certinho.....

valeu..Jonas.

Abraço

:)

Editado por Eder
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...