Jump to content

Recommended Posts

Posted

I need some help with some code that I am trying to get to work. The buttons don't always work nor can i get the input boxes to show up when it is run.

Thanks for all the help.

CODE

#include <guitab.au3>

#include <GuiConstants.au3>

#include <array.au3>

Opt("MustDeclareVars", 1) ; Variables must be pre-declared

Global $fileitemExit, $fileitemLogComplete, $filemenuFile, $filemenuLog, $tab, $iCurrentTab

Global $UpdateServerbutton

Local $Server

Local $ServerAlogentversionNumber, $ServerAlogentversionNumberFieldCurrent, $ServerAlogentversionNumberFieldFuture, $ServerAlogentversionNumberMaster

Local $ServerArgo, $ServerArgoFieldCurrent, $ServerArgoFieldFuture, $ServerArgoMaster

Local $ServerCodeversion, $ServerCodeversionFieldCurrent, $ServerCodeversionFieldFuture, $ServerCodeversionMaster

Local $ServerServerDateDate, $ServerServerDateDateFieldCurrent, $ServerServerDateDateFieldFuture, $ServerServerDateDateMaster

Local $ServerSortPatternDate, $ServerSortPatternDateFieldCurrent, $ServerSortPatternDateFieldFuture, $ServerSortPatternDateMaster

Local $ServerSortPatternTime, $ServerSortPatternTimeFieldCurrent, $ServerSortPatternTimeFieldFuture, $ServerSortPatternTimeMaster

Local $ServerSortPatternversionNumber, $ServerSortPatternversionNumberFieldCurrent, $ServerSortPatternversionNumberFieldFuture, $ServerSortPatternversionNumberMaster

Local $ServerTDEFNDate, $ServerTDEFNDateFieldCurrent, $ServerTDEFNDateFieldFuture, $ServerTDEFNDateMaster

Local $ServerTDEFNTime, $ServerTDEFNTimeFieldCurrent, $ServerTDEFNTimeFieldFuture, $ServerTDEFNTimeMaster

Local $ServerTDEFNversionNumber, $ServerTDEFNversionNumberFieldCurrent, $ServerTDEFNversionNumberFieldFuture, $ServerTDEFNversionNumberMaster

Opt("GUIOnEventMode", 1) ; Change to OnEvent mode

displayGUI()

Func serverArray()

Dim $svrArray[9]

$svrArray[0] = "S0890925A00"

$svrArray[1] = "S0890925B00"

$svrArray[2] = "S0896685C00"

$svrArray[3] = "S0896691A00"

$svrArray[4] = "S0896692A00"

$svrArray[5] = "S089623700M000"

$svrArray[6] = "S0896693A00"

$svrArray[7] = "S0896694A00"

$svrArray[8] = "S0896695A00"

_ArraySort($svrArray)

EndFunc ;==>serverArray

Func displayGUI()

; GUI

GUICreate("Code Loader GUI", 600, 830)

;GuiSetIcon(@SystemDir & "\mspaint.exe", 0)

GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")

GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")

GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")

GUICtrlSetOnEvent($tab, "TabClick")

; MENU

$filemenuFile = GUICtrlCreateMenu("&File")

$fileitemExit = GUICtrlCreateMenuItem("E&xit", $filemenuFile)

GUICtrlSetOnEvent(-1, "ExitGUI")

;$filemenuMap = GuiCtrlCreateMenu("&Map Drives")

;$fileitemMapIST1 = GUICtrlCreateMenuItem("Re-map IST1 Server", $filemenuMap)

;GUICtrlSetOnEvent(-1, "RemapIST1")

;$fileitemMapIST2 = GUICtrlCreateMenuItem("Re-map IST2 Server", $filemenuMap)

;GUICtrlSetOnEvent(-1, "RemapIST2")

;$fileitemMapTST1 = GUICtrlCreateMenuItem("Re-map TST1 Server", $filemenuMap)

;GUICtrlSetOnEvent(-1, "RemapTST1")

;$fileitemMapTST2 = GUICtrlCreateMenuItem("Re-map TST2 Server", $filemenuMap)

;GUICtrlSetOnEvent(-1, "RemapTST2")

;$fileitemMapUAT = GUICtrlCreateMenuItem("Re-map UAT Server", $filemenuMap)

;GUICtrlSetOnEvent(-1, "RemapUAT")

;$filemenuRefresh = GUICtrlCreateMenu("&Refresh Tab")

;$fileitemRefreshIST1 = GUICtrlCreateMenuItem("Refresh IST1 Tab", $filemenuRefresh)

