Results 1 to 4 of 4

Thread: Rexx

  1. #1

    Rexx

    I just download and try Reginald Rexx and i can say that i like
    syntax which is clear & clean.

    http://home.roadrunner.com/~jgglatt/rexx/rexxuser.htm

    I also download gui pack and work fine,you must try...

  2. #2
    thinBasic MVPs kryton9's Avatar
    Join Date
    Nov 2006
    Location
    Naples, Florida & Duluth, Georgia
    Age
    67
    Posts
    3,869
    Rep Power
    404
    Is that the Rexx that was the scripting language for IBM's OS2?

  3. #3
    Yes Kent...
    But this is Reginald RExx for windows with GUI.

  4. #4
    Here is example of Tab control in Reginald REXX:
    /*
    GUIBEGIN
    STRING ListStrings
    My string
    Another string
    One more
    DEND
    
    STRING TabStrings
    One
    Two
    Three
    DEND
    
    WINDOW , 91, 221, 197, 199, POPUP|CAPTION|SYSMENU|MINBOX|MAXBOX|THICK, , TAB example
    	FONT 8, 400, MS Shell Dlg
    	TAB 5, 3, 187, 108, SINGLELINE|RIGHTJUSTIFY|NOFOCUS, , MyTab, , TabStrings
    DEND
    GUIEND
    */
    
    /* This is an example of a Main Window Layout script. It contains a TAB
     * control with the labels "One", "Two", and "Three". When the user
     * selects "One", we create a ENTRY control and a PUSH button, and operate
     * it. When the user selects "Two", we create 4 check controls. When the
     * user selects "Three", we create a listbox containing some preset strings.
     */
    
    /* Before opening the window, let's initialize the variables for our TAB
     * control, and each label's set of controls.
     */
    MyTab = "One"	/* Initially select this label. */
    TwoCheck1 = 1	/* Initially check this box. */
    MyOldTab = "One"
    
    
    
    
    
    
    
    
    
    /* Standard initialization and message loop, with one exception as regards
     * GuiCreateWindow below.
     */
    
    LIBRARY rexxgui
    GuiErr = "SYNTAX"
    GuiHeading = 1
    
    /* Normally, we call GuiCreateWindow('NORMAL'). This creates and displays
     * the window. But we don't want to display the window after it is created.
     * Why? Because we still have some more controls to add to it first. We
     * call AddTabCtls() to do that. Then we call GuiSetCtlPlacement to finally
     * display the window.
     */
    GuiCreateWindow()
    AddTabCtls()
    GuiSetCtlPlacement(,,,,,,'NORMAL')
    
    Again:
    DO FOREVER
    	GuiGetMsg()
    
    	/* None of our handlers below calls GuiWake(). Plus, we use no child window
    	 * Layout scripts. So we omit any checks of GuiObject/GuiSignal.
    	 */
    
    	CATCH SYNTAX
    		CONDITION('M')
    		SIGNAL Again
    	CATCH HALT
    	FINALLY
    		GuiDestroyWindow()
    END
    RETURN
    
    
    
    
    
    
    /* Called by Reginald when the user clicks the "OnePush" PUSH control.
     * NOTE: This was manually added. Because the "OnePush" is created
     * via GuiAddCtl, we don't actually have it in any window when we
     * create this script. So we have no Properties dialog to click on
     * the "Add Event Handler" button.
     *
     * So, we just prepend WM_CLICK to the control's variable name.
     */
    
    WM_CLICK_OnePush:
    	GuiSay("Button clicked.")
    	RETURN
    
    
    
    
    
    /* Called by Reginald when the user selects a new TAB label. */
    
    WM_SELCHANGE_MyTab:
    	/* Get the selected label's text (ie, "One", "Two" or "Three"). */
    	GuiGetCtlValue("MyTab")
    
    	/* Display a set of controls depending upon which TAB label
    	 * has been selected. The variable "MyTab" has been set to
    	 * the currently chosen label. "MyOldTab" has been set to
    	 * the previously chosen label, or DROP'ed if there was no
    	 * previously chosen label.
    	 */
    
    	/* First remove any controls that were displayed for the
    	 * previously chosen TAB label, if any.
    	 */
    	RemoveTabCtls()
    
    	/* Now add the set of controls for the new TAB label. */
    	AddTabCtls()
    
    	/* Save the current TAB label as the previous label too. */
    	MyOldTab = MyTab
    
    	RETURN
    
    
    
    
    
    /* Called by WM_SELCHANGE_MyTab to remove a set of controls for a TAB label.
     * NOTE: Before we destroy the controls, we call GuiGetCtlValue to update
     * the control's associated variable. In this way, the next time we create
     * the control, its variable will have an updated value, and it will be
     * initialized to that.
     */
    
    RemoveTabCtls:
    	/* Which label was previously selected? */
    	SELECT MyOldTab
    		WHEN "One" THEN DO
    			GuiGetCtlValue("OneEntry")
    			GuiGetCtlValue("OnePush")
    			GuiRemoveCtl("OneEntry")
    			GuiRemoveCtl("OnePush")
    		END
    		WHEN "Two" THEN DO
    			GuiGetCtlValue("TwoCheck1")
    			GuiGetCtlValue("TwoCheck2")
    			GuiGetCtlValue("TwoCheck3")
    			GuiGetCtlValue("TwoCheck4")
    			GuiRemoveCtl("TwoCheck1")
    			GuiRemoveCtl("TwoCheck2")
    			GuiRemoveCtl("TwoCheck3")
    			GuiRemoveCtl("TwoCheck4")
    		END
    		WHEN "Three" THEN DO
    			GuiGetCtlValue("ThreeList")
    			GuiRemoveCtl("ThreeList")
    		END
    		OTHERWISE	/* If no label was previously selected */
    	END
    	RETURN
    
    
    
    
    
    /* Called by WM_SELCHANGE_MyTab to add a set of controls for a TAB label. */
    
    AddTabCtls:
    	/* Which label is selected? */
    	SELECT MyTab
    		WHEN "One" THEN DO
    			GuiAddCtl("ENTRY 10,20,176,14, TABSTOP, CLIENTEDGE|QUIET, OneEntry")
    			GuiAddCtl("PUSH 76,40,50,16, DEFAULT|TABSTOP, , OnePush, , Ok")
    		END
    		WHEN "Two" THEN DO
    			GuiAddCtl("CHECK 10,24,50,14, AUTO, QUIET, TwoCheck1, , Option 1")
    			GuiAddCtl("CHECK 70,24,50,14, AUTO, QUIET, TwoCheck2, , Option 2")
    			GuiAddCtl("CHECK 10,44,50,14, AUTO, QUIET, TwoCheck3, , Option 3")
    			GuiAddCtl("CHECK 70,44,50,14, AUTO, QUIET, TwoCheck4, , Option 4")
    
    		END
    		WHEN "Three" THEN DO
    			GuiAddCtl("LIST 10,20,176,90, TABS|BORDER, CLIENTEDGE|QUIET, ThreeList,, ListStrings")
    		END
    	END
    	RETURN
    

Members who have read this thread: 0

There are no members to list at the moment.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •