Jump to content
Sign in to follow this  
Mesca

I need help improving this statement

Recommended Posts

Mesca

All other aspects of my personal script are working fine. I need to improve this statment though to make it easier to edit and cleaner.

Basically, what I need to happen is the message in the edit box to change every time the while statement completes a loop.

Once it reaches the last message I need to restart from the top again.

Here is what I got, very simple (just showing the part I need help with in hopes to minimize confusion)...

$Edit1 = GUICtrlCreateEdit("", 8, 136, 129, 21, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY))
GUICtrlSetData(-1, "")
$message = 1

While
If $message = 3 Then
$message = 1
EndIf

If $message = 1 Then
$Edit1 = GUICtrlCreateEdit("", 8, 136, 129, 21, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY))
GUICtrlSetData(-1, "Test1")
EndIf

If $message = 2 Then
$Edit1 = GUICtrlCreateEdit("", 8, 136, 129, 21, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY))
GUICtrlSetData(-1, "Test2")
EndIf

$message = $message + 1
WEnd

This is obviously not the best way to go about this. As you can see just to have 2 messages ("Test1" and "Test2")the code is lengthy. But please forgive me, my knowledge is very limited. Help please.

Edited by mesca

Share this post


Link to post
Share on other sites
water

You only need to create the Edit Ctrl one time. Then just set the data. So change your code to

$Edit1 = GUICtrlCreateEdit("", 8, 136, 129, 21, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY))
GUICtrlSetData(-1, "")
$message = 1

While
    Switch $message
        Case 3
            $message = 1
        Case 1
            GUICtrlSetData($Edit1, "Test1")
        Case 2
            GUICtrlSetData($Edit1, "Test2")
    EndSwitch
    $message = $message + 1
    Sleep(1000)
WEnd
Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
Mesca

You only need to create the Edit Ctrl one time. Then just set the data. So change your code to

$Edit1 = GUICtrlCreateEdit("", 8, 136, 129, 21, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY))
GUICtrlSetData(-1, "")
$message = 1

While
 If $message = 3 Then $message = 1
 If $message = 1 Then GUICtrlSetData($Edit1, "Test1")
 If $message = 2 Then GUICtrlSetData($Edit1, "Test2")
 $message = $message + 1
WEnd

Worked like a charm. How easy it was. Thank you very much. :)

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  

×