Silas Posted April 5, 2019 Posted April 5, 2019 Hello Internet, I am trying to create 10 labels, which all show a history of transactions, in order. Problem is, it get's confused when I try to use [$i] to create different variables. How can I create different labels and thus variables with this? For $i=1 to 10 Assign("PayH_" & $i, 20) ;Creates the variables for the values Global $PayHLabel_[$i] = GUICtrlCreateLabel($PayH_[$i], 30, 30) ;Creates the labels which show the values Next I know I can do this without a For Loop, but I am trying to learn how to keep my script short. Thanks in advance.
BrewManNH Posted April 5, 2019 Posted April 5, 2019 Don't declare the array inside the loop, declare it ONCE, then just use the array itself inside the loop. Also, instead of using Assign, you can just create another array and fill it with the information you need for the label. Something like this is cleaner. Global $PayHLabel_[10], $PayH_[10] For $i = 1 To 10 $PayH_[$i - 1] = 20 ;Creates the variables for the values $PayHLabel_[$i - 1] = GUICtrlCreateLabel($PayH_[$i1 - 1], 30, 30) ;Creates the labels which show the values Next 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 GudeHow 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
Skysnake Posted April 6, 2019 Posted April 6, 2019 On 4/5/2019 at 1:23 PM, Silas said: Hello Internet, I am trying to create 10 labels, which all show a history of transactions, in order. Problem is, it get's confused when I try to use [$i] to create different variables. How can I create different labels and thus variables with this? For $i=1 to 10 Assign("PayH_" & $i, 20) ;Creates the variables for the values Global $PayHLabel_[$i] = GUICtrlCreateLabel($PayH_[$i], 30, 30) ;Creates the labels which show the values Next I know I can do this without a For Loop, but I am trying to learn how to keep my script short. Thanks in advance. Repetitive data problem? What if there are more than 10 transactions? Display in a listview? Skysnake Why is the snake in the sky?
Silas Posted April 7, 2019 Author Posted April 7, 2019 (edited) Sorry for the late answer On 4/5/2019 at 1:31 PM, BrewManNH said: Don't declare the array inside the loop, declare it ONCE, then just use the array itself inside the loop. Also, instead of using Assign, you can just create another array and fill it with the information you need for the label. Something like this is cleaner. Global $PayHLabel_[10], $PayH_[10] For $i = 1 To 10 $PayH_[$i - 1] = 20 ;Creates the variables for the values $PayHLabel_[$i - 1] = GUICtrlCreateLabel($PayH_[$i1 - 1], 30, 30) ;Creates the labels which show the values Next This worked for me, thanks! 16 hours ago, Skysnake said: Repetitive data problem? What if there are more than 10 transactions? Display in a listview? I am only trying to show the 10 latest transactions. Do you mean that be a problem with this script? Edit: I am trying to create the labels with different top and left values, by using 30 (standard left value) + [$i]*10 . However, this creates a syntax error. How can that be? [$i] will be replaced with 1 or 2 etc right? Edited April 7, 2019 by Silas Addition
Nine Posted April 7, 2019 Posted April 7, 2019 Hmmm, first $i1 is not declared anywhere, typo ? Second remove brackets, use $i simply, instead of [$i]. Brackets are for indice of arrays... “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
BrewManNH Posted April 7, 2019 Posted April 7, 2019 17 minutes ago, Nine said: Hmmm, first $i1 is not declared anywhere, typo ? Yes, typo, should be this instead. $PayH_[$i - 1] 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 GudeHow 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
Silas Posted April 7, 2019 Author Posted April 7, 2019 1 hour ago, Nine said: Second remove brackets, use $i simply, instead of [$i] Damn Daniel, why didn't I see this? Thanks you all
Silas Posted April 7, 2019 Author Posted April 7, 2019 (edited) Alright I run into another problem, beginning with these codes: For $x = 10 to 1 Step -1 $PayH[$x] = $PayH[$x-1] GUICtrlSetData($PayHLabel[$x], $PayH[$x]) Next I noticed in BrewManNH's post, he used [$i - 1] , otherwise it created an error: "Array variable has incorrect number of subscripts or subscript dimension range exceeded." But why is that? If (in my case) $x = 10, then $PayH[10] is still in the range right? I even declared $PayH[10] before that. Still, I get the error. And now that's a problem, because I need to make item 10 equal to 9, and after that item 9 equal to 8, etc, so that every transaction value shifts one spot. So basically, I need to do $PayH[10]=$PayH[9] and after that $PayH[9] = $PayH[8]. And okay, perhaps he goes till 10 if you say 1 tot 10, so if 10 doesn't exists because of that, $PayH[9]=$PayH[8] would still be an option, right? So, in order to do that I need to do $PayH[$x - 1] = $PayH[$x - 2]. But AutoIt doesn't like [$x - 2], and gives me an error. Do you guys know a way around this? I hope I explained well. The thing I am trying to do here, is to shift all the 10 items in an array one place up, and replace ...[0] with a new, freshly made value (the most recent transaction). Edit: this is the code I am trying to convert into a for loop: $PayH[9] = $PayH[8] GUICtrlSetData($PayHLabel[9], $PayH[9]) $PayH[8] = $PayH[7] GUICtrlSetData($PayHLabel[8], $PayH[8]) $PayH[7] = $PayH[6] GUICtrlSetData($PayHLabel[7], $PayH[7]) $PayH[6] = $PayH[5] GUICtrlSetData($PayHLabel[6], $PayH[6]) $PayH[5] = $PayH[4] GUICtrlSetData($PayHLabel[5], $PayH[5]) $PayH[4] = $PayH[3] GUICtrlSetData($PayHLabel[4], $PayH[4]) $PayH[3] = $PayH[2] GUICtrlSetData($PayHLabel[3], $PayH[3]) $PayH[2] = $PayH[1] GUICtrlSetData($PayHLabel[2], $PayH[2]) $PayH[1] = $PayH[0] GUICtrlSetData($PayHLabel[1], $PayH[1]) Edited April 8, 2019 by Silas Useful addition, typo
RTFC Posted April 7, 2019 Posted April 7, 2019 (edited) Arrays are base-0 indexed in AutoIt, so the first entry sits in $array[0], the second in $array[1], etc; so an array containing 10 slots spans indices 0-9. If you wish to remove one array element with automatic array resize and remaining following entries shifting up, check out _ArrayDelete in the Help. Edited April 7, 2019 by RTFC My Contributions and Wrappers Spoiler BitMaskSudokuSolver BuildPartitionTable CodeCrypter CodeScanner DigitalDisplay Eigen4AutoIt FAT Suite HighMem MetaCodeFileLibrary OSgrid Pool RdRand SecondDesktop SimulatedAnnealing Xbase I/O
BrewManNH Posted April 7, 2019 Posted April 7, 2019 5 hours ago, Silas said: And now that's a problem, because I need to make item 10 equal to 9, and after that item 9 equal to 8, etc, so that every transaction value shifts one spot. So basically, I need to do $PayH[10]=$PayH[9] and after that $PayH[9] = $PayH[8]. That's silly, of course you don't need to do that. Just use -1 for any references to the array, or start your loop at zero and go to 9 instead. As mentioned, arrays start at 0 and their upper limit is the declared size minus 1. 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 GudeHow 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
Silas Posted April 8, 2019 Author Posted April 8, 2019 I understand the arrays better now, but my situation is really limiting. Although, so it seems to me. I am a bit confused now on how I can solve it. I can't go from 0 to 9, and the referencing part is not part of my problem, as far as I know. The code I provided earlier is exactly what should happen, although I think that is obvious. If any of you has the time and is so kind to give an example of how the code should look like, that would be great. Favorably, with the code I provided earlier. I think that if I can see what is different I will understand what you guys are trying to say to me. Thanks for the help so far guys, you keep the world spinning.
BrewManNH Posted April 8, 2019 Posted April 8, 2019 6 minutes ago, Silas said: I can't go from 0 to 9, Why not? 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 GudeHow 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
Silas Posted April 8, 2019 Author Posted April 8, 2019 16 minutes ago, BrewManNH said: Why not? Then I should have something like For $x = 1 to 10 $PayH[$x] = $PayH[$x+1] GUICtrlSetData($PayHLabel[$x], $PayH[$x]) Next to make it go in the right order. But [$x + 1] creates the same error. Whatever I do, one of the two values in the second line will create an error.
BrewManNH Posted April 8, 2019 Posted April 8, 2019 WHY are you attempting to write code to put the value from one array element into another element in the same array? There's NO reason to do that, and you're complicating things by attempting to do something totally unnecessary. 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 GudeHow 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
Silas Posted April 8, 2019 Author Posted April 8, 2019 I hope you will get me now. I am probably thinking too difficult or something.
BrewManNH Posted April 8, 2019 Posted April 8, 2019 Can you post the script you're working on so we can see what it is you're trying to accomplish. That video didn't show me at all what you're trying to do. 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 GudeHow 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
Moderators JLogan3o13 Posted April 8, 2019 Moderators Posted April 8, 2019 @Silas I would also be interested in seeing the code, as it appears you are automating a game of some sort. ===In case you missed it, this is a Mod stepping into a thread=== "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum!
Silas Posted April 8, 2019 Author Posted April 8, 2019 expandcollapse popup;Ideeën: ; - Bij instellen namen geef mogelijkheid om de kleur te kiezen ; - Payment History ; - Doe een "veel plezier!" popup of zo, en ook zon soort popup in plaats van eens stom msgbox met WE HEBBEN EEN WINNAAR (Doe ook meteen het script versimpelen, zodat de melding komt als $SpelersOver=1 en niet met al die gare if statements ; - De knoppen wisselen slim als er 2 spelers over zijn (if inputGUI - radio1 then guicheck radio 6 and guiuncheck radio5) ; - Voorkom tabben (oorzaak van gaar balkje naast radios) ; - Verander de vensters, in plaats van ze opnieuw creëren bij de home knop ;Bugs: ; - Terugknop wordt niet aangemaakt na back() en dan naar n3 ; - Data wordt moet goed opgeslagen ; - Verbreed 2 spelers hoofdscherm #include <ButtonConstants.au3> ;===========Includers #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> #include <EditConstants.au3> #include <Misc.au3> #include <Constants.au3> #include <WinAPI.au3> Global $MB_Progress, $Startbedrag, $Spelers, $VensterFinished_Start, $VensterFinished_N2, $VensterFinished_N3, $VensterFinished_N4, $Speler1, $Speler2, $Speler3, $Speler4 ;Dit is allemaal nodig om ze te kunnen controlleren of al een keer data is ingevoerd Start() Func Start() ;===========Startscherm (hoeveel spelers er zijn) Global $WBreedte = 306 Global $WHoogte = 165 Global $Window = GUICreate("MonoBank - Start", $WBreedte, $WHoogte, @DesktopWidth / 2 - ($WBreedte / 2), @DesktopHeight / 2 - ($WHoogte / 2), $GUI_SS_DEFAULT_GUI) GUISetFont(12, 400, 0, "Arial") Global $Label_Spelers = GUICtrlCreateLabel("Welkom, met hoeveel spelers zijn jullie?", 16, 16, 277, 22) Global $Radio2 = GUICtrlCreateRadio("2 Spelers", 32, 56, 113, 17) GUICtrlSetCursor(-1, 0) If $Spelers = 2 Then GUICtrlSetState(-1, $GUI_CHECKED) ;Al een keer ingevoerd? Dan onthoud ie dat zo Global $Radio3 = GUICtrlCreateRadio("3 Spelers", 32, 88, 113, 17) GUICtrlSetCursor(-1, 0) If $Spelers = 3 Then GUICtrlSetState(-1, $GUI_CHECKED) Global $Radio4 = GUICtrlCreateRadio("4 Spelers", 32, 120, 113, 17) GUICtrlSetCursor(-1, 0) If $Spelers = 4 Then GUICtrlSetState(-1, $GUI_CHECKED) Global $LabelStartbedrag = GUICtrlCreateLabel("Startbedrag:", 175, 56) Global $InputStartbedrag = GUICtrlCreateInput("1500", 160, 81, 120, 25, $ES_NUMBER) If $VensterFinished_Start = 1 Then GUICtrlSetData($InputStartbedrag, $Startbedrag) ;Dit geeft de mogelijkheid om zonder instellingen te resetten stappen terug te gaan. Hierbij door het vorige ingestelde waarde weer terug in te stellen Global $Button_Next = GUICtrlCreateButton("Volgende", 184, 125, 97, 25, $BS_DEFPUSHBUTTON) GUICtrlSetFont(-1, 11, 400, 0, "Arial") GUICtrlSetCursor(-1, 0) GUISetState(@SW_SHOW) Global $While1=1 Global $WhileH=0 ;Global $GameStarted=0 While $While1 ;===========Wat te doen bij startscherm $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button_Next If GUICtrlRead($Radio2) = 1 or GUICtrlRead($Radio3) = 1 or GUICtrlRead($Radio4) = 1 Then Global $Startbedrag = GUICtrlRead($InputStartbedrag) Global $ReturnWindow = 1 Global $VensterFinished_Start = 1 Ctrl_Radio() ;Verwijst naar controle van de opties Else MsgBox($MB_OK, "Niet zo snel", "Voer eerst in met hoeveel spelers jullie zijn") ;Foutmelding EndIf EndSwitch Wend EndFunc ;==>Start Func Ctrl_Radio() ;===========Controlleert welke optie gekozen is, en verwijst door naar toepassende venster If GUICtrlRead($Radio2) = 1 Then Global $Spelers = 2 Namen2() ElseIf GUICtrlRead($Radio3) = 1 Then Global $Spelers = 3 Namen3() ElseIf GUICtrlRead($Radio4) = 1 Then Global $Spelers = 4 Namen4() Else MsgBox($MB_OK, "Houston, we got a problem", "Er kon niet gelezen worden welke optie je gekozen hebt." & @CRLF & "Foutcode: " & @error) ;Foutmelding, lijkt me duidelijk EndIf EndFunc ;==>Ctr_Radio Func Namen2() ;===========Venster waarbij je namen kiest voor 2 spelers If $VensterFinished_N2 = 1 Then ;==> Als Back() wordt uitgevoerd, moet er eerst een venster zijn voordat de rest kan gebeuren Global $Window = GUICreate("MonoBank - Start", 306, 165, @DesktopWidth / 2 - (306 / 2), @DesktopHeight / 2 - (165 / 2), $GUI_SS_DEFAULT_GUI) GUISetFont(12, 400, 0, "Arial") EndIf WinSetTitle($Window, "", "MonoBank - Namen") GUICtrlDelete($Label_Spelers) GUICtrlDelete($Radio2) GUICtrlDelete($Radio3) GUICtrlDelete($Radio4) GUICtrlDelete($Button_Next) GUICtrlDelete($LabelStartbedrag) GUICtrlDelete($InputStartbedrag) Global $Label_Namen = GUICtrlCreateLabel("Hoe zal ik jullie noemen?", 71, 15) Global $Label1 = GUICtrlCreateLabel("Speler 1", 62, 64, 63, 22, $WS_GROUP) GUICtrlSetColor(-1, 0x4286f4) Global $Input1 = GUICtrlCreateInput("", 38, 90, 105, 24, BitOR($ES_AUTOHSCROLL, $WS_GROUP)) GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlSetCursor(-1, 5) Global $Label2 = GUICtrlCreateLabel("Speler 2", 198, 64, 63, 22, $WS_GROUP) GUICtrlSetColor(-1, 0xea3838) Global $Input2 = GUICtrlCreateInput("", 174, 90, 105, 24, BitOR($ES_AUTOHSCROLL, $WS_GROUP)) GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlSetCursor(-1, 5) Global $Button_Next = GUICtrlCreateButton("Start", 306 / 2 - 42, 125, 97, 25, $BS_DEFPUSHBUTTON) GUICtrlSetFont(-1, 11, 400, 0, "Arial") GUICtrlSetCursor(-1, 0) Global $Button_Back = GUICtrlCreateButton("<", 0, 0, 25, 25, $WS_GROUP) GUICtrlSetFont(-1, 11, 400, 0, "Arial") GUICtrlSetCursor(-1, 0) GUISetState(@SW_SHOW) Global $While1 = 0 Global $While2 = 1 While $While2 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button_Back If $ReturnWindow = 2 Then ;Als je twee keer achter elkaar op terug drukt, is dit venster nog steeds genoteerd als laatste venster. Dus in dit geval slaat hij Back() over en verwijdert hij alles zelf GUIDelete($Window) $While2=0 and $WhileH=0 Start() Else Back() EndIf Case $Button_Next If GUICtrlRead($Input1) = "" and GUICtrlRead($Input2) = "" Then MsgBox(0, "Niet zo snel", "Ik ken niemand die geen naam heeft") ElseIf GUICtrlRead($Input1) = "" Or GUICtrlRead($Input2) = "" Then MsgBox(0, "Niet zo snel", "Je moet wel voor beide personen een naam invoeren") Else Global $Speler1 = GUICtrlRead($Input1) Global $Speler2 = GUICtrlRead($Input2) Global $ReturnWindow = 2 ;Dit is om bij te houden wat het laastste venster was (back()) Global $VensterFinished_N2 = 1 ;Dit is om aan te geven voor later of de data bij dit venster al is ingevoerd, om later het overschrijven van de data te voorkomen Hoofdscherm() EndIf EndSwitch WEnd EndFunc ;==>Namen2 Func Namen3() ;===========Venster waarbij je namen kiest voor 3 spelers If $VensterFinished_N3 = 1 Then Global $Window = GUICreate("MonoBank - Start", 423, 220, @DesktopWidth / 2 - (423 / 2), @DesktopHeight / 2 - (220 / 2), $GUI_SS_DEFAULT_GUI) GUISetFont(12, 400, 0, "Arial") EndIf Global $WBreedte = 426 Global $WHoogte = 220 WinMove($Window, "", @DesktopWidth / 2 - ($WBreedte / 2), @DesktopHeight / 2 - ($WHoogte / 2), $WBreedte, $WHoogte) WinSetTitle($Window, "", "MonoBank - Namen") GUICtrlDelete($Label_Spelers) GUICtrlDelete($Radio2) GUICtrlDelete($Radio3) GUICtrlDelete($Radio4) GUICtrlDelete($Button_Next) GUICtrlDelete($LabelStartbedrag) GUICtrlDelete($InputStartbedrag) Global $Label_Namen = GUICtrlCreateLabel("Hoe zal ik jullie noemen?", 127, 24, 175, 22, $WS_GROUP) Global $Label1 = GUICtrlCreateLabel("Speler 1", 64, 64, 63, 22, $WS_GROUP) GUICtrlSetColor(-1, 0x4286f4) Global $Input1 = GUICtrlCreateInput("", 40, 96, 105, 24, BitOR($ES_AUTOHSCROLL, $WS_GROUP)) GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlSetCursor(-1, 5) Global $Label2 = GUICtrlCreateLabel("Speler 2", 184, 64, 63, 22, $WS_GROUP) GUICtrlSetColor(-1, 0xea3838) Global $Input2 = GUICtrlCreateInput("", 160, 96, 105, 24, BitOR($ES_AUTOHSCROLL, $WS_GROUP)) GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlSetCursor(-1, 5) Global $Label3 = GUICtrlCreateLabel("Speler 3", 304, 64, 63, 22, $WS_GROUP) GUICtrlSetColor(-1, 0x10cc38) Global $Input3 = GUICtrlCreateInput("", 281, 96, 105, 24, BitOR($ES_AUTOHSCROLL, $WS_GROUP)) GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlSetCursor(-1, 5) Global $Button_Next = GUICtrlCreateButton("Start", 166, 144, 97, 25, BitOR($WS_GROUP, $BS_DEFPUSHBUTTON)) GUICtrlSetFont(-1, 11, 400, 0, "Arial") GUICtrlSetCursor(-1, 0) Global $Button_Back = GUICtrlCreateButton("<", 0, 0, 25, 25, $WS_GROUP) GUICtrlSetFont(-1, 11, 400, 0, "Arial") GUICtrlSetCursor(-1, 0) GUISetState(@SW_SHOW) Global $While1 = 0 Global $While2 = 1 While $While2 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button_Next If GUICtrlRead($Input1) = "" and GUICtrlRead($Input2) = "" And GUICtrlRead($Input3) = "" Then MsgBox(0, "Niet zo snel", "Ik ken niemand die geen naam heeft") ElseIf GUICtrlRead($Input1) = "" Or GUICtrlRead($Input2) = "" Or GUICtrlRead($Input3) = "" Then MsgBox(0, "Niet zo snel", "Je moet wel alle namen invoeren") Else Global $Speler1 = GUICtrlRead($Input1) Global $Speler2 = GUICtrlRead($Input2) Global $Speler3 = GUICtrlRead($Input3) Global $ReturnWindow = 3 Global $VensterFinished_N3 = 1 Hoofdscherm() EndIf Case $Button_Back If $ReturnWindow = 3 Then GUIDelete($Window) $While2=0 and $WhileH=0 Start() Else Back() EndIf EndSwitch WEnd EndFunc ;==>Namen3 Func Namen4() ;===========Venster waarbij je namen kiest voor 4 spelers If $VensterFinished_N4 = 1 Then Global $Window = GUICreate("MonoBank - Start", 546, 220, @DesktopWidth / 2 - (546 / 2), @DesktopHeight / 2 - (220 / 2), $GUI_SS_DEFAULT_GUI) GUISetFont(12, 400, 0, "Arial") EndIf Global $WBreedte = 546 Global $WHoogte = 220 WinMove($Window, "", @DesktopWidth / 2 - ($WBreedte / 2), @DesktopHeight / 2 - ($WHoogte / 2), $WBreedte, $WHoogte) WinSetTitle($Window, "", "MonoBank - Namen") GUICtrlDelete($Label_Spelers) GUICtrlDelete($Radio2) GUICtrlDelete($Radio3) GUICtrlDelete($Radio4) GUICtrlDelete($Button_Next) GUICtrlDelete($LabelStartbedrag) GUICtrlDelete($InputStartbedrag) Global $Label_Namen = GUICtrlCreateLabel("Hoe zal ik jullie noemen?", 185, 24, 175, 22, $WS_GROUP) Global $Label1 = GUICtrlCreateLabel("Speler 1", 64, 64, 63, 22, $WS_GROUP) GUICtrlSetColor(-1, 0x4286f4) Global $Input1 = GUICtrlCreateInput("", 40, 96, 105, 24, BitOR($ES_AUTOHSCROLL, $WS_GROUP)) GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlSetCursor(-1, 5) If $VensterFinished_N4 = 1 Then GUICtrlSetData(-1, $Speler1) Global $Label2 = GUICtrlCreateLabel("Speler 2", 184, 64, 63, 22, $WS_GROUP) GUICtrlSetColor(-1, 0xea3838) Global $Input2 = GUICtrlCreateInput("", 160, 96, 105, 24, BitOR($ES_AUTOHSCROLL, $WS_GROUP)) GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlSetCursor(-1, 5) If $VensterFinished_N4 = 1 Then GUICtrlSetData(-1, $Speler2) Global $Label3 = GUICtrlCreateLabel("Speler 3", 304, 64, 63, 22, $WS_GROUP) GUICtrlSetColor(-1, 0x10cc38) Global $Input3 = GUICtrlCreateInput("", 281, 96, 105, 24, BitOR($ES_AUTOHSCROLL, $WS_GROUP)) GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlSetCursor(-1, 5) If $VensterFinished_N4 = 1 Then GUICtrlSetData(-1, $Speler3) Global $Label4 = GUICtrlCreateLabel("Speler 4", 424, 64, 63, 22, $WS_GROUP) GUICtrlSetColor(-1, 0xdbd82b) Global $Input4 = GUICtrlCreateInput("", 402, 96, 105, 24, BitOR($ES_AUTOHSCROLL, $WS_GROUP)) GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlSetCursor(-1, 5) If $VensterFinished_N4 = 1 Then GUICtrlSetData(-1, $Speler4) Global $Button_Next = GUICtrlCreateButton("Start", 224, 144, 97, 25, BitOR($WS_GROUP, $BS_DEFPUSHBUTTON)) GUICtrlSetFont(-1, 11, 400, 0, "Arial") GUICtrlSetCursor(-1, 0) Global $Button_Back = GUICtrlCreateButton("<", 0, 0, 25, 25, $WS_GROUP) GUICtrlSetFont(-1, 11, 400, 0, "Arial") GUICtrlSetCursor(-1, 0) GUISetState(@SW_SHOW) Global $While1 = 0 Global $While2 = 1 While $While2 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button_Next If GUICtrlRead($Input1) = "" And GUICtrlRead($Input2) = "" And GUICtrlRead($Input3) = "" And GUICtrlRead($Input4) = "" Then MsgBox(0, "Niet zo snel", "Ik ken niemand die geen naam heeft") ElseIf GUICtrlRead($Input1) = "" Or GUICtrlRead($Input2) = "" Or GUICtrlRead($Input3) = "" Or GUICtrlRead($Input4) = "" Then MsgBox(0, "Niet zo snel", "Je moet wel alle namen invoeren") Else Global $Speler1 = GUICtrlRead($Input1) Global $Speler2 = GUICtrlRead($Input2) Global $Speler3 = GUICtrlRead($Input3) Global $Speler4 = GUICtrlRead($Input4) Global $ReturnWindow = 4 Global $VensterFinished_N4 = 1 Hoofdscherm() EndIf Case $Button_Back If $ReturnWindow = 4 Then GUIDelete($Window) $While2=0 and $WhileH=0 Start() Else Back() EndIf EndSwitch WEnd EndFunc ;==>Namen4 Func Back() GUIDelete($Window) $While2=0 and $WhileH=0 If $ReturnWindow = 1 Then Start() ElseIf $ReturnWindow = 2 Then Namen2() ElseIf $ReturnWindow = 3 Then Namen3() ElseIf $ReturnWindow = 4 Then Namen4() Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden bepaald naar welk venster u wilt terugkeren" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Home/ErrorMsgBox1.0") ;Ik label elke msgbox die een foutcode geeft op deze manier, dan kun je makkelijker vinden waar de fout zich voordeet EndIf EndFunc Func _No_TABSTOP($iCID) _WinAPI_SetWindowLong(GUICtrlGetHandle($iCID), $GWL_STYLE, BitAND(_WinAPI_GetWindowLong(GUICtrlGetHandle($iCID), $GWL_STYLE), BitNOT($WS_TABSTOP))) EndFunc Func Hoofdscherm() ;===========Het venster waar het allemaal gebeurt #Region ;Al het verwijderen WinSetTitle($Window, "", "MonoBank") GUICtrlDelete($Button_Next) GUICtrlDelete($Label1) GUICtrlDelete($Label2) If IsDeclared("Input3") = 1 Then GUICtrlDelete($Label3) If IsDeclared("Input4") = 1 Then GUICtrlDelete($Label4) GUICtrlDelete($Input1) GUICtrlDelete($Input2) If IsDeclared("Input3") = 1 Then GUICtrlDelete($Input3) If IsDeclared("Input4") = 1 Then GUICtrlDelete($Input4) GUICtrlDelete($Label_Namen) ;============= Nu is alles prachtig mooi opgruimt #EndRegion #Region ;Al het toevoegen Global $Einde = False If $Spelers = 2 Then $WBreedte =518 $X_Undo = 228 $X_Input = $X_Undo + 52 $X_Transfer = $X_Undo + 200 If $MB_Progress <> 6 Then ;Dit geeft de mogelijkheid om zonder instellingen te resetten stappen terug te gaan. Dit door te voorkomen om de waardes te overschrijven Global $Geld1 = $Startbedrag Global $Geld2 = $Startbedrag EndIf Global $Spelend1 = 1 Global $Spelend2 = 1 ElseIf $Spelers = 3 Then $WBreedte = 633 $X_Undo = 298 $X_Input = $X_Undo + 52 $X_Transfer = $X_Undo + 200 If $MB_Progress <> 6 Then ;Dit geeft de mogelijkheid om zonder instellingen te resetten stappen terug te gaan. Dit door te voorkomen om de waardes te overschrijven Global $Geld1 = $Startbedrag Global $Geld2 = $Startbedrag Global $Geld3 = $Startbedrag EndIf Global $Spelend1 = 1 Global $Spelend2 = 1 Global $Spelend3 = 1 ElseIf $Spelers = 4 Then $WBreedte = 768 $X_Undo = 368 $X_Input = $X_Undo + 52 $X_Transfer = $X_Undo + 200 If $MB_Progress <> 6 Then ;Dit geeft de mogelijkheid om zonder instellingen te resetten stappen terug te gaan. Dit door te voorkomen om de waardes te overschrijven Global $Geld1 = $Startbedrag Global $Geld2 = $Startbedrag Global $Geld3 = $Startbedrag Global $Geld4 = $Startbedrag EndIf Global $Spelend1 = 1 Global $Spelend2 = 1 Global $Spelend3 = 1 Global $Spelend4 = 1 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden geladen hoeveel spelers er zijn" & @CRLF & "Foutcode: " & @error) EndIf ;===================== Dit allemaal bepaalt de posities en andere dingen van bepaalde dingen, afhankelijk van het aantal spelers $WHoogte = 380 WinMove($Window, "", @DesktopWidth / 2 - ($WBreedte / 2), @DesktopHeight / 2 - ($WHoogte / 2), $WBreedte, $WHoogte) Global $Zender1 = GUICtrlCreateLabel($Speler1, 232, 52, 105, 36, BitOR($WS_GROUP, $SS_CENTER)) ;===Zender Labels GUICtrlSetFont(-1, 20, 400, 0, "Arial") GUICtrlSetColor(-1, 0x4286f4) Global $Zender2 = GUICtrlCreateLabel($Speler2, 370, 52, 105, 36, BitOR($WS_GROUP, $SS_CENTER)) GUICtrlSetFont(-1, 20, 400, 0, "Arial") GUICtrlSetColor(-1, 0xea3838) If IsDeclared("Spelend3") = 1 Then Global $Zender3 = GUICtrlCreateLabel($Speler3, 509, 52, 105, 36, BitOR($WS_GROUP, $SS_CENTER)) GUICtrlSetFont(-1, 20, 400, 0, "Arial") GUICtrlSetColor(-1, 0x10cc38) EndIf If IsDeclared("Spelend4") = 1 Then Global $Zender4 = GUICtrlCreateLabel($Speler4, 647, 52, 105, 36, BitOR($WS_GROUP, $SS_CENTER)) GUICtrlSetFont(-1, 20, 400, 0, "Arial") GUICtrlSetColor(-1, 0xdbd82b) EndIf Global $GeldStatus1 = GUICtrlCreateLabel("₩" & $Geld1, 232, 18, 105, 31, $SS_CENTER) ;===Geldstatussen GUICtrlSetFont(-1, 18, 400, 0, "Arial") Global $GeldStatus2 = GUICtrlCreateLabel("₩" & $Geld2, 370, 18, 105, 31, $SS_CENTER) GUICtrlSetFont(-1, 18, 400, 0, "Arial") If IsDeclared("Geld3") = 1 Then Global $GeldStatus3 = GUICtrlCreateLabel("₩" & $Geld3, 509, 18, 105, 31, $SS_CENTER) GUICtrlSetFont(-1, 18, 400, 0, "Arial") EndIf If IsDeclared("Geld4") = 1 Then Global $GeldStatus4 = GUICtrlCreateLabel("₩" & $Geld4, 647, 18, 105, 31, $SS_CENTER) GUICtrlSetFont(-1, 18, 400, 0, "Arial") EndIf Global $ROHoogte = 271 Global $Ontvanger1 = GUICtrlCreateLabel($Speler1, 232, $ROHoogte, 105, 36, BitOR($WS_GROUP, $SS_CENTER)) ;===Ontvanger Labels GUICtrlSetFont(-1, 20, 400, 0, "Arial") GUICtrlSetColor(-1, 0x4286f4) Global $Ontvanger2 = GUICtrlCreateLabel($Speler2, 370, $ROHoogte, 105, 36, BitOR($WS_GROUP, $SS_CENTER)) GUICtrlSetFont(-1, 20, 400, 0, "Arial") GUICtrlSetColor(-1, 0xea3838) If IsDeclared("Spelend3") = 1 Then Global $Ontvanger3 = GUICtrlCreateLabel($Speler3, 509, $ROHoogte, 105, 36, BitOR($WS_GROUP, $SS_CENTER)) GUICtrlSetFont(-1, 20, 400, 0, "Arial") GUICtrlSetColor(-1, 0x10cc38) EndIf If IsDeclared("Spelend4") = 1 Then Global $Ontvanger4 = GUICtrlCreateLabel($Speler4, 647, $ROHoogte, 105, 36, BitOR($WS_GROUP, $SS_CENTER)) GUICtrlSetFont(-1, 20, 400, 0, "Arial") GUICtrlSetColor(-1, 0xdbd82b) EndIf ;GUISetState() ;GUICtrlSetStyle($Radio1, $WS_TABSTOP) GUIStartGroup() ;===Radio's Verzenders Global $Radio1 = GUICtrlCreateRadio("", 276, 94, 21, 21, BitOR($BS_AUTORADIOBUTTON,$BS_TOP)) GUICtrlSetCursor (-1, 0) GUICtrlSetState(-1, $GUI_CHECKED) _No_TABSTOP($Radio1) Global $Radio2 = GUICtrlCreateRadio("", 414, 89, 21, 21, BitOR($BS_AUTORADIOBUTTON,$BS_TOP)) GUICtrlSetCursor (-1, 0) If IsDeclared("Spelend3") = 1 Then Global $Radio3 = GUICtrlCreateRadio("", 553, 89, 21, 21, BitOR($BS_AUTORADIOBUTTON,$BS_TOP)) GUICtrlSetCursor (-1, 0) EndIf If IsDeclared("Spelend4") = 1 Then Global $Radio4 = GUICtrlCreateRadio("", 691, 89, 21, 21, BitOR($BS_AUTORADIOBUTTON,$BS_TOP)) GUICtrlSetCursor (-1, 0) EndIf If $Spelers = 2 Then Global $RadioBankVerz = GUICtrlCreateRadio("Bank", $X_Input + 25, 125, 80) If $Spelers = 3 Then Global $RadioBankVerz = GUICtrlCreateRadio("Bank", $X_Input + 25, 125, 80) If $Spelers = 4 Then Global $RadioBankVerz = GUICtrlCreateRadio("Bank", $X_Input + 25, 125, 80) GUICtrlSetCursor (-1, 0) GUICtrlSetFont(-1, 20, 400, 0, "Arial") GUIStartGroup() ;===Radio's Ontvangers Global $Radio5 = GUICtrlCreateRadio("", 276, $ROHoogte + 40, 21, 21, BitOR($BS_AUTORADIOBUTTON,$BS_TOP)) GUICtrlSetCursor (-1, 0) GUICtrlSetState($Radio5, $GUI_CHECKED) _No_TABSTOP($Radio5) Global $Radio6 = GUICtrlCreateRadio("", 414, $ROHoogte + 40, 21, 21, BitOR($BS_AUTORADIOBUTTON,$BS_TOP)) GUICtrlSetCursor (-1, 0) If IsDeclared("Spelend3") = 1 Then Global $Radio7 = GUICtrlCreateRadio("", 553, $ROHoogte + 40, 21, 21, BitOR($BS_AUTORADIOBUTTON,$BS_TOP)) GUICtrlSetCursor (-1, 0) EndIf If IsDeclared("Spelend4") = 1 Then Global $Radio8 = GUICtrlCreateRadio("", 691, $ROHoogte + 40, 21, 21, BitOR($BS_AUTORADIOBUTTON,$BS_TOP)) GUICtrlSetCursor (-1, 0) EndIf If $Spelers = 2 Then Global $RadioBankOntv = GUICtrlCreateRadio("Bank", $X_Input + 25, 225, 80) If $Spelers = 3 Then Global $RadioBankOntv = GUICtrlCreateRadio("Bank", $X_Input + 25, 225, 80) If $Spelers = 4 Then Global $RadioBankOntv = GUICtrlCreateRadio("Bank", $X_Input + 25, 225, 80) GUICtrlSetCursor (-1, 0) GUICtrlSetFont(-1, 20, 400, 0, "Arial") Global $Input = GUICtrlCreateInput("", $X_Input, 163, 144, 50, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_NUMBER,$WS_GROUP)) ;===Transactie Middelen GUICtrlSetFont(-1, 28, 400, 0, "Arial") GUICtrlSetCursor (-1, 5) GUICtrlSetLimit(-1, 6) Global $Button_Transfer = GUICtrlCreateButton("OK", $X_Transfer, 163, 50, 50, BitOR($WS_GROUP, $BS_DEFPUSHBUTTON)) GUICtrlSetCursor(-1, 0) Global $Button_Undo = GUICtrlCreateButton("<", $X_Undo, 163, 50, 50, $WS_GROUP) GUICtrlSetCursor(-1, 0) GUICtrlCreateLabel("Transactie Geschiedenis", 20, 40, 200) ;===PaymentHistory Middelen GUICtrlSetFont(-1, 14, 500, 0, "") Global $PayHLabel[10], $PayH[10] For $i = 1 To 10 $PayH[$i - 1] = ".........." ;Creates the variables for the values $PayHLabel[$i - 1] = GUICtrlCreateLabel($PayH[$i - 1], 30, 40+$i*27, 230) ;Creates the labels which show the values ;==$PayH[$i - 1] Is reference naar vorige waardes GUICtrlSetFont(-1, 12, 300, 0, "Segoe UI") Next #EndRegion Global $While2 = 0 Global $WhileH = 1 Global $GameStarted = 1 If $Spelers = 2 Then Global $SpelersOver = 2 ElseIf $Spelers = 3 Then Global $SpelersOver = 3 ElseIf $Spelers = 4 Then Global $SpelersOver = 4 EndIf ;==> Dit stelt het de variable $Spelers in op het aantal spelers, zodat in de volgende while loop gechekt kan worden of er 2 spelers over zijn, waardoor de radio's zich slimmer gedragen While $WhileH $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button_Transfer If GUICtrlRead($Input)= Not "" And $Einde = False Then Transfer() ; Case $Radio1 ;======================================================================> Slim wisselen ; If $SpelersOver=2 And $Einde=0 Then ; GUICtrlSetState($Radio6,1) ; _No_TABSTOP($Radio6) ; EndIf ; ; Case $Radio2 ; If $SpelersOver=2 And $Einde=0 Then ; GUICtrlSetState($Radio5,1) ; _No_TABSTOP($Radio5) ; EndIf ; ; Case $Radio3 ; If $SpelersOver=2 And $Einde=0 Then ; GUICtrlSetState($Radio5,1) ; _No_TABSTOP($Radio5) ; EndIf ; ; Case $Radio4 ; If $SpelersOver=2 And $Einde=0 Then ; GUICtrlSetState($Radio5,1) ; _No_TABSTOP($Radio5) ; EndIf ; ; Case $Radio5 ; If $SpelersOver=2 And $Einde=0 Then ; GUICtrlSetState($Radio2,1) ; _No_TABSTOP($Radio2) ; EndIf ; ; Case $Radio6 ; If $SpelersOver=2 And $Einde=0 Then ; GUICtrlSetState($Radio1,1) ; _No_TABSTOP($Radio1) ; EndIf ; ; Case $Radio7 ; If $SpelersOver=2 And $Einde=0 Then ; GUICtrlSetState($Radio5,1) ; _No_TABSTOP($Radio5) ; EndIf ; ; Case $Radio8 ; If $SpelersOver=2 And $Einde=0 Then ; GUICtrlSetState($Radio5,1) ; _No_TABSTOP($Radio5) ; EndIf ; Case $Button_Undo ; Sumsing Case $Button_Back Global $MB_Progress = MsgBox(4, "Voortgang onthouden", "Wil je de voortgang onthouden?") Back() ;Hieronder zie je niet wat er gebeurt als er een keuze gemaakt word, alleen dat hij teruggaat naar Back(). Maar bij de vorige vensters, als de waardes worden aangemaakt, worden die waardes niet nog eens gemaakt (en dus overschreden) als het antwoord ja (6) is ;Case $Radio1, $Radio2, $Radio3, $Radio4, $Radio5, $Radio6, $Radio7, $Radio8 ; _No_TABSTOP($nMsg) EndSwitch If GUICtrlRead($GeldStatus1) <> "₩" & $Geld1 Then GUICtrlSetData($GeldStatus1, "₩" & $Geld1) If GUICtrlRead($GeldStatus2) <> "₩" & $Geld2 Then GUICtrlSetData($GeldStatus2, "₩" & $Geld2) If IsDeclared("GeldStatus3") And GuiCtrlRead($GeldStatus3) <> "₩" & $Geld3 Then GUICtrlSetData($GeldStatus3, "₩" & $Geld3) If IsDeclared("GeldStatus4") And GuiCtrlRead($GeldStatus4) <> "₩" & $Geld4 Then GUICtrlSetData($GeldStatus4, "₩" & $Geld4) ;============= Updatet de geldstatussen meteen als een bedrag verandert ;If $SpelersOver=2 Then ;=========================> Laat de radios slim wisselen tussen de 2 spelers die over zijns ;$Done=1 ; If $Einde=0 And $Done=0 Then ; If GUICtrlRead($Radio1)=1 And Not BitAND(GUICtrlGetState($Radio6),1) And Not BitAND(GUICtrlGetState($Radio5),1) Then GUICtrlSetState($Radio6,1) ; If GUICtrlRead($Radio2)=1 And Not BitAND(GUICtrlGetState($Radio5),1) And Not BitAND(GUICtrlGetState($Radio6),1) Then GUICtrlSetState($Radio5,1) ; If GUICtrlRead($Radio5)=1 And Not BitAND(GUICtrlGetState($Radio2),1) And Not BitAND(GUICtrlGetState($Radio1),1) Then GUICtrlSetState($Radio2,1) ; If GUICtrlRead($Radio6)=1 And Not BitAND(GUICtrlGetState($Radio1),1) And Not BitAND(GUICtrlGetState($Radio2),1) Then GUICtrlSetState($Radio1,1) ; GUIRegisterMsg($Radio1, "Radio1") ; $Done=0 ; ; ElseIf $Spelers=3 Then ; Exit ; ElseIf $Spelers=4 Then ; Exit ; EndIf ; EndIf WEnd EndFunc Func Transfer() ;====== Kijkt welke zender is geselecteerd > berekent kosten > bekijkt welke ontvanger is geselecteerd > berekent inkomen en ondertussen checkt hij wanneer iemand gewonnen heeft $GeldErbij = GUICtrlRead($Input) $Schulden1 = False $Temp = 0 $Failliet = 0 If GUICtrlRead($Radio1) = 1 Then Global $Verzender = $Speler1 $Result = $Geld1 - $GeldErbij $PreTransfer = $Geld1 Global $Geld1 = $Result ;===> Berekent de transactie $Failliet = 0 ;Nodig bij het bepalen of iemand failliet is (Begint bij de volgende regel) If $Geld1 < 0 And GUICtrlRead($Radio5) = $GUI_UNCHECKED Then $Schulden1 = True $GeldErbij = $PreTransfer ;Zorgt ervoor dat bij het overmaken aan de ander (zie beneden deze if's), dat de debtor alleen het geld krijgt die de schuldige ook echt heeft $Failliet = MsgBox(4, "Failliet", $Speler1 & " staat hierdoor in het rood." & @CRLF & "Wil je deze speler failliet verklaren?" & @CRLF & "(Als je op nee drukt, wordt het balans van " & $Speler1 & " teruggezet naar 0.") If $Spelers = 2 Then If $Failliet = 6 Then ;Als de speler op ja drukte bij vorige MsgBox GUICtrlSetState($Radio2, 1) GUICtrlSetState($Radio1, 128) GUICtrlSetState($Zender1, 128) GUICtrlSetState($Ontvanger1, 128) GUICtrlSetState($GeldStatus1, 128) GUICtrlSetState($Radio5, 128) $Spelend1 = 0 $SpelersOver = 1 $Einde = True MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler2 & "!") ElseIf $Failliet = 7 Then ;Als de speler op nee drukte $Geld1 = 0 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden gelezen welke optie u gekozen heeft" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox1.1") ;Ik label elke msgbox die een foutcode geeft op deze manier, dan kun je makkelijker vinden waar de fout zich voordeet EndIf ElseIf $Spelers = 3 Then If $Failliet = 6 Then ;Als de speler op ja drukte bij vorige MsgBox GUICtrlSetState($Zender1, 128) GUICtrlSetState($Ontvanger1, 128) GUICtrlSetState($GeldStatus1, 128) GUICtrlSetState($Radio5, 128) $Spelend1 = 0 $Temp = $SpelersOver $SpelersOver = $Temp - 1 If $Spelend2 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio2, 1) GUICtrlSetState($Radio1, 128) ElseIf $Spelend3 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio3, 1) GUICtrlSetState($Radio1, 128) EndIf If $Spelend3 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler2 & "!") $Einde = True ElseIf $Spelend2 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler3 & "!") $Einde = True EndIf ElseIf $Failliet = 7 Then ;Als de speler op nee drukte $Geld1 = 0 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden gelezen welke optie u gekozen heeft" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox1.2") EndIf ElseIf $Spelers = 4 Then If $Failliet = 6 Then ;Als de speler op ja drukte bij vorige MsgBox GUICtrlSetState($Zender1, 128) GUICtrlSetState($Ontvanger1, 128) GUICtrlSetState($GeldStatus1, 128) GUICtrlSetState($Radio5, 128) $Spelend1 = 0 $Temp = $SpelersOver $SpelersOver = $Temp - 1 If $Spelend2 = 1 Then ;Hier checkedt(vinkt) hij de Radio die nog overblijft GUICtrlSetState($Radio2, 1) GUICtrlSetState($Radio1, 128) ElseIf $Spelend3 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio3, 1) GUICtrlSetState($Radio1, 128) ElseIf $Spelend4 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio4, 1) GUICtrlSetState($Radio1, 128) EndIf If $Spelend3 = 0 And $Spelend4 = 0 Then ;Hier checkt hij of iemand gewonnen heeft MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler2 & "!") $Einde = True ElseIf $Spelend2 = 0 And $Spelend4 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler3 & "!") $Einde = True ElseIf $Spelend2 = 0 And $Spelend3 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler4 & "!") $Einde = True EndIf ElseIf $Failliet = 7 Then ;Als de speler op nee drukte $Geld1 = 0 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden gelezen welke optie u gekozen heeft" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox1.3") EndIf Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden geladen hoeveel mensen er zijn" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox1.4") EndIf EndIf If GUICtrlRead($Radio5) = 1 Then Global $Ontvanger = $Speler1 $Result = $Geld1 + $GeldErbij Global $Geld1 = $Result ElseIf GUICtrlRead($Radio6) = 1 Then Global $Ontvanger = $Speler2 $Result = $Geld2 + $GeldErbij Global $Geld2 = $Result ElseIf IsDeclared("Spelend3") = Not 0 And GUICtrlRead($Radio7) = 1 Then Global $Ontvanger = $Speler3 $Result = $Geld3 + $GeldErbij Global $Geld3 = $Result ElseIf IsDeclared("Spelend4") = Not 0 And GUICtrlRead($Radio8) = 1 Then Global $Ontvanger = $Speler4 $Result = $Geld4 + $GeldErbij Global $Geld4 = $Result ElseIf GUICtrlRead($RadioBankOntv) = 1 Then Global $Ontvanger = "Bank" Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden geladen welke radioknop is geselecteerd" & @CRLF & "bij de ontvangers" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox1.5") EndIf ElseIf GUICtrlRead($Radio2) = 1 Then $Result = $Geld2 - $GeldErbij $PreTransfer = $Geld2 Global $Geld2 = $Result ;===> Berekent de transactie $Failliet = 0 ;Nodig bij het bepalen of iemand failliet is (Begint bij de volgende regel) If $Geld2 < 0 And GUICtrlRead($Radio6) = $GUI_UNCHECKED Then $Schulden2 = True $GeldErbij = $PreTransfer ;Zorgt ervoor dat bij het overmaken aan de ander (zie beneden deze if's), dat de debtor alleen het geld krijgt die de schuldige ook echt heeft $Failliet = MsgBox(4, "Failliet", $Speler2 & " staat hierdoor het rood." & @CRLF & "Wil je deze speler failliet verklaren?" & @CRLF & "(Als je op nee drukt, wordt het balans van " & $Speler2 & " teruggezet naar 0.") If $Spelers = 2 Then If $Failliet = 6 Then ;Als de speler op ja drukte bij vorige MsgBox GUICtrlSetState($Radio1, 1) GUICtrlSetState($Radio2, 128) GUICtrlSetState($Radio6, 128) GUICtrlSetState($Zender2, 128) GUICtrlSetState($Ontvanger2, 128) GUICtrlSetState($GeldStatus2, 128) $Spelend2 = 0 $Einde = True MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler1 & "!") ElseIf $Failliet = 7 Then ;Als de speler op nee drukte $Geld2 = 0 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden gelezen welke optie u gekozen heeft" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox2.1") EndIf ElseIf $Spelers = 3 Then If $Failliet = 6 Then ;Als de speler op ja drukte bij vorige MsgBox GUICtrlSetState($Zender2, 128) GUICtrlSetState($Ontvanger2, 128) GUICtrlSetState($GeldStatus2, 128) GUICtrlSetState($Radio6, 128) $Spelend2 = 0 $Temp = $SpelersOver $SpelersOver = $Temp - 1 If $Spelend1 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio1, 1) GUICtrlSetState($Radio2, 128) ElseIf $Spelend3 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio3, 1) GUICtrlSetState($Radio2, 128) EndIf If $Spelend3 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler1 & "!") $Einde = True ElseIf $Spelend1 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler3 & "!") $Einde = True EndIf ElseIf $Failliet = 7 Then ;Als de speler op nee drukte $Geld2 = 0 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden gelezen welke optie u gekozen heeft" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox2.2") EndIf ElseIf $Spelers = 4 Then If $Failliet = 6 Then ;Als de speler op ja drukte bij vorige MsgBox GUICtrlSetState($Zender2, 128) GUICtrlSetState($Ontvanger2, 128) GUICtrlSetState($GeldStatus2, 128) GUICtrlSetState($Radio6, 128) $Spelend2 = 0 $Temp = $SpelersOver $SpelersOver = $Temp - 1 If $Spelend1 = 1 Then ;Hier checkedt(vinkt) hij de Radio die nog overblijft GUICtrlSetState($Radio1, 1) GUICtrlSetState($Radio2, 128) ElseIf $Spelend3 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio3, 1) GUICtrlSetState($Radio2, 128) ElseIf $Spelend4 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio4, 1) GUICtrlSetState($Radio2, 128) EndIf If $Spelend3 = 0 And $Spelend4 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler1 & "!") $Einde = True ElseIf $Spelend1 = 0 And $Spelend4 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler3 & "!") $Einde = True ElseIf $Spelend1 = 0 And $Spelend3 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler4 & "!") $Einde = True EndIf ElseIf $Failliet = 7 Then ;Als de speler op nee drukte $Geld2 = 0 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden gelezen welke optie u gekozen heeft" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox2.3") EndIf Else MsgBox(0, "Niet genoeg info", "Naar wie moet het geld?") EndIf EndIf If GUICtrlRead($Radio5) = 1 Then $Result = $Geld1 + $GeldErbij Global $Geld1 = $Result ElseIf GUICtrlRead($Radio6) = 1 Then $Result = $Geld2 + $GeldErbij Global $Geld2 = $Result ElseIf IsDeclared("Spelend3") = Not 0 And GUICtrlRead($Radio7) = 1 Then $Result = $Geld3 + $GeldErbij Global $Geld3 = $Result ElseIf IsDeclared("Spelend4") = Not 0 And GUICtrlRead($Radio8) = 1 Then $Result = $Geld4 + $GeldErbij Global $Geld4 = $Result ElseIf GUICtrlRead($RadioBankOntv) = 0 Then MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden geladen welke radioknop is geselecteerd" & @CRLF & "bij de ontvangers" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox2.4") EndIf ElseIf GUICtrlRead($Radio3) = 1 Then $Result = $Geld3 - $GeldErbij $PreTransfer = $Geld3 Global $Geld3 = $Result ;===> Berekent de transactie $Failliet = 0 ;Nodig bij het bepalen of iemand failliet is (Begint bij de volgende regel) If $Geld3 < 0 And GUICtrlRead($Radio7) = $GUI_UNCHECKED Then $Schulden3 = True $GeldErbij = $PreTransfer ;Zorgt ervoor dat bij het overmaken aan de ander (zie beneden deze if's), dat de debtor alleen het geld krijgt die de schuldige ook echt heeft $Failliet = MsgBox(4, "Failliet", $Speler3 & " staat hierdoor in het rood." & @CRLF & "Wil je deze speler failliet verklaren?" & @CRLF & "(Als je op nee drukt, wordt het balans van " & $Speler3 & " teruggezet naar 0.") If $Spelers = 3 Then If $Failliet = 6 Then ;Als de speler op ja drukte bij vorige MsgBox GUICtrlSetState($Zender3, 128) GUICtrlSetState($Ontvanger3, 128) GUICtrlSetState($GeldStatus3, 128) GUICtrlSetState($Radio7, 128) $Spelend3 = 0 $Temp = $SpelersOver $SpelersOver = $Temp - 1 If $Spelend1 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio1, 1) GUICtrlSetState($Radio3, 128) ElseIf $Spelend2 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio2, 1) GUICtrlSetState($Radio3, 128) EndIf If $Spelend2 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler1 & "!") $Einde = True ElseIf $Spelend1 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler2 & "!") $Einde = True EndIf ElseIf $Failliet = 7 Then ;Als de speler op nee drukte $Geld3 = 0 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden gelezen welke optie u gekozen heeft" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox3.1") EndIf ElseIf $Spelers = 4 Then If $Failliet = 6 Then ;Als de speler op ja drukte bij vorige MsgBox GUICtrlSetState($Zender3, 128) GUICtrlSetState($Ontvanger3, 128) GUICtrlSetState($GeldStatus3, 128) GUICtrlSetState($Radio7, 128) $Spelend3 = 0 $Temp = $SpelersOver $SpelersOver = $Temp - 1 If $Spelend4 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio4, 1) GUICtrlSetState($Radio3, 128) ElseIf $Spelend2 = 1 Then ;Hier checkedt hij de Radio die nog overblijft GUICtrlSetState($Radio2, 1) GUICtrlSetState($Radio3, 128) ElseIf $Spelend1 = 1 Then ;Hier checkedt(vinkt) hij de Radio die nog overblijft GUICtrlSetState($Radio1, 1) GUICtrlSetState($Radio3, 128) EndIf If $Spelend2 = 0 And $Spelend4 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler1 & "!") $Einde = True ElseIf $Spelend1 = 0 And $Spelend4 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler2 & "!") $Einde = True ElseIf $Spelend1 = 0 And $Spelend2 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler4 & "!") $Einde = True EndIf ElseIf $Failliet = 7 Then ;Als de speler op nee drukte $Geld3 = 0 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden gelezen welke optie u gekozen heeft" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox3.2") EndIf Else MsgBox(0, "Niet genoeg info", "Naar wie moet het geld?") EndIf EndIf If GUICtrlRead($Radio5) = 1 Then $Result = $Geld1 + $GeldErbij Global $Geld1 = $Result ElseIf GUICtrlRead($Radio6) = 1 Then $Result = $Geld2 + $GeldErbij Global $Geld2 = $Result ElseIf IsDeclared("Spelend3") = Not 0 And GUICtrlRead($Radio7) = 1 Then $Result = $Geld3 + $GeldErbij Global $Geld3 = $Result ElseIf IsDeclared("Spelend4") = Not 0 And GUICtrlRead($Radio8) = 1 Then $Result = $Geld4 + $GeldErbij Global $Geld4 = $Result ElseIf GUICtrlRead($RadioBankOntv) = 0 Then MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden geladen welke radioknop is geselecteerd" & @CRLF & "bij de ontvangers" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox3.3") EndIf ElseIf GUICtrlRead($Radio4) = 1 Then $Result = $Geld4 - $GeldErbij $PreTransfer = $Geld4 Global $Geld4 = $Result ;===> Berekent de transactie $Failliet = 0 ;Nodig bij het bepalen of iemand failliet is (Begint bij de volgende regel) If $Geld4 < 0 And GUICtrlRead($Radio8) = $GUI_UNCHECKED Then $Schulden4 = True $GeldErbij = $PreTransfer ;Zorgt ervoor dat bij het overmaken aan de ander (zie beneden deze if's), dat de debtor alleen het geld krijgt die de schuldige ook echt heeft $Failliet = MsgBox(4, "Failliet", $Speler4 & " staat hierdoor in het rood." & @CRLF & "Wil je deze speler failliet verklaren?" & @CRLF & "(Als je op nee drukt, wordt het balans van " & $Speler4 & " teruggezet naar 0.") If $Spelers = 4 Then If $Failliet = 6 Then ;Als de speler op ja drukte bij vorige MsgBox GUICtrlSetState($Zender4, 128) GUICtrlSetState($Ontvanger4, 128) GUICtrlSetState($GeldStatus4, 128) GUICtrlSetState($Radio8, 128) $Spelend4 = 0 $Temp = $SpelersOver $SpelersOver = $Temp - 1 If $Spelend3 = 1 Then ;Hier checked hij de Radio die nog overblijft GUICtrlSetState($Radio3, 1) GUICtrlSetState($Radio4, 128) ElseIf $Spelend2 = 1 Then ;Hier checked hij de Radio die nog overblijft GUICtrlSetState($Radio2, 1) GUICtrlSetState($Radio4, 128) ElseIf $Spelend1 = 1 Then ;Hier checked(vinkt) hij de Radio die nog overblijft GUICtrlSetState($Radio1, 1) GUICtrlSetState($Radio4, 128) EndIf If $Spelend2 = 0 And $Spelend3 = 0 Then ;Bepaalt de winnaar MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler1 & "!") $Einde = True ElseIf $Spelend1 = 0 And $Spelend3 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler2 & "!") $Einde = True ElseIf $Spelend1 = 0 And $Spelend2 = 0 Then MsgBox(0, "Gefeliciteerd!", "We hebben een winnaar: " & $Speler3 & "!") $Einde = True EndIf ElseIf $Failliet = 7 Then ;Als de speler op nee drukte $Geld4 = 0 Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden gelezen welke optie u gekozen heeft" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox4.1") EndIf Else MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden geladen hoeveel mensen er zijn" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox4.2") EndIf EndIf If GUICtrlRead($Radio5) = 1 Then $Result = $Geld1 + $GeldErbij Global $Geld1 = $Result ElseIf GUICtrlRead($Radio6) = 1 Then $Result = $Geld2 + $GeldErbij Global $Geld2 = $Result ElseIf IsDeclared("Spelend3") = Not 0 And GUICtrlRead($Radio7) = 1 Then $Result = $Geld3 + $GeldErbij Global $Geld3 = $Result ElseIf IsDeclared("Spelend4") = Not 0 And GUICtrlRead($Radio8) = 1 Then $Result = $Geld4 + $GeldErbij Global $Geld4 = $Result ElseIf GUICtrlRead($RadioBankOntv) = 0 Then MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden geladen welke radioknop is geselecteerd" & @CRLF & "bij de ontvangers" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox4.3") EndIf ElseIf GUICtrlRead($RadioBankVerz) = 1 Then If GUICtrlRead($Radio5) = 1 Then $Result = $Geld1 + $GeldErbij Global $Geld1 = $Result ElseIf GUICtrlRead($Radio6) = 1 Then $Result = $Geld2 + $GeldErbij Global $Geld2 = $Result ElseIf IsDeclared("Spelend3") = Not 0 And GUICtrlRead($Radio7) = 1 Then $Result = $Geld3 + $GeldErbij Global $Geld3 = $Result ElseIf IsDeclared("Spelend4") = Not 0 And GUICtrlRead($Radio8) = 1 Then $Result = $Geld4 + $GeldErbij Global $Geld4 = $Result ElseIf GUICtrlRead($RadioBankOntv) = 0 Then MsgBox(0, "Bug-detector 2000", "Er kon helaas niet worden geladen welke radioknop is geselecteerd" & @CRLF & "bij de ontvangers" & @CRLF & "Foutcode: " & @error & @CRLF & @CRLF & "Transfer/ErrorMsgBox4.3") EndIf EndIf If $Verzender <> $Ontvanger Then For $x = 10 to 1 Step -1 $PayH[$x] = $PayH[$x-1] GUICtrlSetData($PayHLabel[$x-1], $PayH[$x-1]) Next ; $PayH[9] = $PayH[8] ; GUICtrlSetData($PayHLabel[9], $PayH[9]) ; $PayH[8] = $PayH[7] ; GUICtrlSetData($PayHLabel[8], $PayH[8]) ; $PayH[7] = $PayH[6] ; GUICtrlSetData($PayHLabel[7], $PayH[7]) ; $PayH[6] = $PayH[5] ; GUICtrlSetData($PayHLabel[6], $PayH[6]) ; $PayH[5] = $PayH[4] ; GUICtrlSetData($PayHLabel[5], $PayH[5]) ; $PayH[4] = $PayH[3] ; GUICtrlSetData($PayHLabel[4], $PayH[4]) ; $PayH[3] = $PayH[2] ; GUICtrlSetData($PayHLabel[3], $PayH[4]) ; $PayH[2] = $PayH[1] ; GUICtrlSetData($PayHLabel[2], $PayH[2]) ; $PayH[1] = $PayH[0] ; GUICtrlSetData($PayHLabel[1], $PayH[1]);==Alles opschuiven (ja dit kan in een for loop) $PayH[1] = $Verzender & " aan " & $Ontvanger & ": ₩" & $GeldErbij GUICtrlSetData($PayHLabel[1], $PayH[1]) If $Failliet = 6 Then GUICtrlSetColor($PayHLabel[1], $COLOR_RED) Else GUICtrlSetColor($PayHLabel[1], $COLOR_BLACK) EndIf EndIf EndFunc ;===> Berekent hoe de dikke stacks flowen boii I am not automating a game. I am replacing that money device for Monopoly, which let's you pay digitally. Mine is broken. Personal use only.
Moderators JLogan3o13 Posted April 9, 2019 Moderators Posted April 9, 2019 @Silas I know the device of which you speak; my son's has broken several times since we bought it. I am fine for the thread to continue so long as there is no interaction with a software game. "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum!
jvds Posted April 9, 2019 Posted April 9, 2019 how about _arraypush?, just _arraypush the new values in to the array and rewrite the labels from the array in the help file is an example of _arraypush
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now