Announcement

Collapse
No announcement yet.

Displaying Loop Index in a Control

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Branko Bedenik
    replied
    Thanks guys for help.
    i'm using

    Control set text hDlg, id, format$(I,"####")
    UpdateWindow GetDlgItem(hDlg, id)

    method and it works fine

    regards
    Branko S Bedenik

    ------------------

    Leave a comment:


  • George Bleck
    replied
    Word of advice though... if your counter will be counting a alot of things really fast you may want to only update the display in intervals.

    This way the real code processes faster when when windows doesn't have to stop to update the index EVERY time.

    ------------------

    Leave a comment:


  • Lance Edmonds
    replied
    The following code shows the basic technique with a Modeless dialog. If you use a Modal dialog, and trigger the counter from, say, a "start" button, then instead of DIALOG DOEVENTS, you would use UpdateWindow() after CONTROL SET TEXT.

    Code:
    #COMPILE EXE
    #INCLUDE "DDT.INC"
    
    $AppInfo = "The counter reads:"
    
    FUNCTION PBMAIN
        DIM hDlg AS LONG
        DIALOG NEW 0, "Counter Example",,, 100, 34, %DS_CENTER OR %WS_CAPTION OR %WS_SYSMENU TO hDlg
        CONTROL ADD LABEL, hDlg, 100, "", 10, 10, 80, 14, %SS_CENTER
        DIALOG SHOW MODELESS hDlg
        FOR x& = 1 TO 100
            CONTROL SET TEXT hDlg, 100, $AppInfo & STR$(x&)
            DIALOG DOEVENTS
            Sleep 100
        NEXT x&
        DIALOG END hDlg
    END FUNCTION

    ------------------
    Lance
    PowerBASIC Support
    mailto:[email protected][email protected]</A>

    Leave a comment:


  • Semen Matusovski
    replied
    Branko --
    Don't know how you set text, but of course you need Sleep to give a possibillity to OS to process messages.
    Another variant - use UpdateWindow (for DDT - something like UpdateWindow GetDlgItem(hDlg, id)

    ------------------

    Leave a comment:


  • Branko Bedenik
    started a topic Displaying Loop Index in a Control

    Displaying Loop Index in a Control

    I've written complex program for number crunching.
    However, I would like to display running index from a loop:
    say FOR I=1 to 500 ===> Display I.

    So I created Main window with CreateWindow and then
    Dialog New and I added a Textbox into the Dialog.

    The program does not display running index from within the loop
    but only when the loop has finished it displays I=500 in the Textbox.
    Any ideas, what am i doing wrong?
    Branko S. Bedenik
Working...
X