Page 1 of 1

Cannot open in ANY version of VD

Posted: Fri Nov 07, 2008 4:40 pm
by Rook Zimbabwe
The following code will not open in ANY version of VD I have. It will open and run in the IDE with no problems.

Code: Select all

; SIMPLE MANAGER WINDOW
; Ralph Dunn
; WILL NOT OPEN IN VD!
;
Enumeration
    #Window_MANAGER
EndEnumeration

Enumeration
    #Button_MPAY
    #Button_MSPLIT
    #Button_MREASSIGN
    #Button_MRESET
    #Button_MVOIDTIK
    #Button_MUPDATE
    #Button_MCLR
    #Button_M000
    #Button_M00
    #Button_M09
    #Button_M08
    #Button_M07
    #Button_M06
    #Button_M05
    #Button_M04
    #Button_MENTER
    #Button_M03
    #Button_M02
    #Button_M01
    #String_MPRICE
    #Button_M75
    #Button_M66
    #Button_m50
    #Button_m33
    #Button_M25
    #Button_m20
    #Button_m15
    #Button_M10
    #Button_m5
    #Button_MDOT
    #Button_MCOMP
    #Button_MBACK
    #Text_MEMPID ; used for tablenumber
    #Text_MTICKETNUMBER ; ticketnumber on ticket
    #Text_MTABNUM  ; table# on ticket
    #ListIcon_MANAGER
    #Button_MSHUT
    #Button_MEOD
    #Button_MSETSERVER
    #String_MSERVER
    #Button_MSPACE
    #Button_MDTICKET
    #Button_MCUPON
    #Button_MREQUEST
    #Button_MTOGO
    #Text_MTOT
    #Text_MTX
    #Text_MSB
    #String_MTOTAL
    #String_MTAX
    #String_MSUBTOTAL
    #Text_MMESSAGE
    #String_MAST
    #Text_MAX
    #Text_msrv
    #Text_MSERVERID
    #Text_MSERVERNAME
    #Button_MVOIDITEM
    #Button_MVOIDTICKET
    #Button_MRTABLE
    #Frame3D_M1
    #Frame3D_M0
EndEnumeration
;- ***** # THINGS

Structure VisualDesignerGadgets
    Gadget.l
    EventFunction.l
EndStructure

Global NewList EventProcedures.VisualDesignerGadgets()
;-


Procedure CallEventFunction(Window, Event, Gadget, Type)
    ForEach EventProcedures()
        If EventProcedures()\Gadget = Gadget
            CallFunctionFast(EventProcedures()\EventFunction, Window, Event, Gadget, Type)
            LastElement(EventProcedures())
        EndIf
    Next
EndProcedure

Procedure RegisterGadgetEvent(Gadget, *Function)
    If IsGadget(Gadget)
        AddElement(EventProcedures())
        EventProcedures()\Gadget        = Gadget
        EventProcedures()\EventFunction = *Function
    EndIf
EndProcedure
;-

