Muito Obrigado pelo esclarecimento. Ficou muito claro  a explicação.
Vivendo e aprendendo.
 
--
Atenciosamente:
 Evaldo Avelar Marques
 Programador Junior: Delphi, firebird/interbase, C# Dot Net, C++
 Debian GNU/Linux.
[EMAIL PROTECTED] Belo Horizonte/MG Brazil



----- Mensagem original ----
De: Rubem Nascimento da Rocha <[EMAIL PROTECTED]>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 11 de Março de 2008 14:34:25
Assunto: RE: [delphi-br] bug ao traballhar com horas, ou falta de conhecimento?

                  
Se vc consultar atentamente o help do Delphi, vai constatar que tanto TTime 
como TDate são, em essência, do tipo TDateTime. No seu caso, companheiro, um 
pouco de conhecimento a mais sobre esses tipos de dados se faria necessário.

Para que essa sua verificação funcione, sabendo que um TTime é na verdade um 
TDateTime, vc deve 'zerar' a parte de data do valor para que a comparação (que 
não deixa de ser um cálculo) funcione. Veja a aplicação do tipo console abaixo 
que exemplifica este esclarecimento:

program TesteDataHora;

{$APPTYPE CONSOLE}

uses
  Windows, SysUtils;

var
  TotalEntrada, TotalSaida: TDateTime;

function StringToOem( const s: string): string;
begin
  SetLength(Result, Length(s));
  AnsiToOem(PChar( s), PChar(Result) );
end;

begin
  TotalEntrada := Now();
  Sleep(1000);  // atraso intencional!
  TotalSaida := Now();

//  'Zera' a parte de data dos valores
  ReplaceDate( TotalEntrada, 0);
  ReplaceDate( TotalSaida, 0);

if TotalEntrada < TotalSaida then
    WriteLn(StringToOem ('O menor horário é TotalEntrada. '))
  else if TotalEntrada> TotalSaida then
    WriteLn(StringToOem ('O menor horário é TotalSaida.' ))
  else
    WriteLn(StringToOem ('Os horários são iguais.'));

Write('Tecle ENTER ...');
  WriteLn(Eoln) ;
end.

Sds.

____________ _________ _________ __

To: [EMAIL PROTECTED] os.com.br
From: evaldoavelar@ yahoo.com. br
Date: Tue, 11 Mar 2008 10:14:02 -0700
Subject: [delphi-br] bug ao traballhar com horas, ou falta de conhecimento?

Olá a todos.
Estou tentando fazer um simples calculo com horas, porem quando eu uso 
variáveis do tipo TTime, o calculo não funciona corretamente, mas se eu fizer a 
POG abaixo, a coisa passa a funcionar perfeitamente. Pergunto: tem alguma coisa 
que eu não esteja fazendo corretamente ou um detalhe que ficou para trás ou o 
Delphi 7 tem mesmo um bug?

Obs:Todas as variáveis são do tipo TTime;

Código que não funciona:
if (TotalEntrada <= TotalSaida )then
MenorHorario := TotalEntrada

Código POG que funciona:

if StrToTime( TimeToStr( TotalEntrada) ) <= StrToTime( TimeToStr( TotalSaida 
))then
MenorHorario := TotalEntrada

--
Atenciosamente:
Evaldo Avelar Marques
Programador Junior: Delphi, firebird/interbase, C# Dot Net, C++
Debian GNU/Linux.
evaldoavelar@ yahoo.com. br Belo Horizonte/MG Brazil

Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!
http://br.mail. yahoo.com/

[As partes desta mensagem que não continham texto foram removidas]

____________ _________ _________ _________ _________ _________ _
Veja mapas e encontre as melhores rotas para fugir do trânsito com o Live 
Search Maps!
http://www.livemaps .com.br/index. aspx?tr=true
    
          
<!--

#ygrp-mkp{
border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;}
#ygrp-mkp hr{
border:1px solid #d8d8d8;}
#ygrp-mkp #hd{
color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;}
#ygrp-mkp #ads{
margin-bottom:10px;}
#ygrp-mkp .ad{
padding:0 0;}
#ygrp-mkp .ad a{
color:#0000ff;text-decoration:none;}
-->

<!--

#ygrp-sponsor #ygrp-lc{
font-family:Arial;}
#ygrp-sponsor #ygrp-lc #hd{
margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
#ygrp-sponsor #ygrp-lc .ad{
margin-bottom:10px;padding:0 0;}
-->

<!--

#ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, 
sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;}
#ygrp-vitnav{
padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
#ygrp-vitnav a{
padding:0 1px;}
#ygrp-actbar{
clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
#ygrp-actbar .left{
float:left;white-space:nowrap;}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;font-size:77%;padding:15px 0;}
#ygrp-ft{
font-family:verdana;font-size:77%;border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;}

#ygrp-vital{
background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
#ygrp-vital #vithd{
font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
#ygrp-vital ul{
padding:0;margin:2px 0;}
#ygrp-vital ul li{
list-style-type:none;clear:both;border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
#ygrp-vital ul li .cat{
font-weight:bold;}
#ygrp-vital a{
text-decoration:none;}

#ygrp-vital a:hover{
text-decoration:underline;}

#ygrp-sponsor #hd{
color:#999;font-size:77%;}
#ygrp-sponsor #ov{
padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;margin:0;}
#ygrp-sponsor #ov li{
list-style-type:square;padding:6px 0;font-size:77%;}
#ygrp-sponsor #ov li a{
text-decoration:none;font-size:130%;}
#ygrp-sponsor #nc{
background-color:#eee;margin-bottom:20px;padding:0 8px;}
#ygrp-sponsor .ad{
padding:8px 0;}
#ygrp-sponsor .ad #hd1{
font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
#ygrp-sponsor .ad a{
text-decoration:none;}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;}
#ygrp-sponsor .ad p{
margin:0;}
o{font-size:0;}
.MsoNormal{
margin:0 0 0 0;}
#ygrp-text tt{
font-size:120%;}
blockquote{margin:0 0 0 4px;}
.replbq{margin:4;}
-->






      Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/

[As partes desta mensagem que não continham texto foram removidas]

Responder a