![]() |
|
#1
|
||||
|
||||
![]() Решил спросить как можно соорудить калькулятор обрабатывающий задачу 3434+56-676*45 такого вида,
тобишь сразу строку даешь и подсчет, все исходники что видел типичные простые где вводишь по числу, а не ряд действий строкой. Думал насчет просмотра сначала на наличие * и /. Вырезать числа рядом с этими знаками и выполнять. Таким образом начиная от более приоритетных действий, только вопрос как можно вырезать числа рядом? |
#2
|
||||
|
||||
![]() Цитата:
Чтобы это было в хорошем тоне, советую познакомиться с регулярными выражениями, синтаксическими анализаторами, с обратной польской записью и т.д. ![]() |
#3
|
||||
|
||||
![]() рег выражениями пользовался, но они не думаю что тут помогут
|
#4
|
||||
|
||||
![]() Цитата:
|
#5
|
||||
|
||||
![]() Поищи слово "МАТЕМАТИКА" на странице. Или даже тут.
Помогаю за Спасибо ![]() |
#6
|
||||
|
||||
![]() Код:
unit Unit1; interface uses MSHTML, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, StdCtrls, ExtCtrls, OleCtrls, SHDocVw; type TFormMain = class(TForm) WebBrowser: TWebBrowser; Panel: TPanel; Edit: TEdit; Button: TButton; Memo: TMemo; procedure ButtonClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormMain: TFormMain; implementation {$R *.dfm} procedure TFormMain.ButtonClick(Sender: TObject); begin WebBrowser.Navigate('about:blank'); while WebBrowser.ReadyState<READYSTATE_INTERACTIVE do Application.ProcessMessages; (WebBrowser.Document as IHTMLDocument2).body.innerText:=''; (WebBrowser.Document as IHTMLDocument2).parentWindow.execScript('var r=3434+56-676*45; document.write(r);', 'javascript'); Memo.Lines.Insert(0, (WebBrowser.Document as IHTMLDocument2).body.innerText); end; end. естественно поддерживаются все математические функции. Пишу программы за еду. __________________ |
#7
|
||||
|
||||
![]() NumLock, интересное решение не подозревал о таком, спасибо сгодится, интересна лишь рациональность такого использования (через TWebBrowser)
|
#8
|
||||
|
||||
![]() Цитата:
|
#9
|
||||
|
||||
![]() Цитата:
Math.sqrt(9)+7 - (корень из 9) + 7 так же см.: Справочник по JScript : Объекты JScript : Объект Math Методы объекта abs acos asin atan atan2 ceil cos exp floor log max min pow random round sin sqrt tan Пишу программы за еду. __________________ |
#10
|
||||
|
||||
![]() хм вон как, пробовал просто без приставки "Math."
|
#11
|
||||
|
||||
![]() интересно почему они не добавили котангенс
|
#12
|
||||
|
||||
![]() Цитата:
[off] Куда мы катимся?) [/off] |
#13
|
||||
|
||||
![]() Konrad, не соглашусь, с тем же успехом можно было бы и тангенс находить sin/cos, лишние действия же ни к чему)
|
#14
|
||||
|
||||
![]() ALexandr55, данный "калькулятор" предоставляет тебе возможность использовать все конструкции, свойства, операторы, объекты, методы, функции и т.д. JavaScript, а ты про котангенсы...))) да на нем (калькуляторе) целые программы можно писать!
![]() Пишу программы за еду. __________________ |
#15
|
||||
|
||||
![]() Да, решение остроумное. Зачет однозначно. Интересно сам догадался или где слямзил идею?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |