Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma
arexxtlacitka.png (1250 bytes) Arexx RxMUI Docs Examples Back to Ghh home page
/* RxMUI by Alfonso Ranieri */
/* ghh RxMUI String         */

signal on halt
signal on break_c

call Init         /* volá funkci Init */
call CreateApp    /* volá funkci CreateApp (hlavní program) */
call HandleApp    /* volá funkci HandleApp (hlavní event) */

/**************************************** pøítomnost knihoven Alfie ****/
Init: procedure expose global.
    l="rmh.library";if ~show("L",l) then;if ~AddLib(l,0,-30) then exit
    if RMH_AddLibrary("rexxsupport.library","rxmui.library")~=0 then exit
    call Pragma("W","N")
    call RxMUIOpt("DebugMode ShowErr")
    return

/******************************************************** start gui ****/
CreateApp: procedure expose global.                          /* hlavní program */

    app.Title="RxMUI template"                               /* název programu (v Exchange) */
    app.Version="$VER: RxMUI String 0.1 (02.11.2016)"        /* verze programu */
    app.Copyright="Donotpanicware ghh 2016"
    app.Author="ghh"
    app.Description="RxMUI String"                           /* popis programu (v Exchange) */
    app.Base="RXMUIAPP"                                      /* název Arexx portu */
    app.SubWindow="win"                                      /* název hlavního okna "win" */
     win.ID="MWIN"                                           /* id hlavního okna */
     win.ScreenTitle="RxMUI String"                          /* titulek na li¹tì Workbenche */
     win.Title="String"                                      /* titulek na oknì */
     win.Contents="mgroup"                                   /* okno obsahuje hlavní skupinu s názvem "mgroup" */
      mgroup.0=String("txtpole",,"Amiga",)                   /* String("název",,"obsah", "max. délka textu") */
      mgroup.1="bgr"
       bgr.Class="Group"                                     /* Class="Group" - skupina */
       bgr.Horiz=1                                           /* vodorovnì */
        bgr.0=Button("okbutton","Ok")                        /* skupina obsahuje dvì tlaèítka */ /* konec popisu gui */
        bgr.1=Button("quitbutton","Quit")

/*********************************************************** notify ****/
    if NewObj("Application","App")>0 then exit                     /* nový objekt - aplikace "App" */

    call Notify("win","CloseRequest",1,"App","ReturnID","QUIT")    /* opu¹tìní programu zavøením okna */
    call Notify("okbutton","Pressed",0,"App","Return","say 'Ok'")  /* akce po zmáèknutí tlaèítka Ok */
    call Notify("quitbutton","Pressed",0,"App","ReturnID","QUIT")  /* opu¹tìní programu zmáèknutím tlaèítka Quit */

    call Set("win","Open",1)                                       /* otevøe hlavní okno "win" */

    return

/*********************************************** hlavní event alfie ****/
HandleApp: procedure expose g.

    ctrl_c=2**12
    do forever
        call NewHandle("App","h",ctrl_c)
        if and(h.signals,ctrl_c)>0 then exit /* user break */
        select
            when h.event="QUIT" then exit    /* quit event (QUIT musí být velkými písmeny) */
            otherwise interpret h.event
        end
    end

/****************************************************** exit signal ****/
halt:
break_c:
    exit
ghh don'tpanic