Jump to content

I need help improving this statement


Mesca
 Share

Recommended Posts

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
Link to comment
Share on other sites

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 (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

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. :)
Link to comment
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
 Share

  • Recently Browsing   0 members

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