Конференция "Прочее" » Навеяло статьей с КД. Удивительно..
 
  • Vlad Oshin © (24.09.08 17:56) [0]
    procedure TForm1.Button5Click(Sender: TObject);
    var
     v: variant;
     d: tDate;
     dt:TDateTime;
    begin
     d:=now;
     dt:=now;
     ShowMessage(v+d+'1'+1+true);
     ShowMessage(v+dt+'1'+1+true);
    end;
  • Поросенок Винни-Пух © (24.09.08 17:59) [1]
    аачуметь....
  • Interior (24.09.08 18:22) [2]
    Воистину удивительно.
    TDate и TDateTime так отличаются?
  • {RASkov} © (24.09.08 18:22) [3]
    Этого не может быть!)
  • {RASkov} © (24.09.08 18:23) [4]
    Все бы ничего, если бы не '1' :)
  • {RASkov} © (24.09.08 18:33) [5]
    > [0] Vlad Oshin ©   (24.09.08 17:56)

    А что за статья?
  • Anatoly Podgoretsky © (24.09.08 19:19) [6]
    > {RASkov}  (24.09.2008 18:23:04)  [4]

    Все бы ничего, если бы не варианты.
  • {RASkov} © (24.09.08 19:22) [7]
    > [6] Anatoly Podgoretsky ©   (24.09.08 19:19)

    Если б не варианты, то ничего ...бы не вышло)
  • Поросенок Винни-Пух © (24.09.08 19:22) [8]
    так типы-то как бы везде одинаковы.
  • Поросенок Винни-Пух © (24.09.08 19:28) [9]
    в общем эта дура думает при сложении с вариантом, что TDate это целое
  • Поросенок Винни-Пух © (24.09.08 19:32) [10]
    тогда все логично. приведение типов по минимуму
  • Anatoly Podgoretsky © (24.09.08 19:52) [11]
    > Поросенок Винни-Пух  (24.09.2008 19:22:08)  [8]

    А ты не путай типы для вариантов, с типами Дельфи.
    Варианты это чужеродное. И тип DATE/TIME отличается, в Дельфи невозможно отличить DATE/TIME от Double, а в вариантах запросто.
  • Медвежонок Пятачок © (24.09.08 21:49) [12]
    что и где я путаю, говоря, что типы операндов в обоих случаях одинаковы?

    TDate = type TDateTime;

    То что в результате будет вариант это понятно. Тип его будет зависеть от остальных слагаемых.
  • Anatoly Podgoretsky © (24.09.08 22:17) [13]
    > Медвежонок Пятачок  (24.09.2008 21:49:12)  [12]

    На разных этапах вычисления выражения тип может меняться.
  • Vlad Oshin © (25.09.08 09:07) [14]

    > > [0] Vlad Oshin ©   (24.09.08 17:56)
    >
    > А что за статья?

    что-то как-то
    Пара фокусов и семь миражей..
    не помню..
  • Поросенок Винни-Пух © (25.09.08 09:11) [15]
    На разных этапах вычисления выражения тип может меняться.

    Все верно. Компилер в первом варианте увидел, что результат влезает в integer, но встретив '1' решил, что будет приводить это к вещественному.

    а во втором случае явный tdatetime повлиял на итоговый тип варианта
 
Конференция "Прочее" » Навеяло статьей с КД. Удивительно..
Есть новые Нет новых   [134442   +15][b:0][p:0]