Working With Forms in R:BASE 5.0
     PRODUCT:  R:BASE                  VERSION:  5.X
     AREA   :  Forms                   CATEGORY:  Forms, Reports & Labels
     Forms in R:BASE 5.0 have a whole new look. Now you can use fonts in 
     addition to colors to emphasize fields and add interest to your 
     forms. Your old forms will run and look pretty much as they did in 
     earlier versions of R:BASE. When you modify an existing form or build 
     a new form in 5.0, you can change the fonts, add colors to field 
     labels, and place Windows style lines and boxes.
     Designing a Form
     You can create forms quicker and easier with the new Form Designer. 
     It's easy to change the look of your form by dragging and dropping 
     fields using the mouse. You can't move multiple fields at one time 
     yet_that'll be in the next version. A form is still divided into 5 
     pages or screens for you to work with.
     Text is no longer typed directly onto a form. Instead, you place the 
     text as a field. The text box field has font and color capabilities 
     just like the column and variable fields making it easy to 
     differentiate text and titles. You can right click on a highlighted 
     field to open a pop-up menu with formatting options for fonts and 
     With the ability to use different fonts and sizes, fields on a form 
     are no longer located using column and row coordinates. The concept 
     of character position by columns and rows is relevant to a DOS 
     character based interface, not to a Windows interface. Each character 
     no longer uses one space or column. Proportional spaced fonts and 
     different sized fonts mean that different characters take up a 
     different amount of space on the screen. For example, an l takes up 
     less space than a w. Instead of a column and row position displayed 
     on the status bar, you'll see the coordinate position and size of the 
     located field based on pixels. Use the pixel coordinates and the grid 
     to line up fields placed on the form.
     The X, Y coordinates locate the upper left corner of a selected field. 
     The X coordinate is the horizontal position, the number of pixels 
     from the left edge of the form. The Y coordinate is the vertical 
     position, the number of pixels from the top edge of the form. The cx, 
     cy coordinates indicate the size of the selected field. The cx 
     coordinate is the width of the field, the cy coordinate is the height
     of the field.
     Placing Text on the Form
     All text on a form in R:BASE 5.0 is placed in a text box and located 
     just like a column or variable. The text is left justified in the 
     box. You can drag the corners of the box to resize it, and use the 
     grid and snap features to line up text. As you change the font or 
     pitch size, the box is automatically resized. The text displays 
     WYSIWYG_what you see is what you get. To remove white space, resize 
     the box to fit more closely around the text.
     Placing Lines and Boxes
     Certain features from DOS versions of R:BASE do not translate well to 
     the Windows version. For example, lines in a form from the DOS 
     version of R:BASE were created by placing line draw characters on the 
     form just like text was placed on the form by typing letters on the 
     form. When this form is opened in R:BASE 5.0, each space in a 
     vertical line becomes a separate field. Therefore, a DOS-style line 
     that is 20 characters high becomes 20 fields in an R:BASE 5.0 form.
     When you modify a form created with an earlier version of R:BASE, you 
     are asked whether you want to remove these DOS style lines_by doing 
     so, you free up system resources needed to accommodate the extra 
     fields. Choose options from the Layout menu to draw Windows-style 
     lines and boxes. The line or box is placed in the upper left corner 
     of the form. Click on the object and move it to the new location, 
     then drag the corners of the object to change its size. You can also 
     use boxes for shading fields. For example, draw a box (choose Layout: 
     Draw Box), change its color (choose Layout: Format Field Color), and 
     place it under the field (choose Layout: Send to Back).
     Place a box and set the background color to black. Move the box 
     slightly to the right and lower than the field. Choose Layout: Send 
     to Back to place the box under the field. 
     The column or variable field.
     Boxes can placed in layers. Place the largest box first. When the 
     form is run, the boxes are drawn in the order they were placed on 
     the form.
     Running a Form
     You will notice some differences when running a form. For example, 
     the menus you see when running a form are different. You now have an 
     Edit menu with cut, copy, and paste capabilities. The Add and Edit 
     menus have been combined with the Go to menu into a Forms menu. When 
     you customize the menus in your form, you change the options on the 
     Forms menu.
     Field pop-up menus are different also. They'll always come up as 
     black text on a white background. The highlight color is set by the 
     Windows Control Panel, so it can vary. Select an item from a field 
     pop-up menu using the keyboard and then [Enter], or by clicking on 
     a item with the mouse. When you click on an item in a pop-up menu 
     with the mouse, the item is immediately selected and the menu closed.
     In addition to the menu differences, there are some hot key 
     differences when running a form. For example, 
       The zoom key is now [Shift][F2], the old key,
       [Shift][F4], tiles the open windows.
       Press [F2] to add a new row, the old key, [F10] is the
       Windows key to take you to the main menu. 
       Press either [Tab] or [Enter] to move between the fields in a form.
       Press [Shift][Tab] to move backwards between fields.
       Pressing [Enter] on the last field of a form no longer takes you to 
       the Forms menu, it adds the row and brings up the next row for 
     For a list of the available hot keys, press [Shift][F1], then click 
     the Hot Keys button.
     Questions about Forms
     We have compiled a list of questions about designing and using forms, 
     and about differences with earlier versions of R:BASE.
     Question: I made a new form, and now I can't figure out how to save 
     the form and exit the Form Designer. I choose Exit from the File menu 
     and it exits me from R:BASE 5.0.
     Answer: The Form Designer is an MDI child window within R:BASE 5.0. 
     To save a form, select Save Form from the File menu. To leave the 
     Form Designer, double click on the system menu for the Form Designer 
     window. You will be prompted to save or discard form changes when you 
     close the window.
     Question: A single-table entry form works differently than it did 
     4.5++. When I press [Enter] from the last field of the table, the 
     menu does not appear. Instead, the row is added and a new blank row 
     is presented for entry. 
     Answer: In Windows, pressing the [Enter] key indicates completion. 
     You can move between fields by pressing either the [Enter] or the 
     [Tab] keys, but on the last field, pressing [Enter] adds the row.
     Question: Pressing [Shift][F4] no longer works to zoom in on a note 
     Answer: [Shift][F4] is the standard Windows hot key to tile open 
     windows. Press [Shift][F2] to zoom in on text and note fields in 
     forms and in the Data Browser. The Zoom feature now takes you into a 
     viewer window where you have full search and replace capabilities 
     in addition to editing.
     Question: In a form, I zoomed in on a note field and the form went 
     away. The field expanded to cover the area encompassed by the form. 
     I expected the field to expand on top of the form with some of my 
     form still visible.
     Answer: When you zoom in on a field in a form, a modal viewer window 
     is opened. You cannot access other fields in the form until you 
     finish looking at or editing this zoomed field.
     Question: My forms always take up the full screen and I can't resize 
     the window to make it smaller. I can't bring up more than one form at 
     a time, either.
     Answer: By default, forms open maximized and modal. You must complete 
     entering or editing data before doing any other action in the 
     database. This ensures compatibility with existing applications. You 
     can open a form from the R> prompt as non-modal and thus in a sizable 
     window. To run a form as non-modal, use the MDI keyword instead of 
     the USING keyword. For example, enter one of the following commands 
     at the R> prompt:
     EDIT MDI custform
     ENTER MDI custform
     Question: I have forms where I used EEPs to allow my users to click 
     on a field with the mouse and select the next row or the previous 
     row. These EEPs aren't working the same way any more; they only move 
     forward or backward for one row.
     Answer: You must add the command SKIP TO fieldname1 to the EEP. In 
     R:BASE 5.0, the mouse can now be used to place the cursor inside a 
     field for editing. In previous versions, the mouse selected a field, 
     but to move around in the field you could only use the arrow keys. 
     Now that the mouse can be used to move around inside a field, adding 
     the SKIP TO command moves the cursor out of the field running the 
     next row EEP and allows you to use the EEP to scroll through many 
     Question: My EEPs that call a form-in-a-form are working differently. 
     I am getting exited from the first form when I shouldn't. The EEP 
     checks for the [Esc] key and that seems to be where the problem is. 
     The EEP thinks I press [Esc] when I didn't.
     Answer: In 4.5++, when you left a form, there were two keystrokes 
     involved. First, [Esc] was pressed to go to the menu, then [Enter] to 
     leave the form. In R:BASE 5.0, pressing [Esc] immediately leaves the 
     form. If you are checking keystrokes using the LASTKEY function, the 
     EEP may see an [Esc] as the last key pressed instead of an [Enter] 
     when leaving the form-in-a-form and executing differently. Add a SET 
     VAR command at the end of the EEP to reset the LASTKEY variable to 
     Question: I used to be able to locate and define a variable at the 
     same time when creating a form. I can't do that anymore.
     Answer: In R:BASE 5.0, you can be working in the Forms Designer and 
     the R> prompt at the same time. Switch to an R> prompt window, define 
     your variable there, and then place it on your form.
     Question: When creating a form, pressing the [Shift][F4] key no 
     longer works to edit an entry/exit procedure from the Field Settings 
     Answer: In R:BASE 5.0, you can be working in the Forms Designer and 
     the Text Editor at the same time. Open the Text Editor as another 
     window and create or edit your entry/exit procedure code.
     Question: When I define a new pop-up menu in a form, the columns are 
     not placed on the menu in the order I select them. It looks like they 
     are placed in the order they appear on the menu. How can I get them 
     in a different order?
     Answer: By default, the columns are listed in the order they are 
     defined in the table. The columns are placed based on the order in 
     the list, not on the selected order. To change the order, edit the 
     Menu Values field after selecting the columns for the menu. You might 
     also notice this column order when selecting columns for a quick form 
     or report.
     Question: I created a form in my test database and now I want to 
     transfer the form to my production database. I unloaded the data from 
     the new system table, SYS_FORMS2, but when I try to load the form 
     data into the new database, I get an error message about "file not 
     Answer: The data for new forms is stored as a VARBIT data type. When 
     VARBIT data is unloaded, it is unloaded into a separate file from the 
     unload file named in the OUTPUT command. The filename is the same and 
     the extension is .LOB. You must have both files to transfer a form 
     between databases.
     Question: Is there any way other than setting colors or putting boxes 
     around every single field to make the fields stand out more when 
     running the form?
     Answer. A new Microrim variable, MICRORIM_FIELD_BOX, places a box 
     around each field when a new form is run. Simply set the variable to 
     an integer value, for example; SET MICRORIM_FIELD_BOX = 1.
     Question: Sometimes when I get an error about an invalid expression 
     in my form, the form opens in the Forms Designer and I can fix the 
     error, other times I get a message saying R:BASE is unable to open 
     the form and the form does not open in the Form Designer. What is the 
     Answer: Forms created in earlier versions of R:BASE are converted 
     when they are first opened in the R:BASE 5.0 Forms Designer. An old 
     form cannot have any errors in it. If any errors, such as undefined 
     variables, are detected, you get the message "Unable to open form." 
     The Form Designer can modify a new form that has errors in variables.
     Question: I modified an old form in 5.0, but now want to go back to 
     my original 4.5++ form. Is my original form completely gone?
     Answers: Forms created or modified in R:BASE 5.0 are stored in a new 
     system table, SYS_FORMS2. These forms are differentiated from forms 
     created in earlier versions of R:BASE that are stored in the system 
     table SYS_FORMS. Deleting a form through the Object Manager deletes 
     both the new and old copies of the form. To delete just the new copy 
     of a form, delete it at the R> prompt using the command DELETE ROWS 
     Question: When I set the font for a field in a form, the current font 
     is not displayed. The space where it would normally appear is blank.
     Answer: The default font for text and fields on a form is Helvetica. 
     If your installation of Windows does not have this font, the font 
     selection box displays a blank for the current font. After selecting 
     a different font from the list box, that font name is then displayed 
     in the font selection box.