Jump to content
Sign in to follow this  
JonBMN

Getting needle to move with $MPH value

Recommended Posts

JonBMN

I've created a basic speedometer to read the time and date in real time, also created a program to read the MPH from the GPS calls to knots then deciphered it. I am pretty much stuck at this point trying to make the speedometer needle read the value of the MPH and show it accordingly by moving. Still new to GUI but its a learning experience for me.

here is the needle code: GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + 45, $ypos + 45)

here is the full GUI source code

SOLUTION POSTED AT BOTTOM

the question is how do I get the needle to move with the #MPH values and come forward in the gui window.

here is the included GPStest.au3

AutoItWinSetTitle("ArchangelProgram")
AutoItSetOption("MouseCoordMode", 1) ;1=absolute, 0=relative, 2=client
AutoItSetOption("MustDeclareVars", 1)
#include-once
#include
Opt("TrayMenuMode", 1)

HotKeySet("{ESC}", "Quit")

$Debug = False
Global $CommPort = "COM6", $Baudrate = 4800, $Received, $GPSHeader, $Dim, $Struct, $Const
Global $IniLongitude, $IniLatitude, $IniTime, $CurLongitude, $CurLatitude, $Longitude, $Latitude, $TimeElapsed, $I, $GetIniTime = True
Global $GetInitial = True, $Knots, $Miles, $Begin, $Dif, $Miles, $Hours, $MPH, $Time
$HerbieError = True

Func Quit()
If $SerialPortHandle <> -1 Then
_CommClose()
EndIf
Exit
EndFunc

Func DecodeKnots()
$MPH = Round($Knots * 1.15077)
;ConsoleWrite("My current speed is: " & $MPH & " MPH" & @CR)
EndFunc

Func DecodeGPGSA()
Local $AMode, $2Mode, $blank1, $blank2, $blank3, $blank4, $blank5, $blank6, $blank7, $blank8, $blank9, $blank10, $blank11, $blank12, $PDOP, $HDOP, $VDOP
$AMode = Parse()
$2Mode = Parse()
$blank1 = Parse()
$blank2 = Parse()
$blank3 = Parse()
$blank4 = Parse()
$blank5 = Parse()
$blank6 = Parse()
$blank7 = Parse()
$blank8 = Parse()
$blank9 = Parse()
$blank10 = Parse()
$blank11 = Parse()
$blank12 = Parse()
$PDOP = Parse()
$HDOP = Parse()
$VDOP = Parse()
;ConsoleWrite($AMode & $2Mode & $blank1 & $blank2 & $blank3 & $blank4 & $blank5 & $blank6 & $blank7 & $blank8 & $blank9 & $blank10 & $blank11 & $blank12 & $PDOP & $HDOP & $VDOP & @CR)
EndFunc

Func DecodeGPRMC()
Local $TimeStamp, $Validity, $LatitudeRMC, $NorS, $LongitudeRMC, $WorE, $TrueCourse, $DateStamp, $Variation, $EorW, $Checksum
$TimeStamp = Parse()
$Validity = Parse()
$LatitudeRMC = Parse()
$NorS = Parse()
$LongitudeRMC = Parse()
$WorE = Parse()
$Knots = Parse()
$TrueCourse = Parse()
$DateStamp = Parse()
$Variation = Parse()
$EorW = Parse()
$Checksum = Parse()
;ConsoleWrite($TimeStamp & $Validity & $Latitude & $NorS & $Longitude & $WorE & $Knots & $TrueCourse & $DateStamp & $Variation & $EorW & $Checksum & @CR)
EndFunc

Func DecodeGPGGA()
Local $UTCposition, $NorS, $EorW, $QualityIndicator, $SatellitesInUse, $SeaLevel, $HorizontalDilution, $Meters, $GeoidalSeparation, $MetersSep, $SecLastUpdate, $StationIDchecksum
$UTCposition = Parse()
$Latitude = Parse()
$NorS = Parse()
$Longitude = Parse()
$EorW = Parse()
$QualityIndicator = Parse()
$SatellitesInUse = Parse()
$HorizontalDilution = Parse()
$SeaLevel = Parse()
$Meters = Parse()
$GeoidalSeparation = Parse()
$MetersSep = Parse()
$SecLastUpdate = Parse()
$StationIDchecksum = Parse()
;ConsoleWrite($UTCposition & $Latitude & $NorS & $Longitude & $EorW & $QualityIndicator & $SatellitesInUse & $HorizontalDilution & $SeaLevel & $Meters & $GeoidalSeparation & $MetersSep & $SecLastUpdate & $StationIDchecksum & @CR)
;ConsoleWrite($SeaLevel & @CR)
EndFunc

Func DecodeGPGSV()
Local $MessagesCycle, $MessageNumber, $TotalSVs, $SVprn, $ElevationDegrees, $TrueNorth, $SNR, $SecondSV1, $SecondSV2, $SecondSV3, $SecondSV4, $ThirdSV1, $ThirdSV2, $ThirdSV3, $ThirdSV4, $FourthSV1, $FourthSV2, $FourthSV3, $FourthSV4
$MessagesCycle = Parse()
$MessageNumber = Parse()
$TotalSVs = Parse()
$SVprn = Parse()
$ElevationDegrees = Parse()
$TrueNorth = Parse()
$SNR = Parse()
$SecondSV1 = Parse()
$SecondSV2 = Parse()
$SecondSV3 = Parse()
$SecondSV4 = Parse()
$ThirdSV1 = Parse()
$ThirdSV2 = Parse()
$ThirdSV3 = Parse()
$ThirdSV4 = Parse()
$FourthSV1 = Parse()
$FourthSV2 = Parse()
$FourthSV3 = Parse()
$FourthSV4 = Parse()
;ConsoleWrite($MessagesCycle & $MessageNumber & $TotalSVs & $SVprn & $ElevationDegrees & $TrueNorth & $SNR & $SecondSV1 & $SecondSV2 & $SecondSV3 & $SecondSV4 & $ThirdSV1 & $ThirdSV2 & $ThirdSV3 & $ThirdSV4 & $FourthSV1 & $FourthSV2 & $FourthSV3 & $FourthSV4 & @CR)
EndFunc

Func Parse()
Local $CommaPos, $Result
$Result = ""
$CommaPos = StringInStr($Received, ",")
If $CommaPos == 0 Then
Return $Result
EndIf
$Result = StringLeft($Received, $CommaPos - 1)
$Received = StringRight($Received, StringLen($Received) - $CommaPos)
Return $Result
EndFunc

here is my gui code:

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <StaticConstants.au3>
#include <GPStest.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = $MPH, $meter = 0, $dir = 0, $radius = 40, $okbutton, $hGUI, $label_date, $label_time, $xsp, $ysp, $xep, $yep, $xpos, $ypos
; stuff to generate data goes here, but isn't included
Global $date = @MON & "/" & @MDAY & "/" & @YEAR , $time = @HOUR & ":" & @MIN, $speed = $MPH , $pi = 3.14159, $font = "Arial"

; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, $WS_CAPTION, $WS_EX_TOOLWINDOW); BitOr($WS_EX_COMPOSITED,$WS_EX_TOOLWINDOW))
;msgbox(0, "", $hGUI)
$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
$label_speed = GUICtrlCreateLabel($MPH, 35, 67, 30, 16, $SS_Right)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint")
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish")
GUISetState()
Paint()

While 1
If $HerbieError = True Then
InitializeCommunications()
EndIf
$Received = _CommReceiveString(100, 5000, @CR)
$GPSHeader = Parse()
if $GPSHeader == "$GPGSA" Then
DecodeGPGSA()
EndIf
if $GPSHeader == "$GPRMC" Then
DecodeGPRMC()
DecodeKnots()
$date = @MON & "/" & @MDAY & "/" & @YEAR
$time = @HOUR & ":" & @MIN
GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
GUICtrlSetData($label_speed, $MPH)
;ConsoleWrite("My current speed is: " & $MPH & " MPH" & @CR)
;sleep(1500)
EndIf
if $GPSHeader == "$GPGGA" Then
DecodeGPGGA()
IF $GetInitial == True Then
$IniLongitude = $Longitude
$IniLatitude = $Latitude
$IniTime = TimerInit()
$GetInitial = False
Else
$CurLongitude = $Longitude
$CurLatitude = $Latitude
$TimeElapsed = TimerDiff($IniTime)
$IniLongitude = $CurLongitude
$IniLatitude = $CurLatitude
$IniTime = TimerInit()
EndIf
EndIf
if $GPSHeader == "GPGSV" Then
DecodeGPGSV()
EndIf

WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial
For $index = 0 To 16
$xsp = $radius * Sin($pi * $index / 8)
$ysp = -1 * $radius * Cos($pi * $index / 8)
$xep = 1.15 * $radius * Sin($pi * $index / 8)
$yep = -1.15 * $radius * Cos($pi * $index / 8)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45)
Next
$xpos = 35 * Sin($pi * $dir / 180)
$ypos = -35 * Cos($pi * $dir / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + 45, $ypos + 45)

GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
If $label_speed <> 0 Then GUICtrlSetFont($label_speed, 10, 800)
GUICtrlSetData($label_speed, $MPH)

EndFunc ;==>RePaint

Func Paint()

$dir += 2

; delete control if it exists

If $meter <> 0 Then
GUICtrlDelete($meter)
$meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90)
repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish

EDIT: To clear everything up, so you don't have to look through and see everyones comments and not understand whats going on, I had posted my GUI code and left out the GPStest.au3 which is included to run the GUI, which I didn't think people needed to know, as all I wanted help with was making it so the needle on the speedometer was the forward most object. Thats it. After being attacked and doing a little ranting myself; I came to the conclusion to delete my posts and start anew with all code included and to try and lower the chance of more attacks on my code and me. Melba23 was kind enough to intervene and help the topic at hand; I am not saying I am without mistake, as I should have been a little more tough, but this is a learning process and I apoligize to anyone who felt like they were put down by me, I meant no harm I just wanted to get a straight answer. I hope this clears everything up and we can be done arguing and stick to the greatness that is autoit. Thank you.

Edited by JonBMN

Share this post


Link to post
Share on other sites
martin

This looks very similar to your other thread about displaying MPH, although in that one you posted "solved". before you opened this thread.

The code you posted cannot be run by us. It would appear that the code was written by someone who had made very little attempt to think about what was happening, and even less thought about how someone wanting to help copuld use it.

Here is your code with rubbish deleted as far as being able to use it is concerned, and otherwise small changes made so that something happens.

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <StaticConstants.au3>
;#include <GPStest.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $okbutton, $hGUI, $label_date, $label_time, $xsp, $ysp, $xep, $yep, $xpos, $ypos
Global $pi = 3.14159, $font = "Arial"


#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <StaticConstants.au3>
;#include <GPStest.au3> what the hell is this?


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $okbutton, $hGUI, $label_date, $label_time, $xsp, $ysp, $xep, $yep, $xpos, $ypos
Global $pi = 3.14159, $font = "Arial"

; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, BitOr($Gui_SS_DEFAULT_GUI,$WS_CAPTION), $WS_EX_TOOLWINDOW); BitOr($WS_EX_COMPOSITED,$WS_EX_TOOLWINDOW))
;$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
;$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint")
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish")
GUISetState()
Paint()

While 1
paint()
sleep(1000)
WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial
For $index = 0 To 16
     $xsp = $radius * Sin($pi * $index / 8)
     $ysp = -1 * $radius * Cos($pi * $index / 8)
     $xep = 1.15 * $radius * Sin($pi * $index / 8)
     $yep = -1.15 * $radius * Cos($pi * $index / 8)
     GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45)
     GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45)
Next
$xpos = 35 * Sin($pi * $dir / 180)
$ypos = -35 * Cos($pi * $dir / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + 45, $ypos + 45)



EndFunc ;==>RePaint

Func Paint()

$dir += 2

; delete control if it exists

If $meter <> 0 Then
     GUICtrlDelete($meter)
     $meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90)
repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish

I think a good way to draw graphics which show something moving, and which need to be automatically redrawn is to do this

Draw the background on bitmap1, eg the meter, keep this and don't change it..

Whenever you want to refresh the graphic copy the bitmap1 to bitmap2 and draw the part which moved on bitmap2, then copy bitmap2 to an image which is what you see. An image doesn't need to be "maintained" by your code because Windows takes care of repainting images. There are plenty of examples around on doing this. Uez and Malkey are 2 to learn from. Uez has posted an excellent meter, and Malkey has shown how to use images a few times. However this is a little more difficult and the technique you have used works after all.

EDIT:

After a few rants by jonBMN he added the missing include to the first post then added text which only makes sense if you wwere following this thread. Because of that this post might not make much sense. It's true that by mistake the code I posted had duplicate lines but since I tested that it ran I didn't think to check it any further. I won't be irritating jonBMN again by replying to his request for help with code which he fully understands and doesn't need to be cleaned but doesn't work.

Edited by martin

Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites
iamtheky

your code "changes" need to be edited as you have double posted the include lines; then you stated it could not be run, then you stated it worked after all. Don't forget simple editing techniques.

Why worry about the inconsequential? His actually works, whereas yours contains an include file that nobody else has or cares to hunt down. I'd take functional over well edited every damn day.


,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites
Melba23

JonBMN,

For information, well-written UDFs begin with the #include-once directive, so adding them more than once within a script makes no difference at all. Multiple Opt statements also pose no problem, nor the redeclaration of variables. As a result, martin's script will run correctly exactly as posted - no editing required other than for cosmetic reasons. ;)

M23

Edited by Melba23
Clarity

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
BrewManNH

Actually, your's does not run because the include file GPSTest isn't included, also unless you have a GPS unit attached to the computer and are moving, it won't work either.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
Melba23

Hi all,

Enough mucking around - stick to the topic from now on please. :)

M23

Edited by Melba23
Typo

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
iamtheky

How do you imagine people are running your script if they dont have GPStest.au3?

Nobody in this thread has stated that your script runs, as Melba was referring to Martin's code, and Martin was nice enough to comment out your custom include and declare the variables himself.


,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites
Melba23

boththose,

Did you read my post above? When I say "drop it" I mean "drop it" - not post again on the same lines. Please do not do so next time. :mad: Apology accepted. :)

JonBMN,

Your editing of the first post leaves a lot to be desired in the politeness stakes. For someone who complained about the responses of others I am disappointed that you felt that you needed to do that. :( Thank you for amending it yet again. :thumbsup:

All,

Either play nicely or this game gets stopped. I hope you all understand and my involvement in this thread ceases here. ;) Thanks to all - let us keep it this way. :)

M23

Edited by Melba23
  • Like 1

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
iamtheky

Melba,

There is a post that has been deleted by the OP, between mine and yours, that was in reply to Brewman. I was merely following the OPs lead in the topic, and it was not intentionally a brazen continuation of earlier banter against your directives. All apologies as it indeed remained similar in content and tone.


,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites
UEZ

Here a short demo of a speedometer using built-in needle drawn with, guess what, yes GDI+. :D

 

Source code here: http://pastebin.com/9CXZAEwi (code with 32 bit image is too large for the code box) :huh:

 

With 4 bit image:

 

;coded by UEZ 2012 build 2012-09-26
#include <GUIConstantsEx.au3>
#include <Memory.au3>
#include <GDIPlus.au3>
Opt("GUIOnEventMode", 1)

_GDIPlus_Startup()

Global Const $hBitmap_bg =  _GDIPlus_BitmapCreateFromMemory(_Speedometer())
Global Const $iW = _GDIPlus_ImageGetWidth($hBitmap_bg), $iH = _GDIPlus_ImageGetHeight($hBitmap_bg)
Global Const $hGUI = GUICreate("GDI+ Speedometer by UEZ 2012", $iW / 2, $iH / 2)
GUISetBkColor(0xABCDEF, $hGUI)
GUISetState()
Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global Const $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iW, $iH, $hGraphic)
Global Const $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hCtxt, 2)
_GDIPlus_GraphicsSetTextRenderingHint($hCtxt, 4)
Global Const $iRadius = 300
Global Const $iNeedle_size = 16
Global Const $fCenter_x = $iW / 2, $fCenter_y = $iH / 2
Global Const $hPen_needle = _GDIPlus_PenCreate(0xFFFF0000, $iNeedle_size)
Global Const $hCap = _GDIPlus_ArrowCapCreate(1, 1)
_GDIPlus_PenSetCustomEndCap($hPen_needle, $hCap)

Global Const $hBrush = _GDIPlus_BrushCreateSolid(0xFF000000)
Global Const $fRad2Deg = ACos(-1) / 180
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

Global Const $fDegMin = -223.5, $fDegMax = 44
Global $fDeg = $fDegMin, $fAcc = 0.75, $fKMH, $fMPH


Do
    _GDIPlus_GraphicsDrawImageRect($hCtxt, $hBitmap_bg, 0, 0, $iW, $iH)
    _GDIPlus_GraphicsDrawLine($hCtxt, $fCenter_x, $fCenter_y, $fCenter_x + Cos($fDeg * $fRad2Deg) * $iRadius, $fCenter_y + Sin($fDeg * $fRad2Deg) * $iRadius, $hPen_needle)
    _GDIPlus_GraphicsFillEllipse($hCtxt, $fCenter_x - $iNeedle_size, $fCenter_y - $iNeedle_size, $iNeedle_size * 2, $iNeedle_size * 2, $hBrush)
    _GDIPlus_GraphicsDrawString($hCtxt, StringFormat("%.3i MPH", $fMPH), 240, 520, "Times New Roman", 24)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $iW / 2, $iH / 2)
    If $fDeg < $fDegMax Then
        $fDeg += $fAcc
        $fKMH = (249.5 + $fDeg) / 1.33333
        $fMPH = Int($fKMH * 0.621371)
        $fAcc *= 1.005^2
    EndIf