;- ***** MAnAGER EVENTS
;-
Procedure Button_MPAY_Event(Window, Event, Gadget, Type)
    Select MUPDATE
    Case 0
        result = CountGadgetItems(#Listicon_MANAGER)
        result = result - 1
        For x = 0 To result
            ID$ = GetGadgetItemText(#Listicon_MANAGER, x, 0)
            stub$ = GetGadgetItemText(#Listicon_MANAGER, x, 1)
            food$ = GetGadgetItemText(#Listicon_MANAGER, x, 2)
            cost$ = GetGadgetItemText(#Listicon_MANAGER, x, 3)
            cog$ = GetGadgetItemText(#Listicon_MANAGER, x, 4)
            o$ = Left(food$,4)
            If o$ = "VOID"
                Goto Zulu
            EndIf
            thud$ = ID$+Chr(10)+stub$+Chr(10)+food$+Chr(10)+cost$+Chr(10)+cog$+Chr(10)+taxes$
            ;AddGadgetItem(#ListIcon_PAY, -1, thud$)
Zulu:
Next
;table$ = GetGadgetText(#Text_TABNUM)
;ticketnumber$ = GetGadgetText(#Text_TIKNUM)
SetGadgetText(#Text_MTICKETNUMBER, ticketnumber$)
SetGadgetText(#Text_MEMPID, table$)
STAT = 0
;CleanMANButtons()

HideWindow(#Window_MANAGER, 1)
;HideWindow(#Window_PAY, 0)
DisableWindow(#Window_MANAGER,1)
;DisableWindow(#Window_PAY,0)
;SetActiveWindow(#Window_PAY)


ClearGadgetItemList(#ListIcon_MANAGER)
;ClearGadgetItemList(#ListIcon_TICKET)
Case 1 ; MUPDATE NEEDS TO BE PRESSED
MessageRequester("UPDATE ERROR", "You need To press UPDATE SERVER"+Chr(10)+"Or press RESET TICKET before you can leave!")
EndSelect

EndProcedure

Procedure Button_MSPLIT_Event(Window, Event, Gadget, Type)
    Select MUPDATE
    Case 0
        result = CountGadgetItems(#Listicon_MANAGER)
        result = result - 1
        For x = 0 To result
            ID$ = GetGadgetItemText(#Listicon_MANAGER, x, 0)
            stub$ = GetGadgetItemText(#Listicon_MANAGER, x, 1)
            food$ = GetGadgetItemText(#Listicon_MANAGER, x, 2)
            cost$ = GetGadgetItemText(#Listicon_MANAGER, x, 3)
            cog$ = GetGadgetItemText(#Listicon_MANAGER, x, 4)
            taxes$ = GetGadgetItemText(#Listicon_MANAGER, x, 5)
            foo$ = ID$+Chr(10)+stub$ + Chr(10) + food$+Chr(10) +cost$+Chr(10) +cog$+Chr(10)+taxes$
            ; AddGadgetItem(#Listicon_SPLIT, -1, foo$)
        Next
        ; table$ = GetGadgetText(#Text_TABNUM)
        ; ticketnumber$ = GetGadgetText(#Text_TIKNUM)
        ;SetGadgetText(#Text_STICKET, ticketnumber$)
        ;SetGadgetText(#Text_STABLE, table$)
        STAT = 0
        ;CleanMANButtons()
        ClearGadgetItemList(#ListIcon_MANAGER)
        
        HideWindow(#Window_MANAGER, 1)
        DisableWindow(#Window_MANAGER,1)
        ; SetActiveWindow(#Window_SPLIT)
        ;DisableWindow(#Window_SPLIT,0)
        ; HideWindow(#Window_SPLIT,0)
        
    Case 1 ; MUPDATE NEEDS TO BE PRESSED
        MessageRequester("UPDATE ERROR", "You need To press UPDATE SERVER"+Chr(10)+"Or press RESET TICKET before you can leave!")
    EndSelect
    ;;TOTALMANAGERTICKET()
    ; need a reloadticket function
    
EndProcedure

Procedure Button_MRESET_Event(Window, Event, Gadget, Type)
    ClearGadgetItemList(#ListIcon_MANAGER)
    ;  result = CountGadgetItems(#Listicon_TICKET)
    result = result - 1
    For x = 0 To result
        ;    ID$ = GetGadgetItemText(#Listicon_TICKET, x, 0)
        ;   stub$ = GetGadgetItemText(#Listicon_TICKET, x, 1)
        ;     food$ = GetGadgetItemText(#Listicon_TICKET, x, 2)
        ;  cost$ = GetGadgetItemText(#Listicon_TICKET, x, 3)
        ;     cog$ = GetGadgetItemText(#Listicon_TICKET, x, 4)
        ;    taxes$ = GetGadgetItemText(#Listicon_TICKET, x, 5)
        ;      foo$ = ID$+Chr(10)+stub$ + Chr(10) + food$+Chr(10) +cost$+Chr(10) +cog$+Chr(10)+taxes$
        AddGadgetItem(#Listicon_MANAGER, -1, foo$)
    Next
    SetGadgetText(#Text_MMESSAGE,"")
    SetGadgetText(#Text_MMESSAGE,"TICKET RESET by: "+employee$)
    MUPDATE = 0
    ;TOTALMANAGERTICKET()
EndProcedure
;-
Procedure Button_MUPDATE_Event(Window, Event, Gadget, Type)
    
    Result = CountGadgetItems(#ListIcon_MANAGER)
    For lx = 0 To Result - 1
        f$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 1)
        Select f$
        Case ""
            ID$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 0)
            item$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 2)
            cost$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 3)
            cog$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 4)
            taxes$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 5)
            AST$ =  GetGadgetItemText(#ListIcon_MANAGER, lx, 6)
            empid$ = GetGadgetText(#Text_MEMPID)
            tablenumber$ = GetGadgetText(#Text_MTABNUM)
            ticketnumber$ = GetGadgetText(#Text_MTICKETNUMBER)
            dater$ = Str(Date())
            
            send$ = "UPDATE DAYTICKET SET ITEM ='"+Item$+"' , COST ="+cost$+", COG ="+cog$+", TAXES ="+taxes$+", ASTTYPE = "+AST$+", STATUS ='VOID' WHERE ID="+ID$+";"
            ; DatabaseQuery(#DatabaseTIK, send$)
            SetGadgetItemText(#ListIcon_MANAGER, Result, Chr(167))
            ; ***
        Case "UA"
            ID$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 0)
            item$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 2)
            cost$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 3)
            If cost$ = ""
                cost$ = "0"
            EndIf
            cog$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 4)
            If cog$ = ""
                cog$ = "0"
            EndIf
            taxes$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 5)
            If taxes$ = ""
                taxes$ = "0"
            EndIf
            AST$ = GetGadgetItemText(#ListIcon_MANAGER, lx, 6)
            
            empid$ = GetGadgetText(#Text_MEMPID)
            tablenumber$ = GetGadgetText(#Text_MTABNUM)
            ticketnumber$ = GetGadgetText(#Text_MTICKETNUMBER)
            dater$ = Str(Date())
            status$ = "OPEN"
            send$ = "INSERT INTO DAYTICKET ([CHECKNUMBER], [SERVERID], [TABLE], [ITEM], [COST], [COG],[TAXES],[ASTTYPE], [STATUS], [TIMER]) VALUES ('"+ticketnumber$+"', '"+empid$+"', '"+tablenumber$+"', '"+item$+"', "+cost$+", "+cog$+", "+taxes$+",'"+AST$+",'"+status$+"', '"+dater$+"');" ; **
            ; DatabaseQuery(#DatabaseTIK, send$)
            SetGadgetItemText(#ListIcon_MANAGER, Result, Chr(167))
            ; ***
        Case Chr(167)
            ; hi mom
        EndSelect
    Next
    SetGadgetText(#Text_MMESSAGE,"")
    SetGadgetText(#Text_MMESSAGE,"SERVER UPDATED by: "+employee$+" - Thank You...")
    MUPDATE = 0
    ;ClearGadgetItemList(#ListIcon_TICKET)
EndProcedure

Procedure Button_MBACK_Event(Window, Event, Gadget, Type)
    
    If STAT = 0
        Select  MUPDATE
        Case 0
            HideWindow(#Window_MANAGER, 1)
            ; DisableWindow(#Window_MAIN,0)
            ; SetActiveWindow(#Window_MAIN)
            ClearGadgetItemList(#Listicon_MANAGER)
            ; CleanMANButtons()
            ; TOTALTICKET()
            HideWindow(#Window_MANAGER, 1)
            ;  SetGadgetText(#Text_TIKNUM, "")
            ;   SetGadgetText(#Text_TABNUM, "")
            ;    ClearGadgetItemList(#ListIcon_TICKET)
            ;  TOTALTICKET()
        Case 1
            MessageRequester("UPDATE ERROR", "You need To press UPDATE SERVER"+Chr(10)+"Or press RESET TICKET before you can leave!")
        EndSelect
    EndIf
    If STAT = 1
        ; HideWindow(#Window_PPAD, 0)
        HideWindow(#Window_MANAGER, 1)
    EndIf
    
EndProcedure

Procedure Button_MVOIDITEM_Event(Window, Event, Gadget, Type)
    ; employee$ = GetGadgetText(#Text_EMP)
    Result = GetGadgetState(#ListIcon_MANAGER)
    ID$ = GetGadgetItemText(#ListIcon_MANAGER, 0, result)
    item$ = "VOID by "+employee$
    cost$ = "0"
    cog$ = "0"
    taxes$ = "0"
    SetGadgetItemText(#ListIcon_MANAGER, Result,"",1)
    SetGadgetItemText(#ListIcon_MANAGER, Result,item$,2)
    SetGadgetItemText(#ListIcon_MANAGER, Result,cost$,3)
    SetGadgetItemText(#ListIcon_MANAGER, Result,cog$,4)
    SetGadgetItemText(#ListIcon_MANAGER, Result, taxes$ ,5)
    SetGadgetItemText(#ListIcon_MANAGER, Result, taxes$ ,6)
    ;TOTALMANAGERTICKET()
    MUPDATE = 1
    SetGadgetText(#Text_MMESSAGE,"")
    SetGadgetText(#Text_MMESSAGE,"ITEM VOID by: "+employee$+" - press UPDATE TICKET to confirm...")
EndProcedure

Procedure Button_MVOIDTICKET_Event(Window, Event, Gadget, Type)
    ;employee$ = GetGadgetText(#Text_EMP)
    Result = CountGadgetItems(#ListIcon_MANAGER)
    For yu = 0 To Result
        ID$ = GetGadgetItemText(#ListIcon_MANAGER, 0, yu)
        item$ = "VOID by "+employee$
        cost$ = "0"
        cog$ = "0"
        taxes$ = "0"
        SetGadgetItemText(#ListIcon_MANAGER, yu,"",1)
        SetGadgetItemText(#ListIcon_MANAGER, yu,item$,2)
        SetGadgetItemText(#ListIcon_MANAGER, yu,cost$,3)
        SetGadgetItemText(#ListIcon_MANAGER, yu,cog$,4)
        SetGadgetItemText(#ListIcon_MANAGER, yu, taxes$ ,5)
        SetGadgetItemText(#ListIcon_MANAGER, yu, taxes$ ,6)
    Next
    ;TOTALMANAGERTICKET()
    MUPDATE = 1
    SetGadgetText(#Text_MMESSAGE,"")
    SetGadgetText(#Text_MMESSAGE,"TICKET VOID by: "+employee$+" - press UPDATE TICKET to confirm...")
EndProcedure

Procedure Button_MRTABLE_Event(Window, Event, Gadget, Type)
    Select MTABLE
    Case 0
        MTABLE = 1
        MSTATE = 3 ; reset table number
        table$ = GetGadgetText(#Text_MTABNUM)
        SetGadgetText(#String_MPRICE, table$)
        SetGadgetText(#Text_MMESSAGE, "")
        SetGadgetText(#Text_MMESSAGE, "ENTER NEW TABLE NUMBER or PRESS AGAIN TO CANCEL...")
    Case 1
        MTABLE = 0
        MSTATE = 0
        SetGadgetText(#Text_MMESSAGE, "")
        SetGadgetText(#String_MPRICE, "")
        SetGadgetText(#Text_MMESSAGE, "CHANGE TABLE ACTION CANCELLED...")
    EndSelect
    
EndProcedure

Procedure Button_MREASSIGN_Event(Window, Event, Gadget, Type)
    Select MSERVER
    Case 0
        MSERVER = 1
        MSTATE = 2
        t$ = GetGadgetText(#Text_MEMPID)
        SetGadgetText(#String_MPRICE, t$)
        SetGadgetText(#Text_MMESSAGE, "")
        SetGadgetText(#Text_MMESSAGE, "ENTER NEW SERVERID# or PRESS AGAIN TO CANCEL...")
    Case 1
        MSERVER = 0
        MSTATE = 0
        SetGadgetText(#Text_MMESSAGE, "")
        SetGadgetText(#String_MPRICE, "")
        SetGadgetText(#Text_MMESSAGE, "CHANGE SERVERID# ACTION CANCELLED...")
    EndSelect
    
EndProcedure

Procedure Button_MSHUT_Event(Window, Event, Gadget, Type)
    ; Goto Zoey
EndProcedure

Procedure Button_MEOD_Event(Window, Event, Gadget, Type)
    ; Debug "CASH DRAWER OPENED"
    opens$ = "A"
    Print_OpenPrinter("POS-UNIT","PAPERSIZE="+Str(#DMPAPER_LETTER)+",ORIENTATION="+Str(#DMORIENT_PORTRAIT))
    Print_StartPrinting("DRAWER") ; opens cash drawer
    Print_Font("control",12)
    Print_Text(0,0,opens$)
    Print_StopPrinting()
EndProcedure

Procedure Button_MSETSERVER_Event(Window, Event, Gadget, Type)
    MessageRequester("SORRY...", "This featrue is only for the CLIENT / SERVER version!")
EndProcedure

Procedure Button_MSPACE_Event(Window, Event, Gadget, Type)
    spoof$ = ""+Chr(10)+"-"+""+Chr(10)+""+Chr(10)+""+Chr(10)+""
    result = GetGadgetState(#ListIcon_MANAGER)
    AddGadgetItem(#ListIcon_MANAGER, result+1, spoof$)
EndProcedure

Procedure Button_MDTICKET_Event(Window, Event, Gadget, Type)
    SetGadgetText(#Text_MMESSAGE,"")
    SetGadgetText(#Text_MMESSAGE,"TICKET DISCOUNT - PRESS % BUTTON...")
    madness$ = GetGadgetText(#String_MSUBTOTAL) ; discount the ticket at the SUBTOTAL LEVEL
    SetGadgetText(#String_MPRICE, madness$)
    MUPDATE = 1
    MSTATE = 5
EndProcedure

Procedure Button_MCUPON_Event(Window, Event, Gadget, Type)
    Result = GetGadgetState(#ListIcon_MANAGER)
    porky$ = GetGadgetText(#String_MPRICE)
    If SECLVL= 3
        DisableGadget(#Button_M5,0)
        DisableGadget(#Button_M10,0)
        DisableGadget(#Button_M15,0)
        DisableGadget(#Button_M25,0)
        DisableGadget(#Button_M20,0)
        DisableGadget(#Button_M33,0)
        DisableGadget(#Button_M50,0)
        DisableGadget(#Button_M66,0)
        DisableGadget(#Button_M75,0)
    EndIf
    SetGadgetText(#Text_MMESSAGE,"")
    SetGadgetText(#Text_MMESSAGE,"CUPON DISCOUNT by: "+employee$)
    MUPDATE = 1
EndProcedure

Procedure Button_MREQUEST_Event(Window, Event, Gadget, Type)
    ; Useless in AIO version
    MessageRequester("USELESS...", "Since all the files you need are already ON this computer..."+Chr(10)+"Are you SUPPOSED to be pressing these buttons?")
EndProcedure

Procedure Button_MENTER_Event(Window, Event, Gadget, Type)
    Select MSTATE
    Case 1
        result = GetGadgetState(#ListIcon_MANAGER)
        polp$ = GetGadgetText(#String_MPRICE)
        ID$ = GetGadgetItemText(#ListIcon_MANAGER, result,0)
        cog$ = GetGadgetItemText(#ListIcon_MANAGER, result,4)
        taxes$ = GetGadgetItemText(#ListIcon_MANAGER, result,5)
        AST$ = GetGadgetItemText(#ListIcon_MANAGER, result,6)
        SetGadgetItemText(#ListIcon_MANAGER, Result, "",3)
        SetGadgetItemText(#ListIcon_MANAGER, Result, "0",4)
        SetGadgetItemText(#ListIcon_MANAGER, Result, "0",5)
        SetGadgetItemText(#ListIcon_MANAGER, Result, "0",6)
        frog$ = ID$+Chr(10)+"UA"+Chr(10)+"* MANAGER PRICE *"+Chr(10)+polp$+Chr(10)+cog$+Chr(10)+taxes$+Chr(10)+AST$
        AddGadgetItem(#ListIcon_MANAGER, Result+1, frog$)
        MUPDATE = 1
    Case 2
        ; change WAITER
        serverid$ = GetGadgetText(#String_MPRICE)
        Result = CountGadgetItems(#ListIcon_MANAGER)
        For x = 0 To Result
            SetGadgetItemText(#ListIcon_MANAGER, x, "S",1)
        Next
        SetGadgetText(#Text_MEMPID, serverid$) ; remember to grab this on update
        serverid$ = ""
        SetGadgetText(#String_MPRICE, serverid$)
        SetGadgetText(#Text_MMESSAGE,"")
        SetGadgetText(#Text_MMESSAGE,"SERVER NUMBER CHANGED TO: "+newwaiter$)
        MUPDATE = 1
    Case 3
        ; change TABLE#
        serverid$ = GetGadgetText(#String_MPRICE)
        Result = CountGadgetItems(#ListIcon_MANAGER)
        For x = 0 To Result
            SetGadgetItemText(#ListIcon_MANAGER, x, "T",1)
        Next
        SetGadgetText(#Text_MTABNUM, serverid$) ; remember to grab this on update
        serverid$ = ""
        SetGadgetText(#String_MPRICE, serverid$)
        SetGadgetText(#Text_MMESSAGE,"")
        SetGadgetText(#Text_MMESSAGE,"TABLE SET TO: "+newtable$+" - press UPDATE TICKET to confirm...")
        MUPDATE = 1
    Case 4 ; *** UPDATE BOH SERVER ON SERVER
        serverid$ = GetGadgetText(#String_MPRICE)
        SetGadgetText(#String_MSERVER, serverid$)
    EndSelect
    MSTATE = 0 ; reset to 0
EndProcedure

;-

Procedure Button_MCLR_Event(Window, Event, Gadget, Type)
    rook$ = ""
    SetGadgetText(#String_MPRICE ,rook$)
    SetGadgetText(#Text_MMESSAGE,"")
EndProcedure

Procedure UpdateManagerStringGadget(butt$)
    rook$ = rook$ + butt$
    SetGadgetText(#String_MPRICE ,rook$)
EndProcedure

Procedure Button_M00_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("0")
EndProcedure

Procedure Button_M000_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("00")
EndProcedure

Procedure Button_M09_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("9")
EndProcedure

Procedure Button_M08_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("8")
EndProcedure

Procedure Button_M07_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("7")
EndProcedure

Procedure Button_M06_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("6")
EndProcedure

Procedure Button_M05_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("5")
EndProcedure

Procedure Button_M04_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("4")
EndProcedure

Procedure Button_M03_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("3")
EndProcedure

Procedure Button_M02_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("2")
EndProcedure

Procedure Button_M01_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget("1")
EndProcedure

Procedure Button_MDOT_Event(Window, Event, Gadget, Type)
    UpdateManagerStringGadget(".")
EndProcedure
;-
Procedure CalculateDiscount(amount$)
    
    Select MSTATE
    Case 1 ; works exactly as it should...
        result = GetGadgetState(#ListIcon_MANAGER) ; which item was selected
        result$ = Str(result+1)
        disc.d = ValD(amount$)
        amt$ = GetGadgetText(#String_MPRICE)
        amt.d = ValD(amt$)
        newtotal.d = amt*disc
        new$ = StrD(newtotal,2)
        newp$ = ""+Chr(10)+"UA"+Chr(10)+"LINE "+result$+" DISCOUNT  "+amount$+"%"+Chr(10)+"-"+new$
        AddGadgetItem(#Listicon_MANAGER,result+1, newp$) ; plunks it on next line
        SetGadgetText(#String_MPRICE, "")
        ;TOTALMANAGERTICKET() ; adds it up
        MUPDATE = 1 ; flag
        MSTATE = 0 ; reset mstate flag
    Case 5 ; sees this is case 5 when necessary
        result = CountGadgetItems(#ListIcon_MANAGER) ; returns correct count
        ; Debug "ITEMS:"
        ; Debug result
        disc = ValD(amount$)
        amt$ = GetGadgetText(#String_MPRICE) ; where the subtotal of the ticket is stored in CASE 5 (IS CORRECT)
        amt = ValD(amt$)
        newtotal = amt*disc
        new$ = StrD(newtotal,2) ; I have issues with the rounding
        nep$ = ""+Chr(10)+"UA"+Chr(10)+Chr(24)+" TICKET DISCOUNT  "+amount$+"%"+Chr(10)+"-"+new$+Chr(10)+""+Chr(10)+""
        AddGadgetItem(#Listicon_MANAGER,result, nep$) ; I see nothing
        SetGadgetText(#String_MPRICE, "")
        ;TOTALMANAGERTICKET()
        MUPDATE = 1
        MSTATE = 0
    EndSelect
    
EndProcedure
;-
Procedure Button_M75_Event(Window, Event, Gadget, Type)
    CalculateDiscount("0.75")
EndProcedure

Procedure Button_M66_Event(Window, Event, Gadget, Type)
    CalculateDiscount("0.66")
EndProcedure

Procedure Button_M50_Event(Window, Event, Gadget, Type)
    CalculateDiscount("0.50")
EndProcedure

Procedure Button_M33_Event(Window, Event, Gadget, Type)
    CalculateDiscount("0.33")
EndProcedure

Procedure Button_M20_Event(Window, Event, Gadget, Type)
    CalculateDiscount("0.20")
EndProcedure

Procedure Button_M25_Event(Window, Event, Gadget, Type)
    CalculateDiscount("0.25")
EndProcedure

Procedure Button_M15_Event(Window, Event, Gadget, Type)
    CalculateDiscount("0.15")
EndProcedure

Procedure Button_M10_Event(Window, Event, Gadget, Type)
    CalculateDiscount("0.10")
EndProcedure

Procedure Button_M5_Event(Window, Event, Gadget, Type)
    CalculateDiscount("0.05")
EndProcedure

Procedure Button_MCOMP_Event(Window, Event, Gadget, Type)
    result = GetGadgetState(#ListIcon_MANAGER)
    SetGadgetItemText(#ListIcon_MANAGER, Result, "",1)
    fuk$ = GetGadgetItemText(#ListIcon_MANAGER, Result, 2)
    upfuk$ = fuk$ + " - COMP"
    SetGadgetItemText(#ListIcon_MANAGER, Result, upfuk$,2)
    SetGadgetItemText(#ListIcon_MANAGER, Result, "0",3)
    SetGadgetText(#String_MPRICE, "")
    ;TOTALMANAGERTICKET()
    MUPDATE = 1
    MSTATE = 0
EndProcedure

Procedure ListIcon_MANAGER_Event(Window, Event, Gadget, Type)
    result = GetGadgetState(#ListIcon_MANAGER)
    floop$ = GetGadgetItemText(#ListIcon_MANAGER, Result,3)
    SetGadgetText(#String_MPRICE, floop$)
    MSTATE = 1
EndProcedure
;-

Procedure Open_Window_MANAGER()
    
    If OpenWindow(#Window_MANAGER, 5, 5, 614, 528, "MANAGER",  #PB_Window_TitleBar | #PB_Window_ScreenCentered) ; | #PB_Window_Invisible )
        If CreateGadgetList(WindowID(#Window_MANAGER))
            
            ButtonGadget(#Button_MSETSERVER, 456, 252, 144, 24, "SET SERVER")
            RegisterGadgetEvent(#Button_MSETSERVER, @Button_MSETSERVER_Event())
            ButtonGadget(#Button_MEOD, 456, 336, 144, 36, "RUN EOD")
            RegisterGadgetEvent(#Button_MEOD, @Button_MEOD_Event())
            ButtonGadget(#Button_MSHUT, 456, 378, 144, 48, "SHUT DOWN")
            SetGadgetFont(#Button_MSHUT, FontID5)
            RegisterGadgetEvent(#Button_MSHUT, @Button_MSHUT_Event())
            
            ListIconGadget(#ListIcon_MANAGER, 12, 36, 234, 288, "",0, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
            AddGadgetColumn(#ListIcon_MANAGER, 1, "#", 18)
            AddGadgetColumn(#ListIcon_MANAGER, 2, "ITEM", 140) ; ********
            AddGadgetColumn(#ListIcon_MANAGER, 3, "COST", 50)
            AddGadgetColumn(#ListIcon_MANAGER, 4, "", 0)       ; COG
            AddGadgetColumn(#ListIcon_MANAGER, 5, "", 0)   ; TAX
            AddGadgetColumn(#ListIcon_MANAGER, 6, "", 0) ; ASTRATE number
            AddGadgetColumn(#ListIcon_MANAGER, 7, "", 0) ; AST
            RegisterGadgetEvent(#ListIcon_MANAGER, @ListIcon_MANAGER_Event())
            
            TextGadget(#Text_MTICKETNUMBER, 12, 12, 100, 18, "", #PB_Text_Border)
            TextGadget(#Text_MEMPID, 167, 12, 75, 18, "", #PB_Text_Border) ; 120, 12, 45, 18
            TextGadget(#Text_MTABNUM, 120, 12, 45, 18, "", #PB_Text_Border) ; 167, 12, 75, 18
            
            ButtonGadget(#Button_MCOMP, 264, 156, 174, 30, "COMP")
            SetGadgetFont(#Button_MCOMP, FontID5)
            RegisterGadgetEvent(#Button_MCOMP, @Button_MCOMP_Event())
            ButtonGadget(#Button_m5, 264, 48, 54, 30, "-5%")
            SetGadgetFont(#Button_M5, FontID5)
            RegisterGadgetEvent(#Button_m50, @Button_m50_Event())
            ButtonGadget(#Button_M10, 324, 48, 54, 30, "-10%")
            SetGadgetFont(#Button_M10, FontID5)
            RegisterGadgetEvent(#Button_M10, @Button_M10_Event())
            ButtonGadget(#Button_m15, 384, 48, 54, 30, "-15%")
            SetGadgetFont(#Button_M15, FontID5)
            RegisterGadgetEvent(#Button_m15, @Button_m15_Event())
            ButtonGadget(#Button_m20, 264, 84, 54, 30, "-20%")
            SetGadgetFont(#Button_M20, FontID5)
            RegisterGadgetEvent(#Button_m20, @Button_m20_Event())
            ButtonGadget(#Button_M25, 324, 84, 54, 30, "-25%")
            SetGadgetFont(#Button_M25, FontID5)
            RegisterGadgetEvent(#Button_M25, @Button_M25_Event())
            ButtonGadget(#Button_m33, 384, 84, 54, 30, "- 1/3")
            SetGadgetFont(#Button_M33, FontID5)
            RegisterGadgetEvent(#Button_m33, @Button_m33_Event())
            ButtonGadget(#Button_m50, 264, 120, 54, 30, "-50%")
            SetGadgetFont(#Button_M50, FontID5)
            RegisterGadgetEvent(#Button_m50, @Button_m50_Event())
            ButtonGadget(#Button_M66, 324, 120, 54, 30, "- 2/3")
            SetGadgetFont(#Button_M66, FontID5)
            RegisterGadgetEvent(#Button_M66, @Button_M66_Event())
            ButtonGadget(#Button_M75, 384, 120, 54, 30, "-75%")
            SetGadgetFont(#Button_M75, FontID5)
            RegisterGadgetEvent(#Button_M75, @Button_M75_Event())
            
            StringGadget(#String_MPRICE, 264, 192, 174, 24, "CHANGE PRICE", #PB_Text_Center)
            SetGadgetFont(#String_MPRICE, FontID5)
            ButtonGadget(#Button_M01, 264, 228, 42, 36, "1")
            SetGadgetFont(#Button_M01, FontID5)
            RegisterGadgetEvent(#Button_M01, @Button_M01_Event())
            ButtonGadget(#Button_M02, 312, 228, 42, 36, "2")
            SetGadgetFont(#Button_M02, FontID5)
            RegisterGadgetEvent(#Button_M02, @Button_M02_Event())
            ButtonGadget(#Button_M03, 360, 228, 42, 36, "3")
            SetGadgetFont(#Button_M03, FontID5)
            RegisterGadgetEvent(#Button_M03, @Button_M03_Event())
            ButtonGadget(#Button_M04, 264, 270, 42, 36, "4")
            SetGadgetFont(#Button_M04, FontID5)
            RegisterGadgetEvent(#Button_M04, @Button_M04_Event())
            ButtonGadget(#Button_M05, 312, 270, 42, 36, "5")
            SetGadgetFont(#Button_M05, FontID5)
            RegisterGadgetEvent(#Button_M05, @Button_M05_Event())
            ButtonGadget(#Button_M06, 360, 270, 42, 36, "6")
            SetGadgetFont(#Button_M06, FontID5)
            RegisterGadgetEvent(#Button_M06, @Button_M06_Event())
            ButtonGadget(#Button_M07, 264, 312, 42, 36, "7")
            SetGadgetFont(#Button_M07, FontID5)
            RegisterGadgetEvent(#Button_M07, @Button_M07_Event())
            ButtonGadget(#Button_M08, 312, 312, 42, 36, "8")
            SetGadgetFont(#Button_M08, FontID5)
            RegisterGadgetEvent(#Button_M08, @Button_M08_Event())
            ButtonGadget(#Button_M09, 360, 312, 42, 36, "9")
            SetGadgetFont(#Button_M09, FontID5)
            RegisterGadgetEvent(#Button_M09, @Button_M09_Event())
            ButtonGadget(#Button_M00, 264, 354, 42, 36, "0")
            SetGadgetFont(#Button_M00, FontID5)
            RegisterGadgetEvent(#Button_M000, @Button_M000_Event())
            ButtonGadget(#Button_M000, 312, 354, 90, 36, "00 [+]")
            SetGadgetFont(#Button_M000, FontID5)
            RegisterGadgetEvent(#Button_M000, @Button_M000_Event())
            ButtonGadget(#Button_MDOT, 366, 396, 36, 30, Chr(7))
            RegisterGadgetEvent(#Button_MDOT, @Button_MDOT_Event())
            
            ButtonGadget(#Button_MENTER,408, 228, 30, 162, "E"+Chr(10)+"N"+Chr(10)+"T"+Chr(10)+"E"+Chr(10)+"R", #PB_Button_MultiLine)
            SetGadgetFont(#Button_MENTER, FontID5)
            RegisterGadgetEvent(#Button_MENTER, @Button_MENTER_Event())
            ButtonGadget(#Button_MCLR, 264, 396, 96, 30, "CLEAR")
            SetGadgetFont(#Button_MCLR, FontID5)
            RegisterGadgetEvent(#Button_MCLR, @Button_MCLR_Event())
            
            ButtonGadget(#Button_MUPDATE, 138, 438, 108, 48, "UPDATE TICKET"+Chr(10)+"ON SERVER", #PB_Button_MultiLine)
            RegisterGadgetEvent(#Button_MUPDATE, @Button_MUPDATE_Event())
            
            
            ButtonGadget(#Button_MRESET, 354, 438, 90, 48, "RESET TICKET")
            RegisterGadgetEvent(#Button_MRESET, @Button_MRESET_Event())
            ButtonGadget(#Button_MREASSIGN, 456, 78, 144, 30, "REASSIGN SERVER")
            RegisterGadgetEvent(#Button_MREASSIGN, @Button_MREASSIGN_Event())
            ButtonGadget(#Button_MSPLIT, 456, 156, 144, 60, "SPLIT TICKET")
            SetGadgetFont(#Button_MSPLIT, FontID5)
            RegisterGadgetEvent(#Button_MSPLIT, @Button_MSPLIT_Event())
            ButtonGadget(#Button_MPAY, 264, 438, 84, 48, "PAY TICKET")
            RegisterGadgetEvent(#Button_MPAY, @Button_MPAY_Event())
            StringGadget(#String_MSUBTOTAL, 36, 336, 78, 18, "", #PB_Text_Right )
            StringGadget(#String_MTAX, 168, 336, 78, 18, "", #PB_Text_Right )
            ; RegisterGadgetEvent(#String_MTAX, @String_MTAX_Event())
            StringGadget(#String_MAST, 168, 355, 78, 18, "", #PB_Text_Right )
            StringGadget(#String_MTOTAL, 140, 400, 105, 30, "", #PB_Text_Right )
            SetGadgetFont(#String_MTOTAL, FontID2)
            TextGadget(#Text_MSB, 6, 336, 24, 18, "SUB", #PB_Text_Right)
            TextGadget(#Text_MTX, 138, 336, 24, 18, "TAX", #PB_Text_Right)
            TextGadget(#Text_MAX, 138, 355, 24, 18, "AST", #PB_Text_Right)
            TextGadget(#Text_MTOT, 135, 385, 42, 15, "TOTAL", #PB_Text_Right)
            ButtonGadget(#Button_MBACK, 456, 438, 144, 48, "BACK TO MAIN")
            SetGadgetFont(#Button_MBACK, FontID5)
            RegisterGadgetEvent(#Button_MBACK, @Button_MBACK_Event())
            TextGadget(#Text_msrv, 456, 6, 138, 18, "SERVER ID", #PB_Text_Center)
            TextGadget(#Text_MSERVERID, 456, 24, 144, 18, "", #PB_Text_Border | #PB_Text_Center)
            TextGadget(#Text_MSERVERNAME, 456, 48, 144, 18, "", #PB_Text_Border| #PB_Text_Center)
            ButtonGadget(#Button_MSPLIT, 6, 358, 114, 36, "SPLIT ITEM")
            SetGadgetFont(#Button_MSPLIT, FontID1)
            RegisterGadgetEvent(#Button_MSPLIT, @Button_MSPLIT_Event())
            ButtonGadget(#Button_MVOIDITEM, 6, 398, 114, 36, "VOID ITEM")
            SetGadgetFont(#Button_MVOIDITEM, FontID1)
            RegisterGadgetEvent(#Button_MVOIDITEM, @Button_MVOIDITEM_Event())
            ButtonGadget(#Button_MVOIDTICKET, 6, 438, 114, 48, "VOID"+Chr(10)+"TICKET", #PB_Button_MultiLine)
            SetGadgetFont(#Button_MVOIDTICKET, FontID5)
            RegisterGadgetEvent(#Button_MVOIDTICKET, @Button_MVOIDTICKET_Event())
            ButtonGadget(#Button_MRTABLE, 456, 114, 144, 30, "REASSIGN TABLE")
            RegisterGadgetEvent(#Button_MRTABLE, @Button_MRTABLE_Event())
            ButtonGadget(#Button_MCUPON, 264, 12, 84, 30, "COUPON")
            SetGadgetFont(#Button_MCUPON, FontID1)
            RegisterGadgetEvent(#Button_MCUPON, @Button_MCUPON_Event())
            ButtonGadget(#Button_MDTICKET, 354, 12, 84, 30, "DISCOUNT TICKET", #PB_Button_MultiLine)
            RegisterGadgetEvent(#Button_MDTICKET, @Button_MDTICKET_Event())
            ButtonGadget(#Button_MREQUEST, 456, 288, 144, 36, "REQUEST FILES")
            RegisterGadgetEvent(#Button_MREQUEST, @Button_MREQUEST_Event())
            Frame3DGadget(#Frame3D_M1, 258, 216, 186, 216, "")
            Frame3DGadget(#Frame3D_M0, 450, 216, 156, 216, "")
            TextGadget(#Text_MMESSAGE, 0, 498, 606, 24, "", #PB_Text_Border)
            
            
            
            
            
        EndIf
    EndIf
    
EndProcedure

Open_Window_Manager()

Repeat
    
    Event  = WaitWindowEvent()
    Gadget = EventGadget()
    Type   = EventType()
    Window = EventWindow()
    
    Select Event
    Case #PB_Event_Gadget
        CallEventFunction(Window, Event, Gadget, Type)
        
    EndSelect
    
Until Event = #PB_Event_CloseWindow

End

I am posting it here.

:D