<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.autoitscript.com/w/index.php?action=history&amp;feed=atom&amp;title=PayCalc</id>
	<title>PayCalc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.autoitscript.com/w/index.php?action=history&amp;feed=atom&amp;title=PayCalc"/>
	<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=PayCalc&amp;action=history"/>
	<updated>2026-04-22T18:41:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=PayCalc&amp;diff=11365&amp;oldid=prev</id>
		<title>IEvKI3gv9Wrkd41u: +Category:Samples</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=PayCalc&amp;diff=11365&amp;oldid=prev"/>
		<updated>2012-11-14T14:38:13Z</updated>

		<summary type="html">&lt;p&gt;+Category:Samples&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:38, 14 November 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Samples]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;b&amp;gt;Script:&amp;lt;/b&amp;gt; payCalc&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;b&amp;gt;Script:&amp;lt;/b&amp;gt; payCalc&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IEvKI3gv9Wrkd41u</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=PayCalc&amp;diff=8219&amp;oldid=prev</id>
		<title>TMA-2: Initial version</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=PayCalc&amp;diff=8219&amp;oldid=prev"/>
		<updated>2009-11-18T01:05:11Z</updated>

		<summary type="html">&lt;p&gt;Initial version&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;b&amp;gt;Script:&amp;lt;/b&amp;gt; payCalc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Author:&amp;lt;/b&amp;gt; Jon Dunham&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Description:&amp;lt;/b&amp;gt; Simple GUI example to calculate hourly pay in real-time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &amp;quot;my code is a dog&amp;#039;s code&amp;quot; - &amp;lt;i&amp;gt;R. Beef Kazenzakis&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;source lang=autoit&amp;gt;&lt;br /&gt;
