Files
MBS/TEST/MultipleDialogs/TwoLists.4gl
T

72 lines
1.8 KiB
Plaintext

# Property of Four Js*
# (c) Copyright Four Js 1995, 2019. All Rights Reserved.
# * Trademark of Four Js Development Tools Europe Ltd
# in the United States and elsewhere
#
# Four Js and its suppliers do not warrant or guarantee that these
# samples are accurate and suitable for your purposes. Their inclusion is
# purely for information purposes only.
DEFINE arr1 DYNAMIC ARRAY OF VARCHAR(50)
DEFINE arr2 DYNAMIC ARRAY OF VARCHAR(50)
DEFINE nbrows1, nbrows2 INTEGER
MAIN
OPTIONS INPUT WRAP
OPEN FORM f1 FROM "TwoLists"
DISPLAY FORM f1
LET nbrows1 = 5
CALL fillarr(arr1, "First List", nbrows1)
LET nbrows2 = 7
CALL fillarr(arr2, "Second List", nbrows2)
DIALOG ATTRIBUTES(FIELD ORDER FORM, UNBUFFERED)
DISPLAY ARRAY arr1 TO sr1.*
END DISPLAY
DISPLAY ARRAY arr2 TO sr2.*
END DISPLAY
INPUT BY NAME nbrows1, nbrows2 ATTRIBUTES(WITHOUT DEFAULTS)
END INPUT
COMMAND "Clear List 1"
CALL arr1.clear()
COMMAND "Clear List 2"
CALL arr2.clear()
COMMAND "Fill List 1"
CALL fillarr(arr1, "Command Fill 1", nbrows1)
COMMAND "Fill List 2"
CALL fillarr(arr2, "Command Fill 2", nbrows2)
ON KEY(CONTROL-F)
CASE DIALOG.getCurrentItem()
WHEN "sr1" CALL fillarr(arr1, "Key Fill 1", nbrows1)
WHEN "sr2" CALL fillarr(arr2, "Key Fill 2", nbrows2)
END CASE
COMMAND "Quit"
EXIT DIALOG
END DIALOG
END MAIN
FUNCTION fillarr(a, p, m)
DEFINE a DYNAMIC ARRAY OF VARCHAR(50)
DEFINE p STRING
DEFINE m, i INTEGER
CALL a.CLEAR()
FOR i = 1 TO m
CALL a.appendElement()
LET a[i] = p || " : " || i
END FOR
END FUNCTION