;GUICtrlSetOnEvent(-1, "RefreshIST1Tab")

;$fileitemRefreshIST2 = GUICtrlCreateMenuItem("Refresh IST2 Tab", $filemenuRefresh)

;GUICtrlSetOnEvent(-1, "RefreshIST2Tab")

;$fileitemRefreshTST1 = GUICtrlCreateMenuItem("Refresh TST1 Tab", $filemenuRefresh)

;GUICtrlSetOnEvent(-1, "RefreshTST1Tab")

;$fileitemRefreshTST2 = GUICtrlCreateMenuItem("Refresh TST2 Tab", $filemenuRefresh)

;GUICtrlSetOnEvent(-1, "RefreshTST2Tab")

;$fileitemRefreshUAT = GUICtrlCreateMenuItem("Refresh UAT Tab", $filemenuRefresh)

;GUICtrlSetOnEvent(-1, "RefreshUATTab")

;$filemenuLog = GUICtrlCreateMenu("&Log")

;$fileitemLogComplete = GUICtrlCreateMenuItem("View Complete Log", $filemenuLog)

;GUICtrlSetOnEvent(-1, "CompleteLog")

; TABS

Tabs()

TabClick()

getINIInfo($Server)

$iCurrentTab = _GUICtrlTabGetCurFocus($tab)

GUISetState(@SW_SHOW)

;GUICtrlSetOnEvent($UpdateServerbutton, "UpdateServer")

While 1

Sleep(10)

WEnd

GUIDelete()

EndFunc ;==>displayGUI

Func ExitGUI()

Exit

EndFunc ;==>ExitGUI

Func SpecialEvents()

Select

Case @GUI_CtrlId = $GUI_EVENT_CLOSE

Exit

Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE

Case @GUI_CtrlId = $GUI_EVENT_RESTORE

EndSelect

EndFunc ;==>SpecialEvents

Func Tabs()

$tab = GUICtrlCreateTab(5, 5, 590, 800)

$Server = "S0890925A00"

GUITab($Server)

$Server = "S0890925B00"

GUITab($Server)

$Server = "S0896692A00"

GUITab($Server)

$Server = "S0896691A00"

GUITab($Server)

$Server = "S0896685C00"

GUITab($Server)

$Server = "S8024444A01"

GUITab($Server)

GUICtrlCreateTabItem("")

EndFunc ;==>Tabs

Func TabClick()

If _GUICtrlTabGetCurFocus($tab) = 0 Then

LoadFields($Server)

RefreshFields($Server)

ElseIf _GUICtrlTabGetCurFocus($tab) = 1 Then

LoadFields($Server)

RefreshFields($Server)

ElseIf _GUICtrlTabGetCurFocus($tab) = 2 Then

LoadFields($Server)

RefreshFields($Server)

ElseIf _GUICtrlTabGetCurFocus($tab) = 3 Then

LoadFields($Server)

RefreshFields($Server)

ElseIf _GUICtrlTabGetCurFocus($tab) = 4 Then

LoadFields($Server)

RefreshFields($Server)

ElseIf _GUICtrlTabGetCurFocus($tab) = 5 Then

LoadFields($Server)

RefreshFields($Server)

EndIf

GUICtrlSetOnEvent($UpdateServerbutton, "UpdateServer")

EndFunc ;==>TabClick

Func GUITab($Server)

GUICtrlCreateTabItem($Server)

GUICtrlCreateLabel("Current INI on " & $Server, 10, 40)

GUICtrlCreateLabel("ARGO - versionNumber", 10, 70)

GUICtrlCreateLabel("TDEFN - versionNumber", 10, 100)

GUICtrlCreateLabel("TDEFN - Date", 10, 130)

GUICtrlCreateLabel("TDEFN - Time", 10, 160)

GUICtrlCreateLabel("Alogent - versionNumber", 10, 190)

GUICtrlCreateLabel("Sort Pattern - versionNumber", 10, 220)

GUICtrlCreateLabel("Sort Pattern - Date", 10, 250)

GUICtrlCreateLabel("Sort Pattern - Time", 10, 280)

GUICtrlCreateLabel("Server Date - Date", 10, 310)

GUICtrlCreateLabel("Code Delivery Folder - version", 10, 340)

GUICtrlCreateLabel("Future INI on " & $Server, 10, 400)

GUICtrlCreateLabel("ARGO - versionNumber", 10, 430)

GUICtrlCreateLabel("TDEFN - versionNumber", 10, 460)

GUICtrlCreateLabel("TDEFN - Date", 10, 490)

GUICtrlCreateLabel("TDEFN - Time", 10, 520)

GUICtrlCreateLabel("Alogent - versionNumber", 10, 550)

GUICtrlCreateLabel("Sort Pattern - versionNumber", 10, 580)

GUICtrlCreateLabel("Sort Pattern - Date", 10, 610)

GUICtrlCreateLabel("Sort Pattern - Time", 10, 640)

GUICtrlCreateLabel("Server Date - Date", 10, 670)

GUICtrlCreateLabel("Code Delivery Folder - version", 10, 700)

$UpdateServerbutton = GUICtrlCreateButton("Update " & $Server, 100, 750, 200, 30)

EndFunc ;==>GUITab

Func LoadFields($Server)

$ServerArgoFieldCurrent = GUICtrlCreateInput("", 180, 70, 200, 20)

$ServerTDEFNversionNumberFieldCurrent = GUICtrlCreateInput("", 180, 100, 200, 20)

$ServerTDEFNDateFieldCurrent = GUICtrlCreateInput("", 180, 130, 200, 20)

$ServerTDEFNTimeFieldCurrent = GUICtrlCreateInput("", 180, 160, 200, 20)

$ServerAlogentversionNumberFieldCurrent = GUICtrlCreateInput("", 180, 190, 200, 20)

$ServerSortPatternversionNumberFieldCurrent = GUICtrlCreateInput("", 180, 220, 200, 20)

$ServerSortPatternDateFieldCurrent = GUICtrlCreateInput("", 180, 250, 200, 20)

$ServerSortPatternTimeFieldCurrent = GUICtrlCreateInput("", 180, 280, 200, 20)

$ServerServerDateDateFieldCurrent = GUICtrlCreateInput("", 180, 310, 200, 20)

$ServerCodeversionFieldCurrent = GUICtrlCreateInput("", 180, 340, 200, 20)

$ServerArgoFieldFuture = GUICtrlCreateInput("", 180, 430, 200, 20)

$ServerTDEFNversionNumberFieldFuture = GUICtrlCreateInput("", 180, 460, 200, 20)

$ServerTDEFNDateFieldFuture = GUICtrlCreateInput("", 180, 490, 200, 20)

$ServerTDEFNTimeFieldFuture = GUICtrlCreateInput("", 180, 520, 200, 20)

$ServerAlogentversionNumberFieldFuture = GUICtrlCreateInput("", 180, 550, 200, 20)

$ServerSortPatternversionNumberFieldFuture = GUICtrlCreateInput("", 180, 580, 200, 20)

$ServerSortPatternDateFieldFuture = GUICtrlCreateInput("", 180, 610, 200, 20)

$ServerSortPatternTimeFieldFuture = GUICtrlCreateInput("", 180, 640, 200, 20)

$ServerServerDateDateFieldFuture = GUICtrlCreateInput("", 180, 670, 200, 20)

$ServerCodeversionFieldFuture = GUICtrlCreateInput("", 180, 700, 200, 20)

EndFunc ;==>LoadFields

Func RefreshFields($Server)

GUICtrlSetData($ServerArgoFieldCurrent, $ServerArgo)

GUICtrlSetData($ServerTDEFNversionNumberFieldCurrent, $ServerTDEFNversionNumber)

GUICtrlSetData($ServerTDEFNDateFieldCurrent, $ServerTDEFNDate)

GUICtrlSetData($ServerTDEFNTimeFieldCurrent, $ServerTDEFNTime)

GUICtrlSetData($ServerAlogentversionNumberFieldCurrent, $ServerAlogentversionNumber)

GUICtrlSetData($ServerSortPatternversionNumberFieldCurrent, $ServerSortPatternversionNumber)

GUICtrlSetData($ServerSortPatternDateFieldCurrent, $ServerSortPatternDate)

GUICtrlSetData($ServerSortPatternTimeFieldCurrent, $ServerSortPatternTime)

GUICtrlSetData($ServerServerDateDateFieldCurrent, $ServerServerDateDate)

GUICtrlSetData($ServerCodeversionFieldCurrent, $ServerCodeversion)

GUICtrlSetData($ServerArgoFieldFuture, $ServerArgoMaster)

GUICtrlSetData($ServerTDEFNversionNumberFieldFuture, $ServerTDEFNversionNumberMaster)

GUICtrlSetData($ServerTDEFNDateFieldFuture, $ServerTDEFNDateMaster)

GUICtrlSetData($ServerTDEFNTimeFieldFuture, $ServerTDEFNTimeMaster)

GUICtrlSetData($ServerAlogentversionNumberFieldFuture, $ServerAlogentversionNumberMaster)

GUICtrlSetData($ServerSortPatternversionNumberFieldFuture, $ServerSortPatternversionNumberMaster)

GUICtrlSetData($ServerSortPatternDateFieldFuture, $ServerSortPatternDateMaster)

GUICtrlSetData($ServerSortPatternTimeFieldFuture, $ServerSortPatternTimeMaster)

GUICtrlSetData($ServerServerDateDateFieldFuture, $ServerServerDateDateMaster)

GUICtrlSetData($ServerCodeversionFieldFuture, $ServerCodeversionMaster)

EndFunc ;==>RefreshFields

Func getINIInfo($Server)

MsgBox(0,"TEST","The $Server is: " & $Server)

If $Server = "S0890925A00" Then

$ServerArgo = "1.1"

ElseIf $Server = "S0890925B00" Then

$ServerArgo = "1.2"

ElseIf $Server = "S0896692A00" Then

$ServerArgo = "1.3"

ElseIf $Server = "S0896691A00" Then

$ServerArgo = "1.4"

ElseIf $Server = "S0896685C00" Then

$ServerArgo = "1.5"

ElseIf $Server = "S8024444A01" Then

$ServerArgo = "1.6"

EndIf

EndFunc ;==>getINIInfo

Func UpdateServer()

MsgBox(0, "TEST", "Server is: " & $Server)

If $Server = "S0890925A00" Then

MsgBox(0, "TEST", "I WAS CALLED FROM " & $Server & " TAB")

MsgBox(0, "TEST", $Server & " has Argo Field of " & $ServerArgo)

ElseIf $Server = "S0890925B00" Then

MsgBox(0, "TEST", "I WAS CALLED FROM " & $Server & " TAB")

MsgBox(0, "TEST", $Server & " has Argo Field of " & $ServerArgo)

ElseIf $Server = "S0896692A00" Then

MsgBox(0, "TEST", "I WAS CALLED FROM " & $Server & " TAB")

MsgBox(0, "TEST", $Server & " has Argo Field of " & $ServerArgo)

ElseIf $Server = "S0896691A00" Then

MsgBox(0, "TEST", "I WAS CALLED FROM " & $Server & " TAB")

MsgBox(0, "TEST", $Server & " has Argo Field of " & $ServerArgo)

ElseIf $Server = "S0896685C00" Then

MsgBox(0, "TEST", "I WAS CALLED FROM " & $Server & " TAB")

MsgBox(0, "TEST", $Server & " has Argo Field of " & $ServerArgo)

ElseIf $Server = "S8024444A01" Then

MsgBox(0, "TEST", "I WAS CALLED FROM " & $Server & " TAB")

MsgBox(0, "TEST", $Server & " has Argo Field of " & $ServerArgo)

EndIf

EndFunc ;==>UpdateServer

Posted

Hi,

Can you post a sample ini that the fields are Loaded from/Saved to?

I think you can greatly improve the way your script is written by looping the controls into an array, it'll make it easier in the long run to to quickly fill/refresh/save the input fields using half the amount of code in your script and your controls working reliably.

I've was able to get your scripts control creation to 1/4 the amount of lines of code, but without an ini layout to work with it sort of makes it hard to get the gui to do anything apart from look between tabs or pop up a msgbox.

But I can identify the controls reliably the way I've worked it.

Cheers

Posted

I've got that part down just trying to trim down the tabs and getting the vars and buttons to work correctly in what I published.

Hi,

Can you post a sample ini that the fields are Loaded from/Saved to?

I think you can greatly improve the way your script is written by looping the controls into an array, it'll make it easier in the long run to to quickly fill/refresh/save the input fields using half the amount of code in your script and your controls working reliably.

I've was able to get your scripts control creation to 1/4 the amount of lines of code, but without an ini layout to work with it sort of makes it hard to get the gui to do anything apart from look between tabs or pop up a msgbox.

But I can identify the controls reliably the way I've worked it.

Cheers

Posted (edited)

This probably won't help and it'll more then likely add confusion to the way you write your script..

It's just another way of looking at your control creation so you can ID controls that are clicked while shortening the length of your script.

On a Tab fill in the bottom 10 input boxes (or some of the bottom 10 inputs) with some text.

Click the Update button and it'll fill in the top 10 inputs with the filled in bottom 10 inputs.

Click a tab and a msgbox will tell you the tab you clicked and the name of the tab.

Here goes , crude example.




			
				


	Edited  by smashly
	
	

			
		

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
×
×
  • Create New...