Sign in to follow this  
Followers 0
Jat421

Passing a variable to all functions

6 posts in this topic

#1 ·  Posted (edited)

Hi, I am little confused on how to pass a variable to all the functions. For example I have a function called

Func Connect()
$sql = _MySQLConnect('root', 'root', 'test', '192.168.0.10')
EndFunc

And I have other functions that will be using $sql string to connect to the sql.

Func Test()
Connect()
$i = _Query($sql, "select test from test1 limit 1")
EndFunc

As you can see I want to pass $sql to test() from the connect(). What is the best way to accomplish this?

In C it can be accomplished by using pointers I believe. I guess I am looking for a way to make the code faster without increasing the size.

I guess one way of doing it would be to make $sql global variable?

Edited by Jat421

Share this post


Link to post
Share on other sites



at the top of the script text file addd "global $SQL", it should make the variable accessable whereever it will be present


Things that I've done..

Icon Resource Editor: icon resource editor 

AutoIt Piano: a piano

AutoIt Unlocker: unlocks files when you want to delete them

Colorful tooltips: a wrapper for the tool tips UDF

Rouge GoogleBot: a full screen animation

ASciTE text editor: a text editor written in autoit

Warning: Posts by this user are subject to change or may disappear without notice.

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Globals variables shouldn't be used that way.

It's better to return the result of function Connect to the calling script.

Func Connect()
    Local $sql = _MySQLConnect('root', 'root', 'test', '192.168.0.10')
    Return $sql
EndFunc
and
Func Test()
    Local $sql = Connect()
    $i = _Query($sql, "select test from test1 limit 1")
EndFunc
Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Great thanks water that's exactly what I was looking for. Thanks!

Share this post


Link to post
Share on other sites
:D

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Byref can also reduce performance penalty.

from the helpfile on "func":

"The ByRef keyword indicates the parameter should be treated as a reference to the original object. The default behavior copies the parameter into a new variable however ByRef links the new variable to the original parameter. ByRef is typically preferred when a function expects large amounts of data, such as a large array, where copying all the data would impose a significant performance penalty."

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  
Followers 0