Widows calculator

Ответить
Аватара пользователя
Tromb

Widows calculator

Сообщение Tromb »

Думаю, все видели виндовый калькулятор (кто не видел - пишите - пришлю скриншот и руководство пользования :-)

Так вот, эта зараза умеет работать с числами, если не ошибаюсь, до 33 знаков.



Вопрос. Что за тип данных использует калькулятор? Есть ли такой тип в Dekphi 7? Я знаю максимальный: Int64 = от -2^63 до 2^63-1. С этим типом мне удавалось считать числа до 19 знаков, больше - нима. Изображение
Аватара пользователя
dim_alf

Re: Widows calculator

Сообщение dim_alf »

А если, скажем, поразрядно проводить операции? Например, каждую цифру загонять в качестве элемента массива, и затем производить операции... Получится сложнее, но зато количество знаков неограниченоИзображение
Аватара пользователя
dim_alf

Re: Widows calculator

Сообщение dim_alf »

Но ведь это ж извращение. Наверника есть какой то тип.
Аватара пользователя
Tromb

Re: Widows calculator

Сообщение Tromb »

навряд ли... Это нерационально, потому что операции над такого порядка числами требуются достаточно редко...
Аватара пользователя
dim_alf

Re: Widows calculator

Сообщение dim_alf »

Ладно, буду трудиться
Аватара пользователя
Tromb

Re: Widows calculator

Сообщение Tromb »

Ты ж сам сказал, что калькулятор умеет с такими числами работать. Так что ж тебе мешает использовать его (программно).

Как?

А с помощью функции SendKey (в Visual Basic по умолчанию, а в Delphi вынесено в дополнительный файл).

Вот пример кода на VB6



Private Sub Command1_Click()

ret = Shell("calc.exe", vbNormalFocus)

AppActive "Калькулятор", False

SendKeys "1{+}2 = ^C %{F4}", True

Text1.Text = Clipboard.GetText()

End Sub



Работаем через буфер обмена.

Если так не устраивает, то лучше делать как посоветовал dim_alf.

На Делфи переписать не составит труда (там даже дополнительные операторы есть). Нужен только файл sndkey32.pas, который присутствует на диске от Делфи 7 и конечно же в Интернете.

Трудись.
Ответить

Вернуться в «Программирование и базы данных»