# 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