<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: GUI наподобие калькулятора]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=6342&amp;type=atom" />
	<updated>2011-10-19T22:27:33Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=6342</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: GUI наподобие калькулятора]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=52709#p52709" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>sleep пишет:</cite><blockquote><p>чтобы к примеру A*B=AB</p></blockquote></div><p>Этой части вопроса я не понял.</p><p>Вот вариант калькулятора:<br /></p><div class="codebox"><pre><code>   oSC := ComObjCreate(&quot;ScriptControl&quot;)
   oSC.Language := &quot;VBScript&quot;
   
   Gui, Add, Edit, vEdit1 x10 y10 w150 h20
   Gui, Add, Edit, vEdit2 xp yp+30 wp hp
   Gui, Show, w170 h70, Сalculator
   Return

#If WinActive(&quot;Сalculator ahk_class AutoHotkeyGUI&quot;)
Enter::
   GuiControlGet, Edit1,, Edit1
   Result := oSC.Eval(Edit1)
   GuiControl,, Edit2, % RegExReplace(Result, &quot;(.*)\.0+$|(.*\..*?)0+$&quot;, &quot;$1$2&quot;)   ; убираем незначащие нули
   Return

GuiClose:
   ExitApp</code></pre></div><p>В первом поле пишем выражение, например 2 + 2, нажимаем Enter, результат появляется во втором.<br />Знак возведения в степень ^</p><p>Принцип работы: создаётся COM-объект <em>ScriptControl</em>, позволяющий воспользоваться методом <em>Eval</em> для вычисления динамических выражений, валидных в VBS.<br />Ещё есть <a href="http://forum.script-coding.com/viewtopic.php?id=2169">такой</a> вариант с созданием временного файла.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2011-10-19T22:27:33Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=52709#p52709</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: GUI наподобие калькулятора]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=52702#p52702" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>sleep</strong>, исправьте синтаксические и грамматические ошибки. Название темы следует сделать более информативным.</span></p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2011-10-19T15:15:13Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=52702#p52702</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: GUI наподобие калькулятора]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=52701#p52701" />
			<content type="html"><![CDATA[<p>Привет всем!<br />Помогите сделать окно к примеру 150X300, c двумя полями ввода A и B, и чтобы к примеру A*B=AB и выдавал ответ. А то у меня чтото не получается.&nbsp; Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[sleep]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26911</uri>
			</author>
			<updated>2011-10-19T14:32:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=52701#p52701</id>
		</entry>
</feed>
