Previous Next

FRAME-LINE function
Returns an INTEGER value that represents the current logical line number in a down frame.
Note:
Syntax 
 
FRAME-LINE [ ( frame ) ]
frame
The frame name that you are trying to determine a line number for. If you do not supply a frame name, the FRAME-LINE function uses the default frame for the block that contains the FRAME-LINE function. If the FRAME-LINE function is in a DO block, the function uses the default frame scoped to the block that contains the DO block.
Example 
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.
 
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.
Notes 
*
*
*
See also 
Frame phrase, FRAME-COL function, FRAME-DOWN function, FRAME-ROW function

Previous Next
© 2013 Progress Software Corporation and/or its subsidiaries or affiliates.