<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Определить соотношение сторон]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17902&amp;type=atom" />
	<updated>2023-08-06T12:59:45Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17902</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Определить соотношение сторон]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=158949#p158949" />
			<content type="html"><![CDATA[<p>Прекрасный пример использования ИИ! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-08-06T12:59:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=158949#p158949</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Определить соотношение сторон]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=158948#p158948" />
			<content type="html"><![CDATA[<p>Понадобилось определить и автоматически подстраивать Gui под разные мониторы, на форуме не нашёл ответа, попробовал напрячь ИИ. Может кому пригодится.</p><p>Первая версия кода:<br /></p><div class="codebox"><pre><code>width := 1920
height := 1080

; Получение сокращенной дроби и НОД
result := ReduceFraction(width, height)

; Вывод результата
MsgBox, Соотношение сторон: %result%

ReduceFraction(x, y) {
    gcd := GCD(x, y)
    reducedWidth := x // gcd
    reducedHeight := y // gcd
    Return reducedWidth &quot;:&quot; reducedHeight
}

GCD(X, Y) {
    while (Y) {
        R := Mod(X, Y)
        X := Y
        Y := R
    }
    Return X
}
Return</code></pre></div><p>В виде двух функций не особо хотелось, напряг ИИ ещё немного +сократил код:<br /></p><div class="codebox"><pre><code>MsgBox, % &quot;Соотношение сторон монитора: &quot; ReduceFraction(A_ScreenWidth, A_ScreenHeight)

ReduceFraction(X, Y){	;23:39 05.08.2023 [БОТ]
 GCD := X, D := Y
 While(D)
  M := Mod(GCD, D), GCD := D, D := M
 Return (X // GCD) &quot;:&quot; (Y // GCD)
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2023-08-06T09:48:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=158948#p158948</id>
		</entry>
</feed>