#include &amp;lt;ButtonConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;EditConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;StaticConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WindowsConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#region GUI setup&lt;br /&gt;
; create main window/form/frame&lt;br /&gt;
$formPC = GUICreate(&amp;quot;payCalc&amp;quot;, 251, 136, 346, 590)&lt;br /&gt;
&lt;br /&gt;
; create labels. it&amp;#039;s generally not necessary to set the returned handle&lt;br /&gt;
;  to a variable on static label controls you know you won&amp;#039;t be interacting with&lt;br /&gt;
GUICtrlCreateLabel(&amp;quot;Time:&amp;quot;, 8, 8, 30, 17)&lt;br /&gt;
GUICtrlCreateLabel(&amp;quot;Total pay:&amp;quot;, 8, 32, 51, 17)&lt;br /&gt;
; create read-only status boxes&lt;br /&gt;
$tTime = GUICtrlCreateInput(&amp;quot;&amp;quot;, 72, 8, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))&lt;br /&gt;
$tTotal = GUICtrlCreateInput(&amp;quot;&amp;quot;, 72, 32, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))&lt;br /&gt;
&lt;br /&gt;
; create buttons. use $BS_DEFPUSHBUTTON constant on Start to make it the default button for when {ENTER} is pressed.&lt;br /&gt;
;  the ampersand character specifies the alt-key shortcut to use&lt;br /&gt;
$btnStart = GUICtrlCreateButton(&amp;quot;&amp;amp;Start&amp;quot;, 8, 104, 75, 25, $BS_DEFPUSHBUTTON)&lt;br /&gt;
$btnStop = GUICtrlCreateButton(&amp;quot;S&amp;amp;top&amp;quot;, 88, 104, 75, 25)&lt;br /&gt;
$btnReset = GUICtrlCreateButton(&amp;quot;&amp;amp;Reset&amp;quot;, 168, 104, 75, 25)&lt;br /&gt;
&lt;br /&gt;
; rate label and input controls&lt;br /&gt;
GUICtrlCreateLabel(&amp;quot;Rate ($/hr):&amp;quot;, 8, 72, 59, 17)&lt;br /&gt;
$inRate = GUICtrlCreateInput(&amp;quot;0.00&amp;quot;, 72, 72, 57, 21)&lt;br /&gt;
&lt;br /&gt;
; finally, show the GUI&lt;br /&gt;
GUISetState(@SW_SHOW)&lt;br /&gt;
#EndRegion&lt;br /&gt;
&lt;br /&gt;
; init global var to keep track of the last timestamp if &amp;quot;Stop&amp;quot; is clicked&lt;br /&gt;
Global $lastTime = 0&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
	; main/idle GUI switch statement&lt;br /&gt;
	Switch GUIGetMsg()&lt;br /&gt;
	Case $GUI_EVENT_CLOSE&lt;br /&gt;
		GUIDelete()&lt;br /&gt;
		Exit&lt;br /&gt;
	Case $btnStart&lt;br /&gt;
		; enter calc function when Start is clicked&lt;br /&gt;
		payCalc()&lt;br /&gt;
	Case $btnReset&lt;br /&gt;
		; zero out gui controls and whatnot&lt;br /&gt;
		GUICtrlSetData($tTime, &amp;quot;&amp;quot;)&lt;br /&gt;
		GUICtrlSetData($tTotal, &amp;quot;&amp;quot;)&lt;br /&gt;
		$lastTime = 0&lt;br /&gt;
	EndSwitch&lt;br /&gt;
	&lt;br /&gt;
	Sleep(10)&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func payCalc()&lt;br /&gt;
	; start the timer&lt;br /&gt;
	$timer = TimerInit()&lt;br /&gt;
	; get the rate of pay to multiply based on the update interval, which in this case is 100 milliseconds or 1/10th second&lt;br /&gt;
	$calcRate = Number(GUICtrlRead($inRate))/60/600&lt;br /&gt;
	&lt;br /&gt;
	While 1&lt;br /&gt;
		; check GUI for events&lt;br /&gt;
		Switch GUIGetMsg()&lt;br /&gt;
		Case $GUI_EVENT_CLOSE&lt;br /&gt;
			GUIDelete()&lt;br /&gt;
			Exit&lt;br /&gt;
		Case $btnStop&lt;br /&gt;
			; when Stop button is clicked, set that global lastTime var to the current timestamp plus itself (+=) if we return to this function&lt;br /&gt;
			$lastTime += TimerDiff($timer)&lt;br /&gt;
			WinSetTitle($formPC, &amp;quot;&amp;quot;, &amp;quot;payCalc&amp;quot;)&lt;br /&gt;
			; return to main loop&lt;br /&gt;
			Return&lt;br /&gt;
		EndSwitch&lt;br /&gt;
		&lt;br /&gt;
		; update the time edit box, adding a millisecond display &amp;#039;cause it&amp;#039;s fun to watch numbers... i guess&lt;br /&gt;
		GUICtrlSetData($tTime, timeFormat(TimerDiff($timer)+$lastTime) &amp;amp; &amp;quot; [&amp;quot; &amp;amp; Round(Mod(TimerDiff($timer), 1000), 0) &amp;amp; &amp;quot;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		; multiply the adjusted rate by how much time has passed in ms/10 and set edit control, window title and traytip&lt;br /&gt;
		$totalPay = Round($calcRate * ((TimerDiff($timer)+$lastTime)/100), 2)&lt;br /&gt;
		WinSetTitle($formPC, &amp;quot;&amp;quot;, &amp;quot;$&amp;quot; &amp;amp; $totalPay &amp;amp; &amp;quot; [payCalc]&amp;quot;)&lt;br /&gt;
		TraySetToolTip(&amp;quot;$&amp;quot; &amp;amp; $totalPay &amp;amp; @CRLF &amp;amp; timeFormat(TimerDiff($timer)+$lastTime))&lt;br /&gt;
		GUICtrlSetData($tTotal, &amp;quot;$&amp;quot; &amp;amp; $totalPay)&lt;br /&gt;
		&lt;br /&gt;
		; sleep before looping&lt;br /&gt;
		Sleep(100)&lt;br /&gt;
	WEnd&lt;br /&gt;
EndFunc&lt;br /&gt;
&lt;br /&gt;
func timeFormat($ms, $sepChar = &amp;quot;:&amp;quot;)&lt;br /&gt;
	; custom function to make a nice HH:MM:SS display from a given time in milliseconds&lt;br /&gt;
	dim $sec, $min, $hr&lt;br /&gt;
	dim $s = round($ms/1000, 0 )&lt;br /&gt;
&lt;br /&gt;
	$sec = mod($s, 60)&lt;br /&gt;
	if $sec &amp;lt; 10 then $sec = &amp;quot;0&amp;quot; &amp;amp; $sec&lt;br /&gt;
	$min = Floor(mod($s/60, 60))&lt;br /&gt;
	if $min &amp;lt; 10 then $min = &amp;quot;0&amp;quot; &amp;amp; $min&lt;br /&gt;
	$hr = Floor($s/3600)&lt;br /&gt;
	if $hr &amp;lt; 10 then $hr = &amp;quot;0&amp;quot; &amp;amp; $hr&lt;br /&gt;
&lt;br /&gt;
	Return $hr &amp;amp; $sepChar &amp;amp; $min &amp;amp; $sepChar &amp;amp; $sec&lt;br /&gt;
EndFunc ; &amp;lt;== timeFormat&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>TMA-2</name></author>
	</entry>
</feed>