In my List Format Parser I recently added a way to take a QUEUE and create a FORMAT so it is super easy to make a LIST for any Queue.
I made a Test Queue with a bunch of numbers and Format with and without ‘B’ for you to try to see what works in AS and submit. …
Guess I would duplicate the LIST then change the Format to Not have Signed values to see if that matters i.e. find ‘@n-’ and replace with ‘@n’, plus ‘@n$-’ to ‘@n$’ . You could make another with no commas i.e. ‘@n_’. Having the Format split into lines makes this easy to see and do, that is the main feature of the List Format Parser
ViewQueue_TestQ PROCEDURE()
TestQ QUEUE,PRE(TstQ)
Byte_0 BYTE
Byte_B BYTE
Short_0 Short
Short_B Short
Long_0 LONG
Long_N LONG !oops should be Long_B
Decimal9_0 DECIMAL(9)
Decimal9_B DECIMAL(9)
Decimal92_0 DECIMAL(9,2)
Decimal92_B DECIMAL(9,2)
DecimalDol92_0 DECIMAL(9,2)
DecimalDol92_N DECIMAL(9,2) !oops should be 92_B
END
ListWindow WINDOW('LIST Queue TestQ'),AT(,,506,154),GRAY,SYSTEM,FONT('Segoe UI',10),RESIZE
LIST,AT(2,2 ), FULL, hVSCROLL,VCR, |
USE(?LIST:TestQ ), |
FROM( TestQ ), |
FORMAT('20R(2)|M~Byte_0~C(0)@n3@' &|
'20R(2)|M~Byte_B~C(0)@n3b@' &|
'25R(2)|M~Short_0~C(0)@n-7@' &|
'25R(2)|M~Short_B~C(0)@n-7b@' &|
'48R(2)|M~Long_0~C(0)@n-14@' &|
'48R(2)|M~Long_N~C(0)@n-14b@' &|
'41R(2)|M~Decimal9_0~C(0)@n-12@' &|
'41R(2)|M~Decimal9_B~C(0)@n-12b@' &|
'44R(2)|M~Decimal92_0~C(0)@n-13.2@' &|
'44R(2)|M~Decimal92_B~C(0)@n-13.2b@' &|
'44R(2)|M~DecimalDol92_0~C(0)@n$-13.2@' &|
'44R(2)|M~DecimalDol92_N~C(0)@n$-13.2b@') ! ,|
END
! #FIELDS(TstQ:Byte_0, TstQ:Byte_B, TstQ:Short_0, TstQ:Short_B, TstQ:Long_0, TstQ:Long_N, TstQ:Decimal9_0, TstQ:Decimal9_B, TstQ:Decimal92_0, TstQ:Decimal92_B, TstQ:DecimalDol92_0, TstQ:DecimalDol92_N)
CODE
CLEAR(TestQ)
LOOP 10 TIMES ; ADD(TestQ) ; END
OPEN(ListWindow)
ACCEPT
CASE EVENT()
END
CASE ACCEPTED()
OF ?LIST:TestQ
GET(TestQ,CHOICE(?LIST:TestQ))
END
CASE FIELD()
OF ?LIST:TestQ
GET(TestQ,CHOICE(?LIST:TestQ))
CASE EVENT()
OF EVENT:NewSelection
! CASE KEYCODE()
! OF MouseLeft2
! OF MouseRight
! END
END
END
END !ACCEPT
CLOSE(ListWindow)