Jump to content

Why does my function give the same value as return?


Go to solution Solved by trancexx,

Recommended Posts

Posted (edited)

Dear Autoit scripters,

So here is my code, does anyone know why $bet in the consolewrite returns the value 350000. In the function i am doing some calculations. But it seems it does not put them in $bet?

Global $bet = 350000
Global $maxbet = 255000000
Global $onetime = True
Global $flag = True
Global $remember

bet($bet)
ConsoleWrite($bet & @CRLF)
bet($bet)
ConsoleWrite($bet & @CRLF)
bet($bet)
ConsoleWrite($bet & @CRLF)

Func bet($bet)
    If $onetime = True Then
        $remember = $bet
        $onetime = False
        $bet = $bet + $bet
    Else
        If $flag = True Then
            $bet = $remember + $bet
            $flag = False
        Else
            $bet = $bet + $bet
        EndIf
        
    EndIf
Return $bet
EndFunc   ;==>bet
Edited by Flum
Posted

What's your function for?

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Posted

Hi guinnes,

The function is ment to take a start integer, then multiply that by two, then add the start integer to that and from there i would like to multiply each time by two.

I'm testing the output with the function consolewrite, but it seems to returns 3 times 350000. 

I don't understand, why it is doing that.
Posted

Hi Trancexx & JohnOne

Byref is indeed working, is there any explanation why this will not work with globals? Johnone said i was not using the returned value. I thought i was doing that with

Return $bet

Also i thought once u define a variable as Global, it would work inside and outside functions? I know how to do it now, but i dont quite understand it. 

From the helpfile 

 

Global = Forces creation of the variable in the Global scope
Posted (edited)

Global $bet = 350000
Global $maxbet = 255000000
Global $onetime = True
Global $flag = True
Global $remember

$bet = bet($bet)
ConsoleWrite($bet & @CRLF)
$bet = bet($bet)
ConsoleWrite($bet & @CRLF)
$bet = bet($bet)
ConsoleWrite($bet & @CRLF)

Func bet($bet)
    If $onetime = True Then
        $remember = $bet
        $onetime = False
        $bet = $bet + $bet
    Else
        If $flag = True Then
            $bet = $remember + $bet
            $flag = False
        Else
            $bet = $bet + $bet
        EndIf

    EndIf
Return $bet
EndFunc   ;==>bet

Edited by JohnOne

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Posted

Thanks a bunch JohnOne and trancexx u both teached me something new. Maybe i should have known, but i really did not.

Take this mighty sword as a token of my appreciation,

Sword2.gif
Posted

Ace.

Also consider...

Global $bet = 350000
Global $maxbet = 255000000
Global $onetime = True
Global $flag = True
Global $remember

bet()
ConsoleWrite($bet & @CRLF)
bet()
ConsoleWrite($bet & @CRLF)
bet()
ConsoleWrite($bet & @CRLF)

Func bet()
    If $onetime = True Then
        $remember = $bet
        $onetime = False
        $bet = $bet + $bet
    Else
        If $flag = True Then
            $bet = $remember + $bet
            $flag = False
        Else
            $bet = $bet + $bet
        EndIf

    EndIf
Return $bet
EndFunc   ;==>bet

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...