<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Явное или не явное приведение integer к типу float]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7033</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7033&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Явное или не явное приведение integer к типу float».]]></description>
		<lastBuildDate>Sun, 01 Apr 2012 16:12:13 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58710#p58710</link>
			<description><![CDATA[<p>Спасибо, информации достаточно, думаю что дальше я разберусь самостоятельно.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sun, 01 Apr 2012 16:12:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58710#p58710</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58709#p58709</link>
			<description><![CDATA[<p>Да, если хотите ограничить его действие функцией, то надо возвращать обратно. Текущий содержится во встроенной переменной A_FormatFloat.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sun, 01 Apr 2012 16:08:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58709#p58709</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58705#p58705</link>
			<description><![CDATA[<p><strong>YMP</strong> так значит для надёжности надо вернуть формат к исходному, так да?<br />Например так<br /></p><div class="codebox"><pre><code>fnMouseSpeed(DeltaX,DeltaY)
{
SetFormat, float, 2.3 ;&lt;---- Поменяли формат
global JoyMultiplierX,minJoyMultiplierX,maxJoyMultiplierX
global JoyMultiplierY,minJoyMultiplierY,maxJoyMultiplierY
global JoyMouseSpeedHold
X := 1.0*Abs(DeltaX)
Y := 1.0*Abs(DeltaY)
;X := Abs(50-X)*minJoyMultiplierX
 
 
;if Y is float
;   MsgBox, %Y% is a floating point number.
   ;ToolTip X= %X% Y= %Y%
JoyMultiplierX := minJoyMultiplierX
JoyMultiplierY := minJoyMultiplierY
SetFormat, float, 03 ;&lt;---- Вернули формат
return
}</code></pre></div><p>И можно ли узнать какой либо функцией/директивой текущий формат, ну что бы восстановить его потом?</p><p>P.S. Я конечно мог не использовать функцию, но так удобнее - на мой взгляд + я собираюсь возвращать значение, просто застрял на вычислениях, т.е. данная функция отладочный-тестовый вариант (прототип)</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sun, 01 Apr 2012 15:33:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58705#p58705</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58704#p58704</link>
			<description><![CDATA[<p>А что именно непонятно? Нажатие горячей клавиши, выбор пункта меню, вызов процедуры по таймеру — в каждом случае начинается новый поток выполнения. Если в этом потоке будет вызвана функция, в коде которой меняется формат, то до её вызова формат умолчательный, а после — изменённый. Т.е. весь код после её вызова (в этом потоке), включая вызовы других функций и процедур, уже будет работать с этим новым форматом.</p><p>Потоки в АНК, конечно, не настоящие, это условность. Просто последовательность выполняемых команд.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sun, 01 Apr 2012 15:22:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58704#p58704</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58702#p58702</link>
			<description><![CDATA[<p>Так, даю общий код (фрагментарно) просто я боюсь что не верно понимаю.<br /></p><div class="codebox"><pre><code>fnMouseSpeed(DeltaX,DeltaY)
{
SetFormat, float, 2.3
global JoyMultiplierX,minJoyMultiplierX,maxJoyMultiplierX
global JoyMultiplierY,minJoyMultiplierY,maxJoyMultiplierY
global JoyMouseSpeedHold
X := 1.0*Abs(DeltaX)
Y := 1.0*Abs(DeltaY)
;X := Abs(50-X)*minJoyMultiplierX


;if Y is float
;   MsgBox, %Y% is a floating point number.
   ;ToolTip X= %X% Y= %Y%
JoyMultiplierX := minJoyMultiplierX
JoyMultiplierY := minJoyMultiplierY
return
}
; Обработка по таймеру
;=============Начало обработки мышки=============
;*********Курсор мышки
RightJoystick:
MouseNeedsToBeMoved := false  
SetFormat, float, 03
GetKeyState, JoyZ, %JoystickNumber%JoyZ
GetKeyState, JoyR, %JoystickNumber%JoyR
;------------------------------ Не принципмально важные вычисления
if JoyZ &gt; %JoyThresholdUpper%
{
	MouseNeedsToBeMoved := true
	DeltaX := JoyZ - JoyThresholdUpper
}
else if JoyZ &lt; %JoyThresholdLower%
{
	MouseNeedsToBeMoved := true
	DeltaX := JoyZ - JoyThresholdLower
}
else
	DeltaX = 0

if JoyR &gt; %JoyThresholdUpper%
{
	MouseNeedsToBeMoved := true
	DeltaY := JoyR - JoyThresholdUpper
}
else if JoyR &lt; %JoyThresholdLower%
{
	MouseNeedsToBeMoved := true
	DeltaY := JoyR - JoyThresholdLower
}
else
	DeltaY = 0
;------------------------------

if MouseNeedsToBeMoved
{
	SetMouseDelay, -1 
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    fnMouseSpeed(DeltaX,DeltaY) ; &lt;------------------------Вот вызов функции
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ;ToolTip DeltaX= %DeltaX% DeltaY= %DeltaY%
	MouseMove, DeltaX * JoyMultiplierX, DeltaY * JoyMultiplierY * YAxisMultiplier,JoyMouseSpeedHold,R
}
;*********
return
;=============Конец обработки мышки==============</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sun, 01 Apr 2012 14:56:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58702#p58702</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58701#p58701</link>
			<description><![CDATA[<p>Поток и функция — разные вещи. В каком потоке вызывается эта функция, для того потока и будет изменён формат.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sun, 01 Apr 2012 14:49:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58701#p58701</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58699#p58699</link>
			<description><![CDATA[<p><strong>creature.ws</strong> </p><div class="quotebox"><blockquote><p>Если SetFormat не используется в сценарии, целые умолчанию десятичном формате с плавающей точкой по умолчанию TotalWidth.DecimalPlaces = 0,6. <span class="bbu">Каждый новый поток (запускаемый как подпрограмма горячие клавиши, пункты меню или времени) стартует с эти значения по умолчанию , но по умолчанию может быть изменена с помощью SetFormat в секции автовыполнения ( верхняя часть скрипта)</span></p></blockquote></div><p>т.е. я как понял область действия функция - верно?<br />P.S. В моём случае конечно.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sun, 01 Apr 2012 14:35:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58699#p58699</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58698#p58698</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>If SetFormat is not used in a script, integers default to decimal format, and floating point numbers default to TotalWidth.DecimalPlaces = 0.6. Every newly launched thread (such as a hotkey, custom menu item, or timed subroutine) starts off fresh with these defaults; but the defaults may be changed by using SetFormat in the auto-execute section (top part of the script).</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Sun, 01 Apr 2012 14:26:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58698#p58698</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58696#p58696</link>
			<description><![CDATA[<p><strong>Irbis</strong> спасибо, всё правильно, только не <br /><em>SetFormat, float, <strong>.1</strong></em><br />а<br /><em>SetFormat, float, <strong>2.3</strong></em></p><p>Ну это уже детали вычислений, которые касаются только меня.</p><p>Да, вопрос.<br />Я не очень понял область действия SetFormat, т.е. установка&nbsp; <em>SetFormat, float, <strong>2.3</strong></em> будет справедлива в пределах этой функции или же пока я не укажу другое значение формата?</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sun, 01 Apr 2012 13:54:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58696#p58696</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58678#p58678</link>
			<description><![CDATA[<div class="codebox"><pre><code>SetFormat, float, .1
; Код
Y := 1.0*(50-Abs(DeltaY-50))</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Sun, 01 Apr 2012 08:15:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58678#p58678</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58671#p58671</link>
			<description><![CDATA[<p>Думаю, никак.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sun, 01 Apr 2012 02:36:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58671#p58671</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Явное или не явное приведение integer к типу float]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58668#p58668</link>
			<description><![CDATA[<p>Код не буду приводить, т.е. всё понятно из названия темы.<br />Хотя вот функция </p><div class="codebox"><pre><code>fnMouseSpeed(DeltaX,DeltaY)
{
SetFormat, float, 03
global JoyMultiplierX,minJoyMultiplierX,maxJoyMultiplierX
global JoyMultiplierY,minJoyMultiplierY,maxJoyMultiplierY
global JoyMouseSpeedHold
; Код************
Y := 50-Abs(DeltaY-50)  ; Как привести к типу float?
; Код************
if Y is float
   MsgBox, %Y% is a floating point number.

JoyMultiplierX := minJoyMultiplierX
JoyMultiplierY := minJoyMultiplierY
return
}</code></pre></div><p>Как выполнить приведение типов, явно?</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sat, 31 Mar 2012 19:42:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58668#p58668</guid>
		</item>
	</channel>
</rss>
