LNFVER v3.1 500 50 ! 0 500 35 52 801 __work 1 801 s1 10 801 s10 11 801 s11 12 801 s12 13 801 s13 14 801 s14 15 801 s15 16 801 s16 17 801 s17 18 801 s18 19 801 s19 2 801 s2 20 801 s20 21 801 s21 22 801 s22 23 801 s23 24 801 s24 25 801 s25 26 801 s26 27 801 s27 28 801 s28 29 801 s29 3 801 s3 30 801 s30 31 801 s31 32 801 s32 33 801 s33 34 801 s34 36 801 s35 37 801 s36 38 801 s37 39 801 s38 40 ! 1 355 -3 sedwin_Class 15 12 21 61 1 1 1 0 49 0 bd_prompt Adding Text exp_BeamMeUp 1 151 50 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[6,12]@fD[Press any key to continue.] 151 0 First, we will type some text into the screen. Text can be information for users, such as field labels. 0 48 57 57 621887882 ! 2 312 -3 sedwin_Class 15 12 21 65 1 1 1 0 49 0 bd_prompt Defining a Field exp_std 1 105 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[6,13]@fD[Press any key to continue.] 105 0 Now, we will define a field to hold a phone number. First, we need to lay the field out on the screen. 0 48 57 57 621887906 ! 3 500 53 sedwin_Class 14 8 22 73 1 1 1 0 49 0 bd_prompt Fields exp_BeamMeUp 1 325 65 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[8,20]@fD[Press any key to continue.] 325 0 Each "#" character defines a writeable position. These are the spaces for the numbers of the phone number. The parentheses, blank space, and hyphen define non-writeable positions. When the field's screen is running, users can enter data at writeable positions, but not in the non-writeables. We can now define the field. 0 ! 4 500 54 sedwin_Class 15 6 22 73 1 1 1 0 49 0 bd_prompt Field Editing exp_BeamMeUp 1 308 67 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[7,20]@fD[Press any key to continue.] 308 0 Pressing Enter finishes marking the field and calls the Field Edit box. In the Field Edit box, we give the field its field function. A field function gives a field its personality: whether it will accept numbers, letters, or both; how it will present information to users; and how it will format its data. 0 48 57 57 ! 5 485 -3 sedwin_Class 15 10 22 72 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 292 62 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[7,19]@fD[Press any key to continue.] 292 0 We can now test the field to see how it functions. We can do this with Look & Feel's GO mode. GO mode simulates the behavior of a screen as part of a running program. In GO mode, we can enter data into the field's writeables. Note how the cursor glides unaffected over the non-writeables.0 48 57 57 621815903 ! 6 500 55 sedwin_Class 14 7 22 70 1 1 1 0 49 0 bd_prompt Oops! exp_BeamMeUp 1 347 62 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[8,19]@fD[Press any key to continue.] 347 0 The field functions as it should, but the field has several problems. First, it has too few positions for the phone number and area code and its window is too small. Also, the field function for the field is string_funcs, which allows users to enter letters and numbers (and not just numbers). Let's change the shape and pos ! 7 370 -3 sedwin_Class 16 7 21 70 1 1 1 0 49 0 bd_prompt Field Edit exp_BeamMeUp 1 168 60 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[5,20]@fD[Press any key to continue.] 168 0 In the field edit box's spec field, we can remove the last writeable from the field. We do this by editing the field's specification (or "spec") in the Field Edit box.0 48 57 57 621816485 ! 8 487 -3 sedwin_Class 14 5 21 73 1 1 1 0 49 0 bd_prompt Field Function List exp_BeamMeUp 1 276 65 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[7,22]@fD[Press any key to continue.] 276 0 We can select a new field function using the Field Function List. All the standard C-scape field functions are included in the list and you can add your own custom field functions to it. To allow users to only enter numbers, we must change the field function to digit_funcs.0 48 57 57 621898170 ! 9 500 58 sedwin_Class 10 6 19 69 1 1 1 0 49 0 bd_prompt Field Prompt exp_BeamMeUp 1 347 58 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,20]@fD[Press any key to continue.] 347 0 We can also attach a prompt string to the field. This will tell users that the field accepts phone numbers. We attach the prompt string using a field data pointer. Look & Feel uses field data pointers to attach additional information, such as prompt and validation strings, to fields. You can attach as many data point ! 10 286 -3 sedwin_Class 16 2 18 62 1 1 1 0 49 0 bd_prompt Back to Go exp_BeamMeUp 1 83 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[2,17]@fD[Press any key to continue.] 83 0 Let's put the screen back into GO mode and test it again. 0 48 57 57 621816904 ! 11 363 -3 sedwin_Class 14 16 19 64 1 1 1 0 49 0 bd_prompt Calling Help exp_BeamMeUp 1 158 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[5,11]@fD[Press any key to continue.] 158 0 If we need help, we can call Look & Feel's help system by pressing F1. We can then move from help screen to help screen by selecting keywords in each screen.0 48 57 57 621817094 ! 12 351 -3 sedwin_Class 16 15 21 61 1 1 1 0 49 0 bd_prompt Changing the Screen exp_BeamMeUp 1 139 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[5,11]@fD[Press any key to continue.] 139 0 We can change this screen in many different ways. For instance, we can change the colors of the field, the background area, or the border.0 48 57 57 621817282 ! 13 399 -3 sedwin_Class 2 2 6 75 1 1 1 0 49 0 bd_prompt Changing Colors exp_BeamMeUp 1 194 72 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[4,23]@fD[Press any key to continue.] 194 0 This is Look & Feel's color interface. It appears when you are changing the color of screen's background, fields, or border. You can also change a field's colors, or those of a region of text.0 48 57 57 621817713 ! 14 239 -3 sedwin_Class 19 1 21 43 1 1 1 0 49 0 bd_prompt A New Border exp_BeamMeUp 1 35 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[2,8]@fD[Press any key to continue.] 35 0 Let's give the screen a new border.0 48 57 57 622335597 ! 15 226 -3 sedwin_Class 18 15 20 63 1 1 1 0 49 0 bd_prompt Yecch! exp_BeamMeUp 1 26 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[2,11]@fD[Press any key to continue.] 26 0 The old border was better!0 48 57 57 621817820 ! 16 273 -3 sedwin_Class 15 15 19 63 1 1 1 0 49 0 bd_prompt Generate Source exp_BeamMeUp 1 64 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[4,11]@fD[Press any key to continue.] 64 0 That's better. Now, let's generate source code for the screen. 0 48 57 57 621892722 ! 17 317 -3 sedwin_Class 12 3 17 51 1 1 1 0 49 0 bd_prompt View the Source exp_std 1 115 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[5,13]@fD[Press any key to continue.] 115 0 The source code has been generated. Now, we can view our newly created source code with Look & Feel's text editor.0 48 57 57 622335761 ! 18 410 -3 sedwin_Class 7 15 13 63 1 1 1 0 49 0 bd_prompt A New Screen exp_BeamMeUp 1 206 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[6,11]@fD[Press any key to continue.] 206 0 We will now create a more complex screen, the "You Rate It" screen. This screen has several different kinds of data entry areas, and all of them use standard Look & Feel functions to define their behavior.0 48 57 57 621818340 ! 19 393 -3 sedwin_Class 7 15 14 61 1 1 1 0 49 0 bd_prompt Test It. exp_BeamMeUp 1 193 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[7,10]@fD[Press any key to continue.] 193 0 This screen now has fields for accepting monetary values, displaying ranges, holding dates, toggling between "Yes" and "No", and holding names or words. Let's simulate it and see how it works.0 48 57 57 621818605 ! 20 307 -3 sedwin_Class 16 15 20 63 1 1 1 0 49 0 bd_prompt Yay! exp_BeamMeUp 1 110 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[4,11]@fD[Press any key to continue.] 110 0 Well, that was a real smash! For even greater functionality, we can make a text editor part of "You Rate It".0 48 57 57 621818799 ! 21 264 -3 sedwin_Class 7 15 10 63 1 1 1 0 49 0 bd_prompt Testing the Editor exp_BeamMeUp 1 56 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[3,11]@fD[Press any key to continue.] 56 0 Let's now use GO mode to see how our text editing works.0 48 57 57 621818886 ! 22 373 -3 sedwin_Class 132 132 7 15 13 63 1 1 1 0 49 0 48 bd_prompt Almost Finished exp_BeamMeUp 1 135 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[6,11]@fD[Press any key to continue.] 14 0 For our grand 6 48 finale114 0 , we will create a piano. First, let's lay out the keyboard using Look & Feel's line drawing and block commands.0 0 0 48 57 57 15 112 662853732 ! 23 456 -3 sedwin_Class 7 15 14 63 1 1 1 0 49 0 bd_prompt User Functions exp_BeamMeUp 1 250 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[7,11]@fD[Press any key to continue.] 250 0 All the fields in the piano have the field function "framer_funcs", since it allows the fields to have a user-created function attached to them. We will now attach the user function "lnf_Beep" to each field and set the frequency of the field's beep.0 48 57 57 622152769 ! 24 256 -3 sedwin_Class 19 28 22 76 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 65 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[3,11]@fD[Press any key to continue.] 65 0 We can now put the piano into GO mode and play a few tunes on it.0 48 57 57 621894906 ! 25 500 56 sedwin_Class 5 11 20 67 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 364 55 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[15,15]@fD[Press any key to continue.] 364 0 Thanks for watching. You can continue to use Look & Feel after this demo, although you cannot save any files. Press F10 for Look & Feel's Main menu. To run Look & Feel without playing the demo, type lnfdemo -d at your operating system prompt. For more information, consult Look & Feel's help system, or call Oakland Group at ! 26 279 -3 sedwin_Class 17 15 20 68 1 1 1 0 49 0 bd_prompt Re-editing the Field exp_BeamMeUp 1 65 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[3,14]@fD[Press any key to continue.] 65 0 Now, let's fix the field using the Field Edit command. 0 48 57 57 621892199 ! 27 242 -3 sedwin_Class 19 1 21 49 1 1 1 0 49 0 bd_prompt Check It Out exp_BeamMeUp 1 37 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[2,11]@fD[Press any key to continue.] 37 0 Let's see what our changes look like.0 48 57 57 621892656 ! 28 318 -3 sedwin_Class 3 15 7 63 1 1 1 0 49 0 bd_prompt Embedding the Editor exp_BeamMeUp 1 107 45 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[4,11]@fD[Press any key to continue.] 107 0 We can now embed the text editor window within our "You Rate It" screen by using the Nesting-Embed command.0 48 57 57 621894362 ! 29 445 -3 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt Source Code exp_BeamMeUp 1 242 47 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 242 0 The source code generated by Look & Feel will create a screen that is visually and functionally identical to the screen you have edited. You can compile the source code and link it with an application to add screens quickly to your programs.0 48 57 57 621896933 ! 30 500 57 sedwin_Class 7 6 18 66 1 1 1 0 49 0 bd_prompt Screen Files exp_BeamMeUp 1 478 57 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[11,17]@fD[Press any key to continue.] 478 0 In addition to generating source code, Look & Feel can save screens to screen files. Your application programs can load screens in from a screen file and use them as if they were created with source code. With this technique, you can write programs whose screens can be designed, tested, and edited by Look & Feel with ! 31 469 -3 sedwin_Class 9 28 18 76 1 1 1 0 49 0 bd_prompt Field Variable exp_BeamMeUp 1 263 45 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 263 0 Every field has a variable associated with it. When a user enters information into a field, it is stored in the field's variable. We can give our field a variable name. When we generate source code for our screen, the name will be used as the field's variable.0 48 57 57 621900467 ! 32 296 -3 sedwin_Class 15 3 19 51 1 1 1 0 49 0 bd_prompt Block Attribute exp_BeamMeUp 1 91 50 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[4,11]@fD[Press any key to continue.] 91 0 We can use the Block-Attribute command to change the colors of the ebony keys on our piano.0 48 57 57 621902629 ! 33 239 -3 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800593 ! 34 239 -3 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800598 ! 35 94 -3 801 s39 4 801 s4 5 801 s5 6 801 s6 7 801 s7 8 801 s8 9 801 s9 ! 36 500 51 sedwin_Class 5 6 17 71 1 1 1 0 49 0 bd_prompt What Is Look & Feel? exp_BeamMeUp 1 527 65 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[12,21]@fD[Press any key to continue.] 527 0 Look & Feel is a visually oriented screen designer and code generator. It provides a simple and powerful method for creating and modifying screens, so you can use it to experiment with various interfaces for your applications before selecting a final one. With Look & Feel, you can create titles, data entry fi ! 37 465 -3 sedwin_Class 6 15 15 63 1 1 1 0 49 0 bd_prompt About This Demo exp_BeamMeUp 1 258 46 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 258 0 This demo will playback a pre-recorded Look & Feel session in which a few elementary data entry screens were created to show some of the basic features of Look & Feel. At the end of this demo you will have the opportunity to explore Look & Feel on your own.0 48 57 57 622336278 ! 38 316 -3 sedwin_Class 6 13 11 68 1 1 1 0 49 0 bd_prompt Let's Go exp_BeamMeUp 1 113 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[5,16]@fD[Press any key to continue.] 113 0 Let's begin by creating a sample data entry screen. First, we'll open a new screen with the Screen-Open command.0 48 57 57 622337751 ! 39 239 -3 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800614 ! 40 239 -3 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800625 ! 41 239 -3 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800629 ! 42 239 41 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800644 ! 43 239 42 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800652 ! 44 239 43 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800656 ! 45 239 44 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800659 ! 46 239 45 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800680 ! 47 239 46 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800683 ! 48 239 47 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800687 ! 49 239 48 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800691 ! 50 239 49 sedwin_Class 7 15 16 63 1 1 1 0 49 0 bd_prompt exp_BeamMeUp 1 46 32000 4 0 0 7340032 32 32 -1 -1 0 1 0 menu_funcs void @p[9,11]@fD[Press any key to continue.] 46 0 0 48 57 57 621800698 ! 51 239 -3 elds, text editors, and menuing systems (including pulldown and nested menus). Since Look & Feel is a "wysiwyg" editor, the screens you draw will look the same as the screens you will have in your finished program.0 48 57 57 622336164 ! 52 5 -3 one ! 53 23 -3 48 57 57 621888865 ! 54 13 -3 621889505 ! 55 44 -3 ition of the screen.0 48 57 57 621889079 ! 56 57 -3 (800) 233-3733 or (617) 491-7311.0 48 57 57 621902824 ! 57 182 -3 out having to continually revise your source code. All the screens that Look & Feel uses are read in from a screen file and were developed using Look & Feel.0 48 57 57 621897735 ! 58 51 -3 ers to a field as you need.0 48 57 57 621898968