Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Widows calculator (http://forum.oszone.net/showthread.php?t=55915)

Tromb 31-10-2005 00:50 369035

Widows calculator
 
Думаю, все видели виндовый калькулятор (кто не видел - пишите - пришлю скриншот и руководство пользования :-)
Так вот, эта зараза умеет работать с числами, если не ошибаюсь, до 33 знаков.

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

dim_alf 31-10-2005 11:34 369116

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

Tromb 31-10-2005 11:55 369124

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

dim_alf 31-10-2005 21:55 369341

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

Tromb 02-11-2005 00:13 369686

Ладно, буду трудиться

Admiral 05-11-2005 16:42 370588

Ты ж сам сказал, что калькулятор умеет с такими числами работать. Так что ж тебе мешает использовать его (программно).
Как?
А с помощью функции 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 и конечно же в Интернете.
Трудись.


Время: 21:52.

Время: 21:52.
© OSzone.net 2001-