Until Not Sleep(20)


Func _Exit()
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_ArrowCapDispose($hCap)
    _GDIPlus_PenDispose($hPen_needle)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hCtxt)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_BitmapDispose($hBitmap_bg)
    _GDIPlus_Shutdown()
    GUIDelete()
    Exit
EndFunc
;Code below was generated by: File to Base64 String Code Generator v1.10 Build 2012-09-08

Func _Speedometer($bSaveBinary = False)
    Local $Speedometer
    $Speedometer &= 'iVBORw0KGgoAAAANSUhEUgAAAmgAAAJoCAYAAADS7x1JAAAACXBIWXMAAAsTAAALEwEAmpwYAAFZ7ElEQVR4XuydCZQdVbWG9+3bQxISIgEEVMCAEJAgIDiAiIIyKeAQFWXhUpFBREXBISCQIPOMRlAEmQTFCREVFZAxCKiAiAgoEERAIRjI0CTp4Z5X31nrX2u/erdfGlJ90+nef9ZJDV1169y6VXX+2sO/azfddJMNJQKBQKC/vz/Nnz/fFixYkNvChQtzW7x4sbF+yZIlzLMuz/f19eXlF154wXp7e23p0qVM+Rxanm80GnkebLjhhmzLZ+dpW1tbbh0dHbQ839XVlec7OzvzdMyYMWq26qqr5vXjxo2zCRMm2Pjx42nM87fcJk6caPV6vWYtQCAQCLTbS0MgEAhAhtKzzz5rc+fONaa0//73v/bcc8/ZvHnzchMx23zzzTMxWm211WyDDTbI82uuuaa9/vWvz4RsypQpkKBMzACkChLGdNNNNxXZMpBS0t+sVqsZ0HpQXscyffjnP/9Jn/VZHBfylz/roYceYtu87sEHH+Q75c9/6qmn7Mknn2Q96xL7rbHGGrmvq6++ev4OkyZN0jx/g+gtF5ELBAKBgSxogUAgAHlJ//73vzNJ+c9//kPLZOXpp5+GSGVCst5669m6665ra6+9Ng2yQstEbK211mKdiBIN0sOiCBZT1mOdYpqtYu3t7X4b1jFtRrwGImZar+0GInJ+O/VjwM+EpLHM9+c8QEAfe+wxSGkmf5yrOXPmZHL3spe9LJO1ddZZh5bPwyte8Qoa1rz/l8AFAoFAELRAIAABS48//rg98cQTpikkAysR7kMIxlZbbQURg3Rli9bYsWMhLCJZkCqmsn7JtSniJXLmiY8jWcKgyZWmwG/TlMCpX9rO7++3Zar++/U9PT24QD1RxM2KFa7psdgGAvv3v//duru77a9//Svzmbw9+uij2dL48pe/3NZff33OLSSXBnkbbcQtEAgEQQsEAs8880yCIEAUsPxgGSPmC5cjRGyLLbawzTbbjGWImKxXkA8RMUhZJmMC68tERtByFeDY/lgse8JFPwGEUMRQ27YCImy+X2WS6QFJe+SRR+wvf/mL/e1vf4PAscz5gqjl32Dy5Mn26le/GjI3AohbIBAIghYIBHC5JQb9hx9+mIYlB4tNjgV77Wtfm6cbb7wxAfAiPyI6cvVBKvS3psSD9ZAwtqUBuSk9mWJ+eSDCpfkrrrjCZs2aBSnS50MccR2qPyzn6a233poTAYYQzYigzoHOoaYikWXi6d3Kdv/999u9995Lg7RB3vidINHE6kHeIG7DmLQFAoFIEggEAsQ+JQLbaQzoZENusskmtt1229m+++5rW2+9NVYYERcf4yUiMWDclciZh6xlECJZyDxJEWmqCp6cMU+s15133slxyn0WcRRpEzlrCUGDMHJc9VnLsuZp6glnmQBzTrFk4lJmWSD+789//rPddddd9utf/xoSlzj3G220Eb81xG1FukgDgUBY0AKBkKzAJUZcE1OC0xmgyYbccccdbcsttyR4vxwD5glTyT04IETMRC5YVqC8Ys70+bhKcfGxXvvI9QeJW24CpGOBU045xaZPn65lfzz6IMsa+0Ak6VNLLWha9m5ZWfQUr6fz6ImafifWe9dp+Vx7NylWtttuuw3CCmnDSoqbmoaldKikQQKBQBC0QCCkLIhTojEAkzGIRWz77beHkDGvQbxMEkQUmlmayi5Llv322tYTDU0VbyUCqGmzwPrKY7zA6aefbl/60pcMYHHCLQhEYHyyAn1rFTiuzsWVV15JJifyG7iT+X18MoIndZouUy6k7A4VofNEmmvklltusdmzZ9sdd9xBokc+vtoqq6zyUghbIBAIghYIhLTFPffcg2WEwTYTk5133tm22WYb23bbbYk/0iDt3ZVynckqo3VaD7nxMhYl0tMc2t8THeZ5bvzhD38gIzEnGnz84x+3d73rXRCy'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '559/PtG8spJ9af7jhmOMMcbECTJ6LO2zGBRgX8+ePXPAQJEwaN26dRZiP+igg9jXoLOkJ0yYQJMBygn5wxmnOCnQL+g+ueaaa3RVoeG9cQZagyxASWewAeOf0EuLczGByQUI5CrUzFZy8vTcDRKxNcYYY7Ap5dFYskcaWM90ACJnOGfRdqFEgMQGjW1CdWsN0UWKPtrixYuRoCoSGDto06dPR91YA2bj8F3pw2RHrb4oMqdbFVPiGE6ePDm/Rxxse9FFF6UxY8bExa85c3xWRfhCOrY6xhhjTHn2KZvmN8uWfPbZZ7n85vXXX08gu4QCASU5NLlhnxQ90/H6os5QmgbQBzV20Bg5UeC1t2nTBj2yOMRXXSY4Qvm2vuD4yQmMQ2+5P3r0aAox6QDV4mfLjtvQoUN5rT5DHK6tEVG/moI1xhjj1GaUhWKfImjYko8//pjRTdlJi9NsOnfunN56663Url27mBqVrmdDpDmls0YjHeU92MMibbLYQWPyfoHCP1cLLEKcI6n9g0YvsY/b+qJIV+yS4VY/lgEDBjC9QFc1uuLBiURHTSlNHVOX53qvYIwxxhilNSPR2aLcBoV/NDmjzUNofdmyZQQxFLiINi2ct/4oXdqxY8d0yCGHpHnz5m2Chs1NAgx5LV5++WUNba1oEdZjiOHc+hBFZ5UyjefVY34M5P+l6KwCzQMPPDDNmTMHCZC8kOWYxQ4cY4wx5peyOHKsxM8//5ydsq5du1J6wzFFx3IjwHPPPafgAlsUUJcNkrNXb/uoc+vx2LFj8/io9u3b1zmCtgkxd+7cHEbVogN1a8bQLyjqVV84nyJe/BDijLPoIHbv3h09NIWTlcpkxhljNhSqVmpzvaOgjDHGGNkeOWeqO2vRokVq27ZtGj58uBrQsCk4R0TVeE1VfTP2C441dKQPmzZx4sREIGXTwRE0GgKKa6+9lqLHqHMWh5znDeQEcbyRW6CJ8qHJRu6fQ8hx1K2bD1rww+Dqhh8aPybq2uqDMcYYc9ZZZ+UC/UmTJqWRI0dmO/TTTz9pvmZNieU/cQLPmjVr+Cx8tjpH0DZucHKKPn364JyxGLQIYs0Zj3WFke+rc7IxiMK0XNUgEEhLM/psOGeaVMBtuWHgt2KMMcYwU5MSm1GjRskO4Zw1iv2TXVPWiMcEINBdQxcU220HbSPmiy++KBjMesYZZ8RJ+0ozVqQz6WyJ3nyNifVmKtIkOkaYmSsIHEhF+djkYNari8YYY4yRfBMyGrFJrbGQrJUkqNikR0qjAioL2PBNbgTXpjQEHb0zSVxAnLyvtKGQwjL72GqNomL6PHEfn5fPF4fRgu4bY4wxDWF/ZP+iLmdjIFmrci0aNm78+PHpnHPOSUOGDHEEbWNjxowZBYr9rVq1knOmyJnCqupeiU5SnH3ZaCKCah6Iys76fLHLRZ+bzRhjjKlHBqccwZKNaTT7x3sqxVnWCiWadtVVV6VZs2YVdtA2IpYuXVpsvfXWSFfwJccOTXWoaIHEDskoYcFto+jU4JBFp0sOon44uqqJHaZqcPgNGGOMMdhC6q6xkdgT7B63jVZCE9OqsWHguuuuS7169copzl122YV0J41zhR20jYQXX3yR8Ki+eMlcZGcoOmvM40RJWV2d0RlqDPS+Mbyr8ReaDxo12uQ46nMaY4wxvzWCpak5bLr4Z0OTs9YoYiY7uGrVqizQftlll9Esl2vHgdu3337bMhsbA9OmTSumTJmStttuOy2Cqg7Rjz/+mPbcc8884uLUU0/VLDBF0SQMm2qJnEU1AsR5aeXnlJWXibQZY4wx9QkQ6LZc7lNrouDtwoULmSSAiK4cNz4PkwXYn4V1L7nkkjRo0KA6O2jNlFdeeaVgrhdFhVpgcrgI5XK1IB2xU045hdy2FkgeNfHss8+mDh06KOybQI0E8Vza9+sYY4wxngfKbZxOAN9//30WyL3zzjtVtsMxvQ57nMXaW7ZsSWaMge5M2KlzirOZsXbt2uLd'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '8j1yW7LevtKgL88jkNQcCQ3Sq6++aro/ymAlwUWFMYZyACW+s73MTlNSULDde1L6oQn+sqLg5JNP9rdlIwDL16DpsBwDHXstM2yJoFxAiv80GtH+pQI0/AAaiE15YY348AUL2jIJbG04cX3U8PTNVNxt1qdx7kZ7iM6MbkpbdfP38Q7+aev7UqHHdE4I1+AMqxTrVQI8/MMQoywRNGd2Ks6A/O2i+txOCBF0sQ7fMVI/IQYBUMaynIN66ruw3XbblQSECbHhe9+th1GmJWecAHNYUqVKlSoRPOg6QlQ9WU8EL9IRxTyOAjo1V/ST9stRQ3XWWWcJAEy/Z3nK4tNGn8pvNF2YEPmN+wvjhICNfXMdBEJaTK699lrBXEJQYJx99tls15LCNhbHCK0jHLuM9qcOasFUdFh/FQDZZcV13reS0UCA6Db7fLc5xgxbtGQJ1A3AQyEC5qgArU+BSI4Xjwcur1fUxsSGQ4QngAZVrECgABR9ZxnYMNaktG68RTUpdde8m0bXrE7N1mxo0kdNfxws0ZzpOusbJM4qSls9SWR14pQqw2u38fSMXFX9rj+YAE8tHo76+EZQJxYyFugbZx1VkUMwqA9FVAurKSuTpgvsDjroIGeLnNt7YR2GIVWqVKni+CC3Jo7i9FGCGvsp/L0g2CZACuZ5+lPAHH2ZPrhquvI2NV2xr9X3WSvEgQcemPbYY4+cf/nWW2/Nn4cccgjBBpkfcv/992dhggsANCAsTp4ZC2KUJWmTBGKODzHwQW0fINBrZF8m0lqd8n477LADn3HMZB9NnbimCBqj35yaOrk5y9zYEtaGAIvhi+OigJIFmiky7Uws1QdNJv0GezqqRx/yx4GaZ599lpfam05KIdTVmSAvghZ9DyaVr6TUzGyXte+mkUt/PaWRThq75rzUzNoxddel1Jkk3iA6Q5aghs9+hChI8mF63arKaVx0EjZQl1KjyG9Alg0qAiT51ABerIPd+aSTTqJ8NBlTngYHrQeM0T195WJkqA2T58b+lLUxOxOkERMhVaVKlSrDNHFBSbTbbrvRH6r9MYMK2VZYRzRi3v/FF1+ERcC+zr6MPpIoeQEN/JfZhy32z8pLL71ETmL27Tk+lETjBHkBGtBe2e9TFn9ggRZlsIZgQeKcAjWF7ZzzvffeoyxACaBmVD3WE85JuibqmsdSJEZ4aiE57rjjuC8evySBjfXXtBp9wsP4N3yxfpi2yes9e/ZswDjUIChGwBATVLRGcZI+IkfBxBc32s5jQ7vkkkuiDxXgDjMeicyZ+ejL1ZMBWYncYOu2bTVDTTeN/Nu7KX1ucRpvKS+6y1ek5ncWpw+/Zfu0DTOokW7qtH8zPhzDYS0lfAvbj7FOk7qd0RgVFIFN3zO8Aw44IC1ZssQyasXIxs8LxWyHxRkAZcqIHpxXIfalnOpvnfhjIAPcZmjVcg5OOxUb1I477ui9KT9LP4Oo4dPEKtiL0U+pSpUqVYZp4nIiScQjaX/06cKScMopp0DybR9oCj1NjFpzSv5KJbq3AIjoc+G/xLRJec2jUCnpB8U21kHnIXgjgjKPbbvuuqugqLSWGFRQ5j8GPHJ86J3Q2sFNGakzrKPjJiAT0MYYwJipdkztWhkU5rV/HP+Y+8XvmxScee1q6cpAQLfJ/MC6Ekxyb+Dx5Brx4eM+AcLx80NhUQHaBCmdACgxVUOM0ixfUlTGy5Ytyy+46xBCoOFmOfLIIyFtzbktEY8bwR/fLTszteW//H5a+z17p+b4n0vd3/v9lJY+ljbssXva5urPpnTOOYlaNC1I+2jrGWmERjzWJP7Wy5K2EcLMjsgZNVo2DvhrMB3us88+XEMJLsvvWYM4Z84cMjAwG4xgT5VzbNRRE+a9oRzPg5lmSavBIgFgdDClsTuDVNXuPvkZDUuqVKlSxT5s9913p3+iT4WrEs1SjpK85ZZbIum4oMq+UwuE20seMvYVAAnG0MBld53XXnstj1UIJlS1Yh6HPhYT'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= 'CjRAfVSxYsWzF+Jkew16z7AxZMkPxQ+zbNkyJMXh2FcvTJkyBVWfPnete/fubtq0afDEcWYVPHGxFmdCCCGEkDij44pCjd41aCe02zhrAg1iq3fv3vggDF1y78UWe6J98skn7AViZ3VC4LnPP//cjR492nvWLrzwQte3b183Z84cd+jQIRdXhBBCCKE+aNhbTxrTuDp27Oi+/vrrs+dB27dvn6tVq5b/R8OyUp47efKka9SokWvRogU66HovG8UaryeHDx92H374obvzzjsh1vz7hg4d6hYuXAilab80jxlmtR67ovRRE0IIIYRaYCD9ivqBkcAi92y1mgfv5WQlnKfTimzZssVNnTrVzZw5009eOnr06NkTaFWrVrXqkNBThg/s46z33XefW7dunRd0H3zwgRswYACE3R8KKd4vNzfXzZ4923vpatas6dq1a+cef/xxt2LFChYghKMToE7Dh0+EEEIIIWyvVvQmo/agdim0yT6vsWKO45xYKInzFSpU8OLswIEDPoXrxhtvdLVr13YtW7Z0Y8eOdcOGDfP9Y+vWrevOlBSEHU/H3r17I9y8U6dO4fQAKsewrxm/KEWUr2JYvny5W7BggVu5ciVCnriOvdLC++I8H5R/AL169XKtWrVy99xzj//ytltviBBCCCGEdQ5RqzAaB52BDZiWX9wXmmfP63/55RfvhFq9erV3JO3fvx+v4RorACHo4HzyqV07d+50qampKaXmQWPbjDZt2jgLRRj34XnmpLFSE9MHBg0a5EOYeXl5bu3ate7pp592bdu2tVWgFG32HniQCId6j1qdOnVc/fr1Keqw5wOxCCGEEELY8CMb6VNn+BAle7oSWwRJcXfw4EE3b948N3DgQJeWlgah5UaMGOHeffdd7z2jOLMtxTg8fc2aNRBo0FKlH+JEEj/Cl9bdF3rRcA5Cyjan5bVQkYQeMQi+cePGuVWrVvmY8KJFi1xWVpZr3LixA7aHGuAxzl900UXIbaOA83sSIIQQQgjBFhjUDtQjhTqe4EiCh2z48OHQHMiVh5MJggxRRV7r72fvzfOVK1d2ffr0cc8//7wbP348dBA6XJS+QIPXKiwOIPZDMj/MJu/zWnscgg+OEOZzzz3nFeaePXvc3LlzUeWJf5sqlsrU91YDFGzYQoQQQgghwpQo6BU6j37//XdoC5/Ev2TJEnf//fe7Jk2aeO1x8803u1mzZvmcemBz0OgkojMJPWLRSmzixIlu69atSOOCwPP3a9iwob+mRo0apSfQmH/Wvn17fkF+ufDLooLTTgjg9VatYrPJdn+ocFFU0K9fP/fee++53bt3I8HO91O77rrrvNrt3LlzeG9nEUIIIYSgVmFKFDl+/LhbvHixmzBhgktPT0duOxxFvupyx44dVsPwfbwXBZrXJE8++aT77LPPUhACXbp0qXvwwQdxP38NK0apfVq3bu01VWkVCeAfjEaNGgX33h/mnFnCsU70fmELQ504F7oIbZIdhR6vYUmrFXsUhIUhhBBCCBEWLiKECWcQw5zQFmGBos1BgyCDswqzNeEkQv68rQi1s8lDTUJNgxZikydPdpmZmSmlItDmz58fTZ8+PZZhRCGEEEII6+yh8wiOJ3i+wgkAbOmFzhHoXtGlSxeXkZHhKlWqZCs5eR9XFHjt4MGD0X4spTRCnPhAsRRnQgghhBB2BjiLGgFCmhBijPrVq1fPjRkzBiMrfXHkl19+6SZNmoRZ4tBC9MKFTfSL/O9jX7169RLnoLHbfwQFGUeEEEIIIRiCBHZEJRrpDxkyBJFCn+v+008/uezsbAgyVGGiIAChTza0xXsQ6qTY432L1OaDIg0NbKGtSirQUFGJpLbYt7EQQgghhEKcDHPCa9ajRw/3wgsvoPu/z0fjhADAQgDkp7EvGl9j/jvF12ngdRB8mJIEbVXiIgFUUUYzZsyIZYhTCCGEEAICCwKJnixWZlKEEc7YZMswXkt4znaR4Mzxv0dYWIm54/37'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= 'VhsEgId0Re89FRaMMcZy2BY/qNYYYypXkbsah/AOQt+z92OH+Fn/DQ4/9jDPP3+OLYCllnYahqbDt926j4fu/zAPfvEMvK6jkKmpcDmDADwigWtYBMYYK876vmfkL0ISi8oYYyINbAV8EB5gpcP3gbsePMyffvJznvvq03z2vgd4x953cu/b38vZjz/MC48+xSe//iW296wSJoJUQNDIAZ5B5cEVbhRjjJE0zkPfzhHHjh1TzlmLyhhjYspSlrQT1CtrO06VlKUYlae9SknKKUgpSjs7KmGqpKiSZ9pRr21ladZLRcM6mgZtpUtrlKIbyRhjMRvjfPTo0TFmA44cOaJBSlLOUirSFQ2EcylKJUtBylHKl24rSVIoUp+laVKRrhh5GElxHJIuPZTLMEoZ7hquBEna1nCu0kspKGWpT9JwQ0r6f2aMMcYYc3HT7NUC7b/snF0OgyEIBAc1Te9/ot7rk6X+NByiYYAHyG541yi7xurzp9sw8AYSvAwIaC4O/aEZRyOMODOSriDB7oxOHt1Jvx2xSqCghWgKCPDxPpqGgfXribvP+F+KoiiKoigiAnfPfsw5v+zcMY7dRgzH4R85kpo0adKnSGkE8DX2BHu9HMK9r+IqD5vdtfH89u2TNMN/RhKcwFd44CdQHHHEnoAGIiIoOM2hIuQcmiCAYjRGrAkPUSq7NjqtQDjIFwzH8T0TgMDCQLCY4wa2hRwJ1uBg0CawJgYcihOCYtCsMRBA4R6llFJKKUliWZafBzQzgwgiQA6jgGhHrUAthmOYg3BsAgRF4PXoi2FCgAzcwEyIhhWQGlMpgCNBDVhDiAIOVmAAMIMwAmFmFILVAsTdSSmllFKShJmxqbXyn4eHB+1C/6tVmhfF7aY5Fl206CbtMbfQWkO1HS0/jonpskpvVXqXtEit9tSkW49rj7UtiqiStsYedd4j2qwWPb6fVdWkJbSsTVVdq5q17u/dm5RSSiml1po2EaHHx8efz6DtDBDQBBFIAYMxmuGIYa7ghoqw4kADRJFgbfALgAN1zy7wEAp2q0/IwFvD3t+wlxfi9IxOT3C+MHz8E334A2yE4FCDMhVChnOfUkoppZS/2TAzIoIfhq2wCQlvAQFRoLozmmHXmeF8hV9/A0S40QgGBbbVX8/Y5Uo8fcHeb+jrV+z0D5z+xp6e0es37HZlOj3D2xW99v3vFyo3HCgDMAJ/fcI+/I7KyBBGANRKmUaC+5VSSimlJIl/2bub1baBIIDj/9ldK7Kd5u1y8gv4kEMOheYdQo69+e0KJRS3BYt+RB877cgZMCQ3p5cyPxg0+6E9DxrQWrjSNA21VlQ4ysKYhQEloVacMe0P5NstfD8gn7+yeNwjhw76ARionNzArgpUQKmWi62CH685oW2m5BVMCn1l/DUgnx5JTCAgivdiKf7y/ymEEEIIcYvAi8vSxf6DttvtaJdXNGnETCmBJGoPOT+RHj7C3XvOoaKAYKqAkBERhITh7oafH+5Z6QjvFmgdETL8/gEXl5B5UyGEEEIIqvoi949O0zQhIvitS6dtSJ+zsNz5uu21sHWbsz02tjM9t3l7er7ZbNhutwJQ1us1XdexXF1x9HygjyTDsuVcdVFwUhW0UlVhAlDyl2/kIpALT8CciqBtQ69wwdsKIYQQQvDiyAsw40VVzvnV4s1yDx974eV77H2fs8A7g6W8yI3VYm3b4tIfds4dhWEYCKLrTyAQQQjk/jdUo6gRku3sjBkIpEzKfbAyMipG3UPFQNByzoZMwOP5gs3Of4zzuNuvTG1wZsxAQa2xew13X9Cn5sEWz3V41vk4u9IGE65wuX8TBEEQBEEgoaKMSdb00iWRAhI4iZnzJV69d8mZxOxT/nhGMgdwvrXGb63V4GRiTSlZKeUUNDb3s8ufs0/n3p5v9s6dt8qjieO/2X2Ojy/4gg0YEwVZ3IQbIjdRGpSGIkqfgpR8Cr5BehqatBHiM1DSIhAlEkGKQAoXv7z4fbE5'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '666D8UuTJk1qL0S9rJRJQm/gaef7r371qxiGtuhx/PeTYjiL8U/XmM997nPsT+0sDMYE07VXas8tPOKIIwZf/OIXNSgMoZkwhV7Kdb1uude97sV3Xe2sxzzmMV3Hml122UWDpXp/OFc2xEcPYuBqnHLNPA/OY6SCZ6CByzF4v3XXcNJJJxlB6HTkgx70oKqnfectuooE/GaEMGme7rtAowyeOtUcWKYm2ooVKwbnnXcez7ABtBEJbs5JyMjXXnstGRmCnFrEtljDo5McSBKT/ZwAsjZtngvJ4zH/5je/Sf0XSlYIqhjYKBM8ZVxLrfckkKvhB0iWZOx5Dr0kuJ5Jje6B2F133UU5DAePWXOGVTte3AMf+MAMiabCyX6rKKyuKe6HP/xh+WdpNXXJAm9961u3klBTkyYtTFUNRsYzoSlK9qgz9LyrR6qRWtuJIQI+2/fAQ6WfouV+FPd74xvfOHjNa16jvs3sY/VjJpRlyFpD0XXu2wHFz3/+84Pdd9+9B4OK9wp4ABhggHr9nod7JiNdPVtD8joZ1J1sz31cfvnlXRQjE7FqmH+hS71XQD7vHqoFIPTmJInQ/+IjH/lIfoNRcs8aQFOOPfbYyc3VgHk5C4jkiFRiMevGYT0KNByA6T3LsiDzUmojwalzvFKcDw4OnfyxEFWGtTggc4DdHXfcwT1Qg67LBEU8lt43FO8555zTWzl33303Fp8KTEI2yoZyH2zLMSsPaEq+4Fe+8hXAIft4rf29Hn/88fLfmjRpMmYPhx6z1H+Mz9e//vVSKcyWtWi2gMvjTHls24nBL2YOWGL/G264Ae9Whq0x3NBzAivLD6Hz+L5mu6uHWDZj1xBaGtpee8dxOvLII6v+HVx44YXoQ7w8NSFC45Pt5PkmxzELMWeTcJa77d/85jdz7NTpi8oz6++Q73QM+Be/+MWdt+zqq68mmsIzg3eGUcAzGxU4a0kCKXiEjjnmGNL3KfWgRZFetFGCs8xIstYXQAVQg4LyOiRVD0sTnhMF6YCvBGar97OO0ABF/CDYw+9Acbp91jqrYDc9gFqltd+hFZ21Tj2GoI92HvlbJX+pdjNQQTHoVJqej20ttDt+adKkiSBEYRl6xVve8hbDdY7bBEKZBMRUOWvqI4GKmfpmdWNEUphUvmvnUSHCkokdeqM8dxY89VpNYkkvvR1PsrRM5TcKHkiWoiwE36kvM1s9+cGCttpJQQBnqNSMe/QcxVsxVs8999x8b5gctuCzPLNKgL8p4V+4aYTQea+xjgoChKXhQYe0JIERCs1RJyAeUyATMfwVIggaGcJPsj4ZZ094whM6q2ffffflWpIoX1sjzRlAVOFYWiAVCYRbUpZph8EfGOvDPztTKitBWfY31PLL7VhPVwLmCdC8zwx/4DlEuSIqMRWMPJBUkqZNY2lzLu8pgff40/CbNGmShactSM1YxosBlcJuDOo8DFX1CuMbTix0FTxcbCclQsFrJqjT8y+Qgc+apYAAYnq7BGR2HsnyTGybxl5NXFInZcN7k5YInXLdHueWW24BnHmcarRazFsdJ9jweWXyDedQ71qfry8tdf7553NedaE6edFwGzUC/M/5DiGc6TsfjxqldMAIrGsetDF60dasWYOXio72Wd07e1COhEiZVe8hL3Jdfr7ooosoqkrBveSHlSay90hS6aTHy2cB2R43MFktKACei3wMFavXlqU4DBEwV2EwN3TLc6etVnrrao0aFSPHgHvmPWs1GxLxnF5LeswMvTpYvSYU95j5F02aNKmttQQNUCPUjRpajFkoEHg+Hvawh/E9IcH0KNVevB0Aeu5zn4tRybYZJlRf9d6tN7zhDdlJhu16/trb3/52GmXjyec6ev24ZMkSwVUPGq+66qqJo48+evL73/8+Rqffqz9Zp4eNBAgBhNtxr96PwI6s8+SP+dxymf1MIKjFfPnc8X0PP/zwPqlhsUgmcFQOtyFisr1vvfXWwZlnnjkYszSANrFZNnMN'
    $Speedometer &= 'JvEGgZohi8qBCA/MKOL1DjB6f0EizWQFlqlqjLePgWeYMAffnABEs4iy1IAtmeh96TMxLJiWSBb1ddB7fSgyQZkeMLYBhJ588sk1rIw1nMqKdWZhYt1W3puWrtdTK8FrVeolZb1AjnsZLx+jSZMmktfVO2kc6wXSU4UOIIkIr4d6h3VbymqnFhZZ+5RQgJbBefSmoG8ynElpIc6d7wGWKZxNeRfCoeq2NPrMrBeEkYAwSYs6iqWmt8vMT65jhx124FowwNWr/XEyjPq85z0PEjuAVMoGzwKdaARIkArI6MJz22+/Pfua+en9AB7NAmU/Qd2iKmSrvk/vIxmzVBQ48cQT+TzRANr4hUE0sTlkN0kJCLI6/BPr4RlVhgt8Myy8TZs2cV4HTzewDjjgAFz92YVfQDJnAC3Dj2nJ8vmTn/ykn3XdG/41bOD+ycEwrGinATNAUTYokI6YW5MhEKxTJLOmAHZ8jzJlXvkhCc7SfS2g9Phaxc7xSo4fnDVp0kQel8AJXUzYjzEPLwgjVW8T32VGYq2PVpMG8GJRrJR9EbloAiISmgA/CBEVsr4RdBShU3jK73vf+9R5CSQz6qI+8tyEZ9HjRhzUhUlpMWTLXAM8ywoRkkVfql+Ty+v1pJFM3S62I8mB7fK62LZ7FqnzF5PUaFMWqoaP/vSnP73DBAOlcdDGL9S5ufHGG7vG3YiFMh2EMxAtGQdXDsCqPBwczgFlWEcokPT2MGjJWMQiSguneq/m1MLwmIIgBrPWoveo1aiSEGjlvQrUAFt77LFHx1uj/hxZsxBwUbo+5wTDKpA8vgqI8wBk/V1UOvXaE4AhZOe4H+s5bpJ6mzRpMn6OUPK30vMNYAJsAHauv/56yPRwqRjLgCw8UdY+ZJzTKLsrl0CFgQ9+8IPsj/dL45dxn1mXGHCAM0n2hE85FsclNEqoUnAmKGQfPFZsx0QmKPqbdwheGAqbDnbaaSdoNEmdYRKQURON5fQWZseNPivzsY99rMa426deFGS4H4CSYqyGaWsRV0Aq+4ySY+19ea/5nvBzfTcqc3KN3n+9DoU6nJSUIvSrNA/aViJ0p98M0iZf+9rXduUjHv7wh2dX+xnHtwV1tY2Lx8jUbEEFfAAGMcupAFAYuOMZ6KOQ9Eg55zqoFaQb3G0EbygtlAdd/63WLFdCnpfKSJHkKihT8aQ1ieLjO4mthEjZx1Av1eXhrVVAlnXYBHEUe6SlEyEQjuF9mYyRqf3jlyZNWi00PUX5EpeXSsgQ8EWZCvlj6AfA1FQGJ8fTayWgSf4qQM59Kl+V7dHRn/3sZ0mSUj9RpNtkpppkBU+WY3AO6R1ZwoOJ8KPfsZ7C6YJG66apb9WvFazUGmrZDNx2aJnpP9bepOr7bMWX14wkh7D26r2n4rPP97rHhZdIohqOGrBAA2hbn+DhmdicOTm5atWqjpQf4iCaSYp45UFUUOOARqHATSAhQI+Vgws3K14miKeZDj2SOjH1Tw1AyjZPpmQ70LRimSSnsj5baXCvKh+UKgrHfqepUDM8yXcS+QWICFYwPBAAGl5HPHQCQ86B8mSOlUi6PKRaOgpwbZwzLE75cQ2cNWmyFZVB0KuSJHk8VBiE0C2keAh64FRpnNWOKIi8L3QEc86VgIdSC26HBGDgGPRuxuOfNdjkxVqyg0nqB56+pHvUemT2JXZdlt3wWAIaAIPh1mn7k/qO0junvs4og1OI9zUS8O1905mB2pR8rnXwstWgYGoOJKlBrrKTjVEeT9QA2tYoVHCGuE5RxFe96lX+4WfUO68CM/9sdSBaiPXAAw+k7VFtntxlSZ5xxhn5Jx2JxVO5DRL+sfRQgNyHQEmOHJ4/rpPJLCSBT2ZUWhTSLBrakGAFw/vDW0k5kWyAzDqfSV6LAAtXNAqbrFLOy3fpmVSx6YUzdCBvJQE3hF+Vw3ikSZMmJggkJ0s9AnmbWmh4mfQKIVm0tdY+NPsyE4gk4WfZC9o/yT3LGpDI5gxMDGUT'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= 'r+NYuF7RMKALQBSA0RMNa25uBsY4R/tvWFlYlmVAsyzL1iAAG9Gp8/Nz9VhF4PNGA+KI2NEDfoAc0TPO0VT9QJE2+ghmimrJYkRQBowxpuc8DYAiisUYaEytsbER+GKOxjEARv4dSfqM/zbLCsuyrN8B/G2x0vxeJssAAAAASUVORK5CYII='
    Local $bString = Binary(_Base64Decode($Speedometer))
    If $bSaveBinary Then
        Local $hFile = FileOpen(@ScriptDir & "\Tacho.png", 18)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return  $bString
EndFunc   ;==>_Speedometer

Func _Base64Decode($sB64String)
    Local $struct = DllStructCreate("int")
    Local $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $sB64String, "int", 0, "int", 1, "ptr", 0, "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0)
    If @error Or Not $a_Call[0] Then Return SetError(1, 0, "")
    Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]")
    $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $sB64String, "int", 0, "int", 1, "ptr", DllStructGetPtr($a), "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0)
    If @error Or Not $a_Call[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($a, 1)
EndFunc   ;==>_Base64Decode
#endregion

 

Maybe you can adapt it for your needs.

 

Have fun with it...

 

Br,

UEZ

Edited by UEZ
  • Like 1

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
JonBMN

SOLUTION

This program is nowhere near perfect; but it increments a $MPH value within the program that makes it loop back to back; so if anyone ever wanted to play around with it here you go in all the glory that I've been able to do. No need for GPStest.au3 as I've made it so guitest.au3 is self sustaining. (i used it for learning purposes)

guitest.au3 (speedometer)

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <StaticConstants.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $hGUI, $MPH = 0
Global $label_date, $label_time, $label_speed, $xsp, $ysp, $xep, $yep, $xpos, $ypos, $MoveNeedle
; stuff to generate data goes here, but isn't included
Global $date, $time, $pi = 3.14159, $font = "Tahoma", $MPHincrement = 5
; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, $WS_CAPTION, $WS_EX_TOOLWINDOW);Creates the window, but does not display it
$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint") ;Will repaint if restore button is clicked
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish") ;Execute the user function if close is hit
GUISetState() ;actually displays the window, but its just empty
$label_speed = GUICtrlCreateLabel("", 35, 67, 30, 16, $SS_RIGHT) ;creates speed box and makes it right justified
Paint()

While 1
Paint()
$date = @MON & "/" & @MDAY & "/" & @YEAR
$time = @HOUR & ":" & @MIN
GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
GUICtrlSetData($label_speed, $MPH)
$MPH = $MPH + $MPHincrement
IF $MPH > 120 Or $MPH < 0 Then
$MPHincrement = $MPHincrement * -1
$MPH = $MPH + $MPHincrement
EndIf
sleep(500)
ConsoleWrite($MPH & @CR)
WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial
$xsp = $radius * Sin($pi * $index / 8)
$xep = 1.15 * $radius * Sin($pi * $index / 8)

$ysp = -1 * $radius * Cos($pi * $index / 8)
$yep = -1.15 * $radius * Cos($pi * $index / 8)


GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45) ; moves to a position but does not draw yet
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45) ; actually draws the ticks
Next
;Heres where we draw the needle
$MoveNeedle = 10 + ($MPH * 2.5) ;Moves the needle
$xpos = 35 * Sin($pi * $MPH / 180)
$ypos = -35 * Cos($pi * $MPH / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + $MoveNeedle, $ypos + 45)


GUICtrlSetData($label_date, $date); Puts date in
GUICtrlSetData($label_time, $time)
If $label_speed <> 0 Then GUICtrlSetFont($label_speed, 10, 800)
GUICtrlSetData($label_speed, $MPH)
;MsgBox(0, "", "continue")
EndFunc ;==>RePaint

Func Paint()


$dir = $dir + $MPHincrement

; delete control if it exists

If $meter <> 0 Then
GUICtrlDelete($meter)
$meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90) ;Forces display of $meter

repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish

Enjoy

Edited by JonBMN

Share this post


Link to post
Share on other sites
AlainB

SOLUTION

This program is nowhere near perfect; but it increments a $MPH value within the program that makes it loop back to back; so if anyone ever wanted to play around with it here you go in all the glory that I've been able to do. No need for GPStest.au3 as I've made it so guitest.au3 is self sustaining. (i used it for learning purposes)

guitest.au3 (speedometer)

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <StaticConstants.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $hGUI, $MPH = 0
Global $label_date, $label_time, $label_speed, $xsp, $ysp, $xep, $yep, $xpos, $ypos, $MoveNeedle
; stuff to generate data goes here, but isn't included
Global $date, $time, $pi = 3.14159, $font = "Tahoma", $MPHincrement = 5
; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, $WS_CAPTION, $WS_EX_TOOLWINDOW);Creates the window, but does not display it
$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint") ;Will repaint if restore button is clicked
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish") ;Execute the user function if close is hit
GUISetState() ;actually displays the window, but its just empty
$label_speed = GUICtrlCreateLabel("", 35, 67, 30, 16, $SS_RIGHT) ;creates speed box and makes it right justified
Paint()

While 1
Paint()
$date = @MON & "/" & @MDAY & "/" & @YEAR
$time = @HOUR & ":" & @MIN
GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
GUICtrlSetData($label_speed, $MPH)
$MPH = $MPH + $MPHincrement
IF $MPH > 120 Or $MPH < 0 Then
$MPHincrement = $MPHincrement * -1
$MPH = $MPH + $MPHincrement
EndIf
sleep(500)
ConsoleWrite($MPH & @CR)
WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial
$xsp = $radius * Sin($pi * $index / 8)
$xep = 1.15 * $radius * Sin($pi * $index / 8)

$ysp = -1 * $radius * Cos($pi * $index / 8)
$yep = -1.15 * $radius * Cos($pi * $index / 8)


GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45) ; moves to a position but does not draw yet
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45) ; actually draws the ticks
Next
;Heres where we draw the needle
$MoveNeedle = 10 + ($MPH * 2.5) ;Moves the needle
$xpos = 35 * Sin($pi * $MPH / 180)
$ypos = -35 * Cos($pi * $MPH / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + $MoveNeedle, $ypos + 45)


GUICtrlSetData($label_date, $date); Puts date in
GUICtrlSetData($label_time, $time)
If $label_speed <> 0 Then GUICtrlSetFont($label_speed, 10, 800)
GUICtrlSetData($label_speed, $MPH)
;MsgBox(0, "", "continue")
EndFunc ;==>RePaint

Func Paint()


$dir = $dir + $MPHincrement

; delete control if it exists

If $meter <> 0 Then
GUICtrlDelete($meter)
$meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90) ;Forces display of $meter

repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish

Enjoy

Not much to enjoy really!

Your code is not working. Missing things, plus there is a "Next" statement with no matching "For" statement.

Edited by AlainB

Share this post


Link to post
Share on other sites
JonBMN

Not much to enjoy really!

Your code is not working. Missing things, plus there is a "Next" statement with no matching "For" statement.

Like it was stated above "the program is nowhere near perfect"

Here is a better version.

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <StaticConstants.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $hGUI, $MPH = 0
Global $label_date, $label_time, $label_speed, $xsp, $ysp, $xep, $yep, $xpos, $ypos, $MoveNeedle
; stuff to generate data goes here, but isn't included
Global $date, $time, $pi = 3.14159, $font = "Tahoma", $MPHincrement = 5
; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, $WS_CAPTION, $WS_EX_TOOLWINDOW);Creates the window, but does not display it
$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint") ;Will repaint if restore button is clicked
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish") ;Execute the user function if close is hit
GUISetState() ;actually displays the window, but its just empty
$label_speed = GUICtrlCreateLabel("", 35, 67, 30, 16, $SS_RIGHT) ;creates speed box and makes it right justified
Paint()

While 1
Paint()
$MoveNeedle = 10 + ($MPH * 1.6)
$date = @MON & "/" & @MDAY & "/" & @YEAR
$time = @HOUR & ":" & @MIN
GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
GUICtrlSetData($label_speed, $MPH)
$MPH = $MPH + $MPHincrement
IF $MPH > 120 Or $MPH < 0 Then
$MPHincrement = $MPHincrement * -1
$MPH = $MPH + $MPHincrement
EndIf
ConsoleWrite($MPH & @CR)
sleep(1000)
WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial

For $index = 0 To 15

$xsp = $radius * Sin($pi * $index / 8)
$xep = 1.15 * $radius * Sin($pi * $index / 8)

$ysp = -1 * $radius * Cos($pi * $index / 8)
$yep = -1.15 * $radius * Cos($pi * $index / 8)

;GUICtrlSetData($index, $Values[$index])
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45) ; moves to a position but does not draw yet
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45) ; actually draws the ticks
Next
;Heres where we draw the needle
$xpos = 35 * Sin($pi * $dir / 180)
$ypos = -35 * Cos($pi * $dir / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + $MoveNeedle, $ypos + 45)


GUICtrlSetData($label_date, $date); Puts date in
GUICtrlSetData($label_time, $time)
If $label_speed <> 0 Then GUICtrlSetFont($label_speed, 10, 800)
GUICtrlSetData($label_speed, $MPH)

EndFunc ;==>RePaint

Func Paint()

$dir += 2

; delete control if it exists

If $meter <> 0 Then
GUICtrlDelete($meter)
$meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90) ;Forces display of $meter

repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish
Edited by JonBMN

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • JuanFelipe
      By JuanFelipe
      Hello friends, I would like to know how to open a GUI from another GUI, I did it the way I leave the attached code, but when closing the second GUI they all close, they could help me to solve this problem without compiling another script. Thank you #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> $Form1 = GUICreate("Form1", 173, 126, 192, 124) $Button1 = GUICtrlCreateButton("Button1", 16, 24, 75, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 _form2() EndSwitch WEnd ;================================================= GUI 2 Func _form2() $Form1 = GUICreate("Form2", 615, 437, 192, 124) GUISetState(@SW_SHOW) While 2 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd EndFunc  
    • FrancescoDiMuro
      By FrancescoDiMuro
      Good evening everyone
      First, I want to apologize with you for the title not very clear, but I thought a little bit on which title to set at the thread, and this is the one that came in mind.
      Now, let me explain what I'm trying to understand.

      I am making an application ( with n clients ), with an SQLite Database, which has a Main form, and n sub-forms... 
      Since these sub-forms are called several times, because they are used to add or update records to the Database, I put the code that generates the GUI of these sub-forms in Functions.
      There are two sub-forms which are "treated" as two main forms, since even them have n sub-forms, which perform various tasks.
      Where am I stucked?

      For the Main form I created a Status Bar, in order to display messages ( add/delete/update/search results ), and it works perfectly with all the forms which don't have other sub-forms.
      For the two forms, which indeed have n sub-forms, I created two separated Status Bars, which are (re)created everytime I call the function that then displays the form.
      Practically, I can't set icons to these two Status Bars, and I don't know why.
      I'm really sorry that I don't feel clear enough, so, here you are an example of what I am saying.
      I recreated exactly what my script does:
      #include <GuiButton.au3> #include <GUIConstantsEx.au3> #include <GuiStatusBar.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) Global $frmSubForm, _ $txtSubFormField, _ $sbSubFormStatusBar, _ $objSB_IconError = _WinAPI_LoadShell32Icon(109), _ $objSB_IconInformation = _WinAPI_LoadShell32Icon(277) #Region ### START Koda GUI section ### Form= $frmMainForm = GUICreate("Main Form", 300, 300, -1, -1) GUISetOnEvent($GUI_EVENT_CLOSE, "ExitApplication") $sbMainStatusBar = _GUICtrlStatusBar_Create($frmMainForm) $btnCreateSubForm = GUICtrlCreateButton("Create Sub Form", 105, 110, 75, 41, BitOR($BS_CENTER,$BS_VCENTER,$BS_MULTILINE)) GUICtrlSetOnEvent(-1, "GenerateSubForm") GUICtrlSetFont(-1, 10, 400, 0, "Arial") _GUICtrlStatusBar_SetSimple($sbMainStatusBar) _GUICtrlStatusBar_SetText($sbMainStatusBar, "") GUISetState(@SW_SHOW, $frmMainForm) #EndRegion ### END Koda GUI section ### While 1 Sleep(100) WEnd Func ExitApplication() Exit EndFunc Func GenerateSubForm() #Region ### START Koda GUI section ### Form= $frmSubForm = GUICreate("Sub-Form", 300, 300, -1, -1, -1, -1, $frmMainForm) GUISetOnEvent($GUI_EVENT_CLOSE, "DeleteSubForm") $txtSubFormField = GUICtrlCreateInput("", 0, 0, 100, 20) $btnCheckSubFormField = GUICtrlCreateButton("Check Field", 105, 110, 75, 41, BitOR($BS_CENTER,$BS_VCENTER,$BS_MULTILINE)) GUICtrlSetOnEvent(-1, "CheckSubFormField") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $sbSubFormStatusBar = _GUICtrlStatusBar_Create($frmSubForm) _GUICtrlStatusBar_SetSimple($sbSubFormStatusBar) _GUICtrlStatusBar_SetText($sbSubFormStatusBar, "") GUISetState(@SW_SHOW, $frmSubForm) GUISetState(@SW_DISABLE, $frmMainForm) #EndRegion ### END Koda GUI section ### EndFunc Func DeleteSubForm() ; Declared Globally => $frmSubForm GUIDelete($frmSubForm) GUISetState(@SW_ENABLE, $frmMainForm) EndFunc Func WriteToStatusBar($sbStatusBar, $objSB_Icon, $strText) _GUICtrlStatusBar_SetIcon($sbStatusBar, 0, $objSB_Icon) _GUICtrlStatusBar_SetText($sbStatusBar, $strText) ConsoleWrite("Icon Handle: " & $objSB_Icon & @CRLF) EndFunc Func CheckSubFormField() ; Declared Globally => $txtSubFormField If GUICtrlRead($txtSubFormField) = "" Then ; Declared Globally => $sbStatusBar WriteToStatusBar($sbSubFormStatusBar, $objSB_IconError, "Field NOK.") Else WriteToStatusBar($sbSubFormStatusBar, $objSB_IconInformation, "Field OK.") EndIf EndFunc The text is set, but icon is not.
      Could someone please tell me why?
      Thanks everyone in advance  

      Best Regards.
    • bowker
      By bowker
      Hi! Is there a way for me to set the value for my slider? I am getting the value for my slider with
       
      Local $strText = _UIA_getPropertyValue($oUIElement, $UIA_LegacyIAccessibleValuePropertyId) MsgBox(0,"",$strText)  
    • nacerbaaziz
      By nacerbaaziz
      Hello
      Can we pause and resume the download in the InetGet function?
      If is possible, what is the solution please?
      I used this code To manage the download

      #include <INet.au3> func _downloader($name, $linc, $filepath, $RTLF = false, $link = false) global $downloader = GUICreate("downloader", 400, 200, -1, -1, $WS_CLIPCHILDREn, $RTLF, $link) global $path = $filePath $labelTxt = GUICtrlCreateLabel("downloading " & $name, 50, 10, 200, 20) global $labelTxt0 = GUICtrlCreateLabel("downloaded size 0 MB " & "OF 0 MB", 50, 60, 300, 20) global $Progress = "" global $sText = ""     For $i = 1 To Random(5, 20, 1) ; Return an integer between 5 and 20 to determine the length of the string.         $sText &= Chr(Random(65, 122, 1)) ; Return an integer between 65 and 122 which represent the ASCII characters between a (lower-case) to Z (upper-case). next global $labelTxt2 = GUICtrlCreateInput("0%", 50, 80, 50, 20) _GUICtrlEdit_SetReadOnly(-1, true) GUIStartGroup("") global $beep = GUICtrlCreateCheckBox("use the progress beep notification", 150, 120, 200, 20) GUIStartGroup("") $button = GUICtrlCreateButton("Cancel', 130, 150, 180, 25, 0x01) $iIndex = 0 global $Target global $url GUIStartGroup("") global $Progress = GUICtrlCreateProgress(50, 90, 150, 20) global $Target = $filepath global $url = $linc global $path = $filepath global $hDownloadNo = _RSMWare_GetData($url, $Target) global $status = false AdlibRegister("SetProgress") global $onprogress = false, $curent = false GUISetState(@sw_Show) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $button $asc = MsgBox(4132,"exit download?","if you click yes the downloading will be cancel, do you want to cancel it ?") if $asc = 6 then AdlibUnRegister("SetProgress") GUIDelete() If $hDownloadNo <> 0 Then InetClose($hDownloadNo) exitLoop endIf EndSwitch if $status = -1 then $status = 0 $hDownloadNo = _RSMWare_GetData($url, $Target) $onprogress = false $curent = false elseIf $Status = 1 then $status = $path GUIDelete() AdlibUnRegister("SetProgress") exitLoop endIf WEnd return $status endFunc Func _RSMWare_GetData($url, $Target) Local $hDownload = InetGet($url, $Target, 1, 1) Return $hDownload EndFunc ;==>_RSMWare_GetData Func SetProgress() Local $state If $hDownloadNo <> 0 Then $state = InetGetInfo($hDownloadNo) If @error = 0 Then $infor = "downloaded size " & Round(Execute(InetGetInfo($hDownloadNo, $INET_DOWNLOADREAD) / 1048576), 2) & " MB of " & Round(Execute(InetGetInfo($hDownloadNo, $INET_DOWNLOADSIZE) / 1048576), 2) & " MB " $onprogress = Round(Ceiling(($state[0] / $state[1]) * 100)) if not (InetGetInfo($hDownloadNo, $INET_DOWNLOADSIZE) = 0) then if $onProgress <= 0 then $onProgress = 0 GUICtrlSetData($Progress, $onProgress) GUICtrlSetData($labelTxt0, $infor) GUICtrlSetData($labelTxt2, $onProgress & "%") if _isChecked($beep) then if $onprogress > $curent then beep((100 + $onprogress * 20), 100) $curent = $onprogress endIf endIf endIf If $state[2] Then If $state[3] Then InetClose($hDownloadNo) $status = 1 else InetClose($hDownloadNo) $status = -1 endIf endIf EndIf endIf EndFunc ;==>SetProgress
    • VollachR
      By VollachR
      Hi,
      I'm looking for a way to take a number value from a Row2 of a 2D array and according to this check if files that appear in rows 3-11 in the array exists.
      For example, if the number in Row2 is 5 I need to check for the files in Row 3-6 only, if it is 6 than rows 3-7 and so on.
      I thought on using a FOR loop but I have very little experience with those.
      Can you suggest the best way to do what I need?
      BTW, the files in Rows 3-11 will usually have blank value for any row above the number in Row2 (e.g. Row2 = 5 so Rows3-6 will have values but 8-11 be empty), The values I need are in Column 1 of the array, the name of the key from the INI file that the array was created from is in Column 0.
      Full Example:
      Row2 of Array:
      Col0 = Games# - Col1 = 5
      Rows3-6
      Col0 = Exe2 - Col1 = Path To File
      Col0 = Exe3 - Col1 = Path To File
      Col0 = Exe4 - Col1 = Path To File
      Col0 = Exe5 - Col1 = Path To File
      I need that if Row2 is 5 to check these above for rows if the file exists, if it was 6 then the next row as well and so on up until number 10 in Row2 as it can't go above 10.
      So basically for whatever number in Row2 from 2-10 need to check 1-9 rows from 3-11 to see if the files in Col1 exists and if any of them don't exist it should call a function that shows an error message.
      I'm pretty sure I have the first line of the for look correct:
      For $i = 1 To $aAIO[2][1] Just not sure how to continue from there, also not sure if $i should be equal 1 or 2.
      Help will be appreciated.
×