<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Явное или не явное приведение integer к типу float]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7033&amp;type=atom" />
	<updated>2012-04-01T16:12:13Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7033</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58710#p58710" />
			<content type="html"><![CDATA[<p>Спасибо, информации достаточно, думаю что дальше я разберусь самостоятельно.</p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2012-04-01T16:12:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58710#p58710</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58709#p58709" />
			<content type="html"><![CDATA[<p>Да, если хотите ограничить его действие функцией, то надо возвращать обратно. Текущий содержится во встроенной переменной A_FormatFloat.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-04-01T16:08:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58709#p58709</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58705#p58705" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2012-04-01T15:33:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58705#p58705</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58704#p58704" />
			<content type="html"><![CDATA[<p>А что именно непонятно? Нажатие горячей клавиши, выбор пункта меню, вызов процедуры по таймеру — в каждом случае начинается новый поток выполнения. Если в этом потоке будет вызвана функция, в коде которой меняется формат, то до её вызова формат умолчательный, а после — изменённый. Т.е. весь код после её вызова (в этом потоке), включая вызовы других функций и процедур, уже будет работать с этим новым форматом.</p><p>Потоки в АНК, конечно, не настоящие, это условность. Просто последовательность выполняемых команд.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-04-01T15:22:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58704#p58704</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58702#p58702" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2012-04-01T14:56:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58702#p58702</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58701#p58701" />
			<content type="html"><![CDATA[<p>Поток и функция — разные вещи. В каком потоке вызывается эта функция, для того потока и будет изменён формат.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-04-01T14:49:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58701#p58701</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58699#p58699" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2012-04-01T14:35:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58699#p58699</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58698#p58698" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-04-01T14:26:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58698#p58698</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58696#p58696" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2012-04-01T13:54:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58696#p58696</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58678#p58678" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>SetFormat, float, .1
; Код
Y := 1.0*(50-Abs(DeltaY-50))</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-04-01T08:15:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58678#p58678</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58671#p58671" />
			<content type="html"><![CDATA[<p>Думаю, никак.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-04-01T02:36:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58671#p58671</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Явное или не явное приведение integer к типу float]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58668#p58668" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2012-03-31T19:42:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58668#p58668</id>
		</entry>
</feed>
