Вверх ↑
Этот топик читают: Гость
Ответов: 1341
Рейтинг: 31
#1: 2018-11-06 13:06:00 ЛС | профиль | цитата
Есть варианты подружить дельфи с типом данных INT64, тоесть передавать скажем в DLL функцию, число в диапазоне 64 бита?

например родная функция библиотеки:
function rm(num:INT64):bool;

а использовать приходиться упрощённую версию, из за чего урезаются возможности библиотеки:
function rmSmall(num:integer):bool;

Редактировалось 1 раз(а), последний 2018-11-06 13:06:20
карма: 2

0
vip
#1.1контекстная реклама от партнеров
Ответов: 4621
Рейтинг: 746
#2: 2018-11-06 13:49:53 ЛС | профиль | цитата
В InlineCode или в коде компонентов - можно.
карма: 26

0
Ответов: 1341
Рейтинг: 31
#3: 2018-11-06 17:29:16 ЛС | профиль | цитата
Это как понять?, нельзя конвертировать скажем из строки в int64 ?
карма: 2

0
Ответов: 4621
Рейтинг: 746
#4: 2018-11-06 17:33:35 ЛС | профиль | цитата
В схеме? А зачем? Можно из строки в Double (больший диапазон, чем в Integer).
карма: 26

0
Ответов: 1341
Рейтинг: 31
#5: 2018-11-06 17:37:15 ЛС | профиль | цитата
Netspirit писал(а):
В схеме? А зачем? Можно из строки в Double (больший диапазон, чем в Integer).


так выходит Double это и есть тоже самое 8 байт?

а как сним работать, компоненты или что то готовое есть?

--- Добавлено в 2018-11-06 17:39:31

функция Str2Double ? и всё так просто что ли?

Редактировалось 1 раз(а), последний 2018-11-06 17:39:31
карма: 2

0
Ответов: 4621
Рейтинг: 746
#6: 2018-11-06 17:41:25 ЛС | профиль | цитата
Да, 8 байт, но с плавающей точкой. В компонентах - это тип Real. В компоненте Math свойство ResultType, в Convertor есть режим StrToReal.
карма: 26

0
Ответов: 8887
Рейтинг: 823
#7: 2018-11-06 18:27:31 ЛС | профиль | цитата
8-байтный формат с плавающей точкой имеет точность ~15 десятичных значащих цифр, у INT64 до почти 20 (~2*10^19), при конвертировании может потеряться точность.
карма: 19

0
Ответов: 4621
Рейтинг: 746
#8: 2018-11-06 18:47:21 ЛС | профиль | цитата
Rysik писал(а):
функция Str2Double ? и всё так просто что ли?
Ну, в нормальном Delphi ещё есть StrToInt64(), а в новой KOL - Str2Int64().
карма: 26

0
Ответов: 1341
Рейтинг: 31
#9: 2018-11-07 00:57:13 ЛС | профиль | цитата
Есть у кого время, небольшой код адаптировать?, платно
карма: 2

0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)