Returns an INTEGER value that represents the current logical line number in a down frame.
This procedure lists Customers and allows the user to delete Customers one at a time. When the user presses GET to delete a Customer, the procedure displays an overlay frame below the last Customer displayed. The overlay frame prompts "Do you want to delete this customer?" The user answers yes or no. The AVM calculates the position of the overlay frame from the upper-right corner of the frame and the current line within the frame. That is, FRAME-ROW + 3 + FRAME-LINE gives the position of the current line in the frame, taking into account the three lines for the frame box and the labels. The prompt is placed five lines below the current line.
r-frline.p
DEFINE VARIABLE ans AS LOGICAL NO-UNDO LABEL "Do you want to delete this customer ?". IF KBLABEL("GET") = "GET" THEN ON F3 GET. STATUS INPUT "Enter data, or use the " + KBLABEL("get") + " key to delete the customer". get-cust: FOR EACH Customer WITH 10 DOWN: UPDATE Customer.CustNum Customer.Name Customer.CreditLimit EDITING: READKEY. IF KEYFUNCTION(lastkey) = "get" THEN DO: UPDATE ans WITH ROW FRAME-ROW + 3 + FRAME-LINE + 5 COLUMN 10 SIDE-LABELS OVERLAY FRAME del-frame. IF ans THEN DO: DELETE Customer. NEXT get-cust. END. END. APPLY LASTKEY. END. END. |