72 lines
1.8 KiB
Plaintext
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
|