Есть ли будущее у DELPHI?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.43] |
|
|
Правила раздела:
| Страницы: (245) « Первая ... 49 50 [51] 52 53 ... 244 245 ( Перейти к последнему сообщению ) |
Есть ли будущее у DELPHI?
|
Сообщ.
#751
,
|
|
|
|
У DELPHI будущего нет.
|
|
Сообщ.
#752
,
|
|
|
|
FILETIME: всего 8 байт, в обозримом будущем не кончится (в отличие от юникс эпохи), очень удобен для сравнения, вычитания и т.п.
|
|
Сообщ.
#753
,
|
|
|
|
Я имею в виду, что во многих областях есть минимально полезные единицы времени, например для отдела кадров во многих случаях такой единицей являются сутки, для нормировщиков -- часы (иногда доли часов). В повседневной жизни нам даже секундная точность не всегда нужна. Зато операций над временем проводится много, вычисление различных периодов и т.п. Соответственно при использовании неточного значения вполне возможна вероятность погрешности, как у меня случилось. И дело даже не во внутреннем представлении, да бог с ним, пусть будет Extended, но интерфейс должен быть более строгим и однозначным. Если мне нужна только дата, то пусть TDate и работает как дата, без учета сколько там часов/минут/секунд/итд. Физика тут не при чем. |
|
Сообщ.
#754
,
|
|
|
|
Цитата korvin @ но интерфейс должен быть более строгим и однозначным. Если мне нужна только дата, то пусть TDate и работает как дата, без учета сколько там часов/минут/секунд/итд. тут согласен |
|
Сообщ.
#755
,
|
|
|
|
Цитата Chow @ Я не то, что-бы защищаю реализацию TDateTime, но мне кажется, что используя double, можно покрыть значительно большую точность. Только не забывай, что double, который используется в большинстве "обычных" языков неточен и чем мельче единицы времени тебе нужны, тем больше будет неточность. В повседневной жизни это не нужно. |
|
Сообщ.
#756
,
|
|
|
|
Цитата Chow @ А толку с того? Часы венды работают с точностью до 1/100 сек. Любые тайминги для юзермода с точностью до 1/1000 сек., да и то очень условно. Драйвера на делфи один фиг нельзя писать. На что будет опираться точность до 10 знаков? Я не то, что-бы защищаю реализацию TDateTime, но мне кажется, что используя double, можно покрыть значительно большую точность. Точность дабла в пересчете на десятичную систему измерения гарантирует 15 знаков. 5 знаков на целую часть (дни от 1900 года) - значит для доли дня остается 10 знаков, а это - наносекунды. Тем более, как уже сказал korvin, какая нафиг точность в заведомо неточном формате типа? |
|
Сообщ.
#757
,
|
|
|
|
Разработчик использовал Ole-совместимый тип - то, что он и обязан был сделать, если подразумевал что его dll должно взаимодействовать со сторонними модулями, а почему вот ты его не использовал - это да, вопрос. Вообще TDateTime как double - это не изобретение Delphi, это стандарт майкрософт для Ole-вариантных типов |
|
Сообщ.
#758
,
|
|
|
|
Цитата --Ins-- @ Вообще TDateTime как double - это не изобретение Delphi, это стандарт майкрософт для Ole-вариантных типов А, действительно, куда уж тут без майкрософта, чувствуется их гениальное инженерное решение. |
|
Сообщ.
#759
,
|
|
|
|
Цитата korvin @ А, действительно, куда уж тут без майкрософта В инструменте, предназначенном для программирования под Win32 - никуда Добавлено Цитата KILLER @ Ты просто не понял всего смысла заложенного в такой формат, вот скоро придет --Ins--, и все тебе разрулит, что все твои нубо UTC форматы - оцтой... Ну или типо того Не буди лихо |
|
Сообщ.
#760
,
|
|
|
|
Цитата Chow @ Взяли б тогда уж Comp, что ли... У него хотя бы арифметика точная. Я не то, что-бы защищаю реализацию TDateTime, но мне кажется, что используя double, можно покрыть значительно большую точность. Точность дабла в пересчете на десятичную систему измерения гарантирует 15 знаков. |
|
Сообщ.
#761
,
|
|
|
|
Цитата Повстанець @ А толку с того? ну меня, например, интересует точность в десять наносекунд. тока вот незадача, многие железки не хотят и не умеют работать с дробными числами, а если и умеют, то делают это медленно Цитата --Ins-- @ Разработчик использовал Ole-совместимый тип - то, что он и обязан был сделать, если подразумевал что его dll должно взаимодействовать со сторонними модулями чё-то я не понимаю, какое отношение это имеет к входным/выходным параметрам функции Цитата --Ins-- @ а почему вот ты его не использовал - это да, вопрос потому что кутэ не понимает, какая связь между дабл и кудатетайм ![]() ![]() #define TTime 25567.54166 * 86400 task.nu.nu.time = act.value(complect)->value(9).toDateTime().toTime_t() + TTime; |
|
Сообщ.
#762
,
|
|
|
|
Цитата Qraizer @ Взяли б тогда уж Comp, что ли... У него хотя бы арифметика точная. Цитата Comp is maintained for backward compatibility only. Use the Int64 type for better performance. Лучше бы взяли просто Int64, туда б пихали наносекунды от, скажем, 1970 года.. - до 2500 хватило б. |
|
Сообщ.
#763
,
|
|
|
|
Цитата _lcf_ @ чё-то я не понимаю, какое отношение это имеет к входным/выходным параметрам функции Прямейшее. Если ты пишешь модуль, с которым можно будет работать из другой программной среды, то к входным/выходным параметрам (и не только) предъявляются определенные требования, а использование ole-совместимых типов это требование выполняет Цитата _lcf_ @ потому что кутэ не понимает, какая связь между дабл и кудатетайм Это исключительно проблема твоего кутэ Ну, или языка/компилятора, почему он не поддерживает ole-совместимые типы для полноценной работы в win32. Или в конце концов - твоя, если поддерживает, но ты не используешь. Насрать на твое qt. Есть стандарт для межмодульного взаимодействия в Windows |
|
Сообщ.
#764
,
|
|
|
|
Цитата --Ins-- @ А WinApi типы не выполняют? Прямейшее. Если ты пишешь модуль, с которым можно будет работать из другой программной среды, то к входным/выходным параметрам (и не только) предъявляются определенные требования, а использование ole-совместимых типов это требование выполняет |
|
Сообщ.
#765
,
|
|
|
|
Цитата Повстанець @ А WinApi типы не выполняют? Протокол WinApi для межмодульного взаимодействия весьма ограничен и ненадежен (например как передавать между модулями исключения?) COM/Ole унифицирует же работу и с параметрами, и с классами/объектами, и с исключениями |