Jump to content

Recommended Posts

Posted (edited)

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
Posted (edited)

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 2024-07-28 - Version 1.6.3.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 (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

 

Posted

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. :)

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
×
×
  • Create New...