home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-03-10 | 41.9 KB | 1,267 lines |
- PSSQA.TXT
- **********************************************************
- Answers to Commonly Asked Questions About
-
- Microsoft(R) FoxPro(R) for Windows(TM) Version 2.6
-
- (C)1994 Microsoft Corporation. All Rights Reserved.
- **********************************************************
-
- ========
- CONTENTS
- ========
-
- Part Description
- ---- -----------
-
- 1 Cross-Platform
- 2 Interface Features
- 3 Report Writer
- 4 Screen Builder
- 5 Printer Drivers
-
- -----------------------------------------------------------
- ======================
- Part 1: Cross-Platform
- ======================
-
- Overview of Questions
- ---------------------
-
- 1 Can I create a FoxPro for Windows application using
- FoxPro for MS-DOS?
- 2 I have an existing FoxPro 2.0 project. How do I
- enable it to run in FoxPro version 2.6?
- 3 Will I be able to create executable files for
- FoxPro version 2.6?
- 4 Why doesn't my Low Level File I/O program work in
- the Windows Product?
- ----------------------------------------------------------
-
- Question 1
-
- Can I create a FoxPro for Windows application using
- FoxPro for MS-DOS?
-
- Answer 1
-
- FoxPro for Windows can execute applications you create
- with FoxPro for MS-DOS without you making any changes to
- the appplications. The FoxPro for MS-DOS power tools,
- however, don't support features that are specific to the
- Windows environment. You can write your own code to add
- these Windows features, but we don't recommend this
- approach to cross-platform application development.
- ----------------------------------------------------------
-
- Question 2
-
- I have an existing FoxPro 2.0 project. How do I enable it
- to run in FoxPro version 2.6?
-
- Answer 2
-
- You open the project in FoxPro version 2.6 and rebuild your
- application. You must convert screens and reports only if
- you decide to modify them.
- ----------------------------------------------------------
-
- Question 3
-
- Will I be able to create executable files for FoxPro version 2.6?
-
- Answer 3
-
- Yes. The options for building .EXE files in FoxPro 2.6 for
- MS-DOS are the same as in FoxPro 2.0. You can build
- compact and stand-alone .EXE files. Compact .EXE files are
- distributed with library files that are included in the
- FoxPro Distribution Kit. Stand-alone .EXE files don't
- require the FoxPro library files. The information from the
- libraries is built into a stand-alone .EXE.
-
- In FoxPro for Windows, you can create the equivalent of
- the compact .EXE file. These files are distributed with
- the library files included in the FoxPro for Windows
- Distribution Kit.
-
- Question 4
-
- Why doesn't my Low Level File I/O program work in
- the Windows Product?
-
- Answer 4
-
- FoxPro for Windows can not access the COM ports with
- the Low Level File commands.
-
- This is documented if you look at the FOPEN() command,
- but many people who are accustomed to opening a port in
- the MS-DOS product would test this function and think it is
- broken.
-
- This is not a bug - it is product design. In the Windows
- multi-tasking environment, other applications besides
- FoxPro may also be using the COM ports. It is not
- desirable to allow a Windows application to take exclusive
- control of the communications port.
-
- Access to the COM port would be provided through
- FoxTools.FLL and the Windows API calls. In the
- Foxprow\goodies\foxtools directory is a file called dialer.prg
- This shows an example of using the com port under the
- Windows environment.
-
- The use of the REGFN() and CALLFN() are documented in
- the foxtools.wri file in the same directory as the example.
-
- Refer to the Windows SDK documentation for information
- on specific API calls.
- ----------------------------------------------------------
- ==========================
- Part 2: Interface Features
- ==========================
-
- Overview of Questions
- ---------------------
-
- 1 Why do the windows created in FoxPro for Windows have
- different style controls when compared with the
- windows in FoxPro for MS-DOS?
- 2 What is the purpose of the Control-menu box at the
- top left of FoxPro windows?
- 3 Why is it that some windows in FoxPro can be resized
- and others can't?
- 4 Why have the keyboard shortcuts in FoxPro for Windows
- been changed? Is there a way to restore the FoxPro for
- MS-DOS style keystrokes?
- 5 When I create a table and press Enter to add a new
- field I find that the dialog unexpectedly closes. Why
- is this?
- 6 FoxPro for Windows automatically displays a status bar
- located at the bottom of the main window. Is it
- possible to remove this status bar? Is the DOS-style
- status bar available?
- 7 When I issue the command SET DISPLAY TO VGA50 and then
- issue the command SET DISPLAY TO VGA25 to restore the
- previous setting, the status bar disappears. How do I
- restore the status bar?
- 8 Why has the menu for FoxPro for Windows changed?
- Is the MS-DOS version of the menu available?
- 9 The Edit menu contains a number of new options such as
- Paste Special... and Change Link.... How do I use
- these options?
- 10 The Program menu contains a new option, Beautify. What
- does it do?
- 11 The Text menu is completely new. What new features
- does this menu offer?
- 12 Occasionally the Object menu is available. When and
- why is it displayed?
- 13 FoxPro for Windows includes Windows-style help. Is
- there any way to access the .DBF-style help I used in
- Fox 2.0?
- 14 Shouldn't I get a full path display rather than just
- the drive letter when I issue the following command
- in the Command window?
-
- ? SET("DEFAULT")
- ----------------------------------------------------------
-
- Question 1
-
- Why do the windows created in FoxPro for Windows have
- different style controls when compared with the windows in
- FoxPro for MS-DOS?
-
- Answer 1
-
- FoxPro for Windows is designed to conform to the Windows
- 3.1 interface guidelines for applications. These
- guidelines enable you to use the same methods of moving,
- selecting, and changing windows with all Windows
- applications. FoxPro windows now include Control-menu
- boxes and Minimize, Maximize, and Restore buttons. For a
- complete discussion of window styles and terminology,
- refer to the Getting Started manual.
- ----------------------------------------------------------
-
- Question 2
-
- What is the purpose of the Control-menu box at the
- top left of FoxPro windows?
-
- Answer 2
-
- A single click in the Control-menu box displays the
- Control menu, with which you can move, size, close, and
- select windows. A double-click in the Control-menu box
- closes the window.
- ----------------------------------------------------------
-
- Question 3
-
- Why is it that I can resize some windows in FoxPro
- and not others?
-
- Answer 3
-
- FoxPro for Windows contains both windows you can size and
- windows you can't size. Windows that contain a text-
- editing region are sizable. Examples of sizable windows
- are the Command window, Screen Design window and the
- Calendar. These windows may contain scroll bars and a
- sizing box in the bottom right corner of the window.
- Examples of windows you can't size include the View and
- RQBE windows. Windows you can't size have only the
- Control-menu box and the Minimize button.
- ----------------------------------------------------------
-
- Question 4
-
- Why have the keyboard shortcuts in FoxPro for Windows
- changed? Is there a way to restore the FoxPro for MS-DOS
- style keystrokes?
-
- Answer 4
-
- FoxPro for Windows supports Windows-style keystrokes, such
- as using Enter to choose a focused selection. FoxPro for
- Windows supports both an MS-DOS keystroke mode and Windows
- keystroke mode. Refer to the FoxPro online help for
- details on the keystroke differences. You were asked at
- installation time which mode to select. However, you can
- change the mode interactively at any time in FoxPro by
- issuing the command:
-
- SET KEYCOMP TO DOS
- or
- SET KEYCOMP TO WINDOWS
-
- Each time you load FoxPro, the default KEYCOMP setting
- you specify during installation will be in effect. To
- change the default setting of KEYCOMP, include the
- appropriate statement the CONFIG.FPW file:
-
- KEYCOMP=DOS
- or
- KEYCOMP=WINDOWS
- ----------------------------------------------------------
-
- Question 5
-
- When I create a table and press Enter to add a new field
- I find that the dialog unexpectedly closes. Why is this?
-
- Answer 5
-
- The keystroke navigation is different in Windows and
- MS-DOS. In FoxPro for MS-DOS, the keystroke equivalent of
- clicking the focus button is Ctrl+Enter. In Windows, it
- is Enter. So pressing Enter in the Table Structure dialog
- tells FoxPro you have chosen the OK button. To establish
- the MS-DOS keystroke mode in Windows, issue the command
- SET KEYCOMP TO DOS.
- ----------------------------------------------------------
-
- Question 6
-
- FoxPro for Windows automatically displays a status bar
- located at the bottom of the main window. Is it possible
- to remove this status bar? Is the MS-DOS style status bar
- available?
-
- Answer 6
-
- The Windows-style status bar displays the same information
- as the MS-DOS-style status bar, plus information about the
- currently selected menu name or command and messages you
- create using FoxPro commands. It can also display the
- system time.
-
- The Windows-style status bar is displayed by default. To
- remove the status bar, in the Command window issue the
- command:
-
- SET STATUS BAR OFF
-
- Alternatively, in CONFIG.FPW enter the item:
-
- STATUS BAR = OFF
-
- To restore the status bar, substitute ON for OFF in
- the previous two examples.
-
- The SET MESSAGE TO command you use to specify a
- message location is ignored when the Windows style status
- bar is active. When the Windows-style status bar is
- active, messages you create with commands such as DEFINE
- MENU, DEFINE POPUP, DEFINE BAR, and @...PROMPT,
- appear in the Windows-style status bar.
-
- When the Windows-style status bar is active, to display
- the time on the right hand side of the status bar
- issue the following command:
-
- SET CLOCK STATUS
-
- Alternatively, in CONFIG.FPW enter the item:
-
- CLOCK = STATUS
-
- For compatibility with existing FoxPro 2.0 applications,
- FoxPro for Windows displays the MS-DOS style status bar
- when you issue the command SET STATUS ON.
- ----------------------------------------------------------
-
- Question 7
-
- When I issue the command SET DISPLAY TO VGA50 and then
- issue the command SET DISPLAY TO VGA25 to restore the
- previous setting, the status bar disappears. How do I
- restore the status bar?
-
- Answer 7
-
- Issue the SET STATUS BAR ON command.
- ----------------------------------------------------------
-
- Question 8
-
- Why has the menu for FoxPro for Windows changed?
- Is the MS-DOS version of the menu available?
-
- Answer 8
-
- The menu in FoxPro for Windows has been modified for
- consistency with the standard Windows interface. The
- System menu on the FoxPro 2.0 menu bar has been removed
- and a number of specific menu items have been moved.
-
- Take a moment to explore the new menu structure. Note that
- a brief message describing each menu item is displayed in
- the status bar at the bottom of the main FoxPro window.
-
- If you are more comfortable with the menu bar layout of
- FoxPro 2.0, you can run a distributed FoxPro menu program
- that recreates it. Simply execute the DOS.MPR file
- located in the GOODIES subdirectory with the DO command.
- Running this menu program replaces the FoxPro for Windows
- menu bar layout with the FoxPro for MS-DOS menu bar
- layout while retaining the Text menu for multiple font
- support.
-
- To automatically display the FoxPro for MS-DOS menu bar
- when you load FoxPro for Windows, place the following
- item in the CONFIG.FPW file to execute the DOS.MPR
- program:
-
- COMMAND = DO C:\FOXPROW\GOODIES\DOS\DOS.MPR
-
- Modify the path specification for DOS.MPR based on your
- specific installation.
- ----------------------------------------------------------
-
- Question 9
-
- The Edit menu contains a number of new options such as
- Paste Special... and Change Link... . How do I use these
- options?
-
- Answer 9
-
- The new Edit menu options support Object Linking and
- Embedding (OLE). The items include Paste Special, Insert
- Object, Object, Change Link, and Convert to Static. For
- a detailed discussion of OLE consult the FoxPro
- documentation.
- ----------------------------------------------------------
-
- Question 10
-
- The Program menu contains the new option, Beautify. What
- does it do?
-
- Answer 10
-
- The Beautify option alters the appearance of program files
- so they are easier to read. For example, you can choose to
- alter the case of key words and variables, and to add
- indentation within procedures and DO CASE statements.
- You can alaso highlight program organization by
- bracketing specific control statements such as:
-
- IF
- DO something
- ELSE
- DO something
- ENDIF
- ----------------------------------------------------------
-
- Question 11
-
- The Text menu is completely new. What new features does
- this menu offer?
-
- Answer 11
-
- The Text Menu adds support for multiple fonts and text
- formatting. The Font option makes all of your installed
- Windows fonts available within FoxPro. A Font option is
- also available in the Browse menu for Browse windows.
-
- To change the main FoxPro window font, hold down the
- Shift key when you choose the Text menu pad. Then choose
- the Screen Font... option.
-
- The Enlarge Font and Reduce Font options change all text
- to the next available point size in the current font. To
- alter the spacing of the text, select the Single Space,
- 1 1/2 Space, or Double Space option.
-
- The Indent option indents the selected group of lines one
- tab stop. Undent does the opposite by moving a selected
- group of lines out one tab stop.
- ----------------------------------------------------------
-
- Question 12
-
- Occasionally the Object menu is available. When does it
- display and why?
-
- Answer 12
-
- The Object menu is available when either the Screen
- Builder or the Report Writer window is open. As with the
- Text and Browse menus, the Object menu provides access to
- fonts. Specific items on the Object menu are enabled and
- disabled based on the currently selected object.
-
- For example, a rectangle drawn in the Screen Design window
- may have an outline or pen color, a background or fill
- color, and a fill pattern.
- ----------------------------------------------------------
-
- Question 13
-
- FoxPro for Windows includes Windows-style help. Is there
- any way to access the .DBF-style help I used in Fox 2.0?
-
- Answer 13
-
- By default, FoxPro for Windows uses Windows-style help. To
- access the .DBF-style help, issue the following command:
-
- SET HELP TO FOXHELP.DBF
-
- Pressing F1 or choosing Contents from the menu will then
- open .DBF-style help.
-
- To return to the Windows-style help, issue the following
- command:
-
- SET HELP TO FOXHELP.HLP
-
- To change the default help to the .DBF-style help, add
- this statement to your CONFIG.FPW file:
-
- HELP = FOXHELP.DBF
- ----------------------------------------------------------
-
- Question 14
-
- Shouldn't a full path rather than just the drive letter
- display when I issue the following command in the command
- window?
-
- ? SET("DEFAULT")
-
- Answer 14
-
- No. This is consistent with FoxPro 2.0 for MS-DOS.
- ----------------------------------------------------------
- =====================
- Part 3: Report Writer
- =====================
-
- Overview of Questions
- ---------------------
-
- 1 Should I convert all of my FoxPro 2.0 reports to
- FoxPro for Windows format?
- 2 I used the Quick Report option to create my initial
- report. Now I want to add another field. In FoxPro
- for MS-DOS, the Report menu popup contained an option
- called Field... which allowed me to add a single
- field. What do I do in FoxPro for Windows?
- 3 I have included a memo-type field in my report but
- only the first line prints. How can I fix this?
- 4 When I place a "stretched" memo field in the detail
- band, I find that the fields which display below the
- memo field are being overwritten by some of the longer
- memo fields. How do I avoid this?
- 5 I have placed boxes around several fields in my
- report. One of these fields is a memo field. How do I
- make the box stretch to fit the memo field?
- 6 When I attempt to move a text object to a specific
- location in the Report Design window, the field keeps
- aligning itself with the nearest grid line. Why is
- this happening?
- 7 How do I design and print multi-column reports in
- FoxPro 2.6 for Windows?
- 8 When I enlarge the font of objects in my report and
- print it, some of the information in the fields is
- obscured. How can I fix this?
- ----------------------------------------------------------
-
- Question 1
-
- Should I convert all of my FoxPro 2.0 reports to FoxPro
- for Windows format?
-
- Answer 1
-
- You may not need to. Your existing character reports will
- run, preview, and print unchanged in FoxPro for Windows.
- The engine for printing character reports is included in
- FoxPro for Windows. If you want to include graphical
- elements such as fonts and pictures in a report, then you
- can convert the reports to FoxPro for Windows format, or
- create new graphical reports from scratch.
- ----------------------------------------------------------
-
- Question 2
-
- I used the Quick Report option to create my initial
- report. Now I want to add another field. In FoxPro for
- MS-DOS, the Report menu contained an option called
- Field... which allowed me to add a single field. What do
- I do in FoxPro for Windows?
-
- Answer 2
-
- You can add new fields by using the field tool
- located in the toolbox on the left side of the Report
- Design window. See the FoxPro for Windows User's Guide for
- additional information on the Report Writer toolbox.
- ----------------------------------------------------------
-
- Question 3
-
- I have included a memo-type field in my report but only
- the first line prints. How can I fix this?
-
- Answer 3
-
- To display the entire contents of the memo field, you must
- make the field stretch vertically to fit its contents.
- Double-click the report field and select the Top - Field
- Can Stretch option from the Position Relative To item.
- This field will now enlarge depending on the length
- of the memo field contents. Select the Page Preview option
- to view the result.
- ----------------------------------------------------------
-
- Question 4
-
- When I place a "stretched" memo field in the detail band,
- I find that the fields which display below the memo field
- are being overwritten by some of the longer memo fields.
- How do I avoid this?
-
- Answer 4
-
- Fields or objects positioned below the memo field are
- still being displayed in a fixed position even though the
- memo field is now stretchable. To avoid being overwritten,
- all objects below the memo field should be positioned
- relative to the bottom of the Detail band. To accomplish
- this, double-click on each of the fields and select the
- Bottom option from the Position Relative To item. Select
- the Page Preview option to view the result. If your report
- contains side-by-side memo fields, fields with the Bottom
- option specified will display below the longer of the two
- memo fields.
-
- Note: The previous procedure applies to non-stretching
- fields and other objects, such as lines and text. If you
- have stretching fields placed below other stretching
- fields, you don't want to position them "relative to
- bottom." Stretching fields automatically float below other
- stretching fields.
- ----------------------------------------------------------
-
- Question 5
-
- I have placed boxes around several fields in my report.
- One of these fields is a memo field. How do I make the box
- stretch to fit the memo field?
-
- Answer 5
-
- Double-click the box and select the Stretch With Band
- option from the Position Relative To item. Rectangles
- (boxes) and vertical lines can optionally stretch
- according to the length of the Detail band.
-
- Note: You won't be able to place a stretching box around
- a field if the field won't be positioned relative to
- the top or the bottom of the band. Boxes must be
- positioned relative to the top or bottom of the band.
- ----------------------------------------------------------
-
- Question 6
-
- When I attempt to move a text object to a specific
- location in the Report Design window, the field keeps
- aligning itself with the nearest grid line. Why is this
- happening?
-
- Answer 6
-
- By default, objects are automatically aligned to the
- nearest invisible grid lines within the Report Design
- window. This feature is called Snap to Grid and may be
- disabled by deselecting the Snap to Grid option from the
- Report menu.
- ----------------------------------------------------------
-
- Question 7
-
- How do I design and print multi-column reports in FoxPro
- 2.6 for Windows?
-
- Answer 7
-
- Select Page Layout... from the Report menu option and use
- the Columns spinner to select the number of columns.
- Clicking the up arrow increases the counter value, and
- clicking the down arrow decreases the counter value.
- The size of the Report Design window reflects the new
- column width, and you may need to modify existing field
- positions.
-
- Hint: When creating a new report that will have columns,
- set the layout before you add any fields.
- ----------------------------------------------------------
-
- Question 8
-
- When I enlarge the font of objects in my report and print
- the report, some of the information in the fields is
- obscured. How can I fix this?
-
- Answer 8
-
- You may need to stretch the detail lines and/or the
- objects themselves to accommodate the larger font.
- ----------------------------------------------------------
- ======================
- Part 4: Screen Builder
- ======================
-
- Overview of Questions
- ---------------------
-
- 1 I don't own a mouse. How can I create a screen using
- the keyboard?
- 2 The Field dialog in the Screen Design window allows me
- to create only an input field or an output field.
- What happened to the Edit field option in the field
- dialog?
- 3 When I select the push button tool in the Screen
- Design window I have a choice of three button types:
- Normal, Invisible and Picture. Were these types
- available in FoxPro 2.0?
- 4 I know how to click and drag objects within the Screen
- Design window using the Selection pointer tool. Is
- there an easy way to move objects a small distance?
- 5 I created a screen for my application which
- displays a number of fields. After creating the
- application, when I move the cursor from one field to
- the next the order in which the cursor moves to the
- fields isn't what I expect based on the physical
- arrangement of the fields. How can I change the field
- access order without changing the physical position of
- the fields?
- 6 When generating screens in FoxPro 2.0, I was able to
- specify exactly what code to generate. Options
- included adding code to open and close files, define
- and release windows, and create modal screens. Is this
- option still available?
- 7 The Color option is no longer on the Screen menu. How
- do I specify colors for my screen objects?
- 8 When I use an @... SAY statement to display
- the contents of a general field, nothing appears. What
- am I doing wrong?
- 9 I used the picture tool to add a picture field to my
- screen and specified the appropriate .BMP file.
- Please explain in more detail how the options in
- the area called If Picture and Frame Different Size
- affect the display of the picture. The options are
- Clip Picture, Scale Picture - Retain Shape and Scale
- Picture - Fill the Frame.
- 10 I want to create a screen that allows online editing,
- while a READ is active, of OLE objects stored in a
- general field. When I add a picture to my screen
- using the picture tool, I'm not able to edit the
- displayed .BMP file. Is there a way to do this?
- 11 Why can't I type as many characters into an input
- field as it appears will fit?
- 12 How do I control the length of a memory variable
- independent of the size of an input field defined with
- @ ... GET ... SIZE?
- 13 How can I be sure that a font I choose will be
- available at the client site?
- 14 How do I coordinate Browse Windows with Screens?
- 15 Are the Keyboard Shortcuts for FoxPro for Windows
- screen builder documented?
- ----------------------------------------------------------
-
- Question 1
-
- I don't own a mouse. How can I create a screen using the
- keyboard?
-
- Answer 1
-
- A mouse is required to create a screen with the Screen
- Builder.
- ----------------------------------------------------------
-
- Question 2
-
- The Field dialog in the Screen Design window allows me to
- create only an input field or an output field. What
- happened to the Edit field option in the field dialog?
-
- Answer 2
-
- The edit field option is now part of the new Edit Region
- dialog. To create an edit field, click the edit region
- tool located on the left side of the Screen Design window.
- Notice that as you select the tool a brief description
- appears in the status bar at the bottom of the screen. In
- the Edit Region dialog the options Select on Entry and
- Initially Disable Edit Region are new. For additional
- information on these options see the Edit Region Dialog
- topic in Help.
- ----------------------------------------------------------
-
- Question 3
-
- When I select the push button tool in the Screen Design
- window I have a choice of three button types: Normal,
- Invisible and Picture. Were these types available in
- FoxPro 2.0?
-
- Answer 3
-
- FoxPro for Windows has consolidated the Invisible Button
- and Push Button options into a single dialog. The Picture
- type push button is new. You can create a picture push
- button using a bitmap (.BMP) picture file to graphically
- depict the action the push button represents. You can also
- use picture files with radio buttons and check boxes in
- FoxPro for Windows.
- ----------------------------------------------------------
-
- Question 4
-
- I know how to click and drag objects within the Screen
- Design window using the Selection pointer tool. Is there an
- easy way to move objects a small distance?
-
- Answer 4
-
- Yes. Select the object to move using the Selection
- pointer tool and use the arrow keys to move the object one
- pixel at a time.
- ----------------------------------------------------------
-
- Question 5
-
- I created a screen for my application which displays a
- number of fields. After creating the application, when I
- move the cursor from one field to the next the order in
- which the cursor moves to the fields isn't what I expect
- based on the physical arrangement of the fields. How can I
- change the field access order without changing the
- physical position of the fields?
-
-
- Answer 5
-
- To accomplish this, return to your original screen in the
- Screen Design window. From the Screen menu, select the
- Object Order... option. This option opens the Object Order
- dialog, where screen objects are listed according to their
- keyboard access order. To change the access order for the
- objects, click the button to the left of the object and
- drag the object to its new keyboard access position.
- When your're done, rebuild your application to include
- the new field access order.
- ----------------------------------------------------------
-
- Question 6
-
- When generating screens in FoxPro 2.0, I was able to
- specify what code to generate. Options included adding
- code to open and close files, define and release windows,
- and create modal screens. Is this option still available?
-
- Answer 6
-
- Yes. The Generate Screen dialog contains a More button.
- Choose this button to view the generate code options.
- ----------------------------------------------------------
-
- Question 7
-
- The Color option is no longer on the Screen menu. How do
- I specify colors for my screen objects?
-
- Answer 7
-
- To specify colors, first select the object or a group of
- objects. To modify the background color of the object
- select Fill Color from the Object menu. To modify the
- outline and text of an object, select Pen Color from the
- Object menu.
-
- The AUTOMATIC setting will match the Windows color sets.
-
- To change the background of the entire screen, choose
- Layout... from the Screen menu and click on the Color
- option. You may choose a specific color or select a
- wallpaper pattern by clicking Wallpaper and specifying a
- specific .BMP file.
- ----------------------------------------------------------
-
- Question 8
-
- When I use an @... SAY statement to display the contents
- of a general field, nothing appears. What am I doing
- wrong?
-
- Answer 8
-
- Use the Picture tool to display the contents of a general
- field. The Field tool can't display a picture.
- ----------------------------------------------------------
-
- Question 9
-
- I used the Picture tool to add a picture field to my
- screen and specified the appropriate .BMP file. Please
- explain in more detail how the options in the area called
- If Picture and Frame Different Size affect the display of
- the picture. The options are Clip Picture, Scale Picture -
- Retain Shape and Scale Picture - Fill the Frame.
-
- Answer 9
-
- The following options only apply when the picture and
- frame are of of a different size.
-
- Choose Clip Picture if you want to retain the original
- dimensions of the picture. If the picture is larger than
- the frame only a portion of the image is displayed
- beginning with the top-left portion of the picture. Any
- portion of the picture that extends beyond the frame is
- hidden.
-
- Choose Scale Picture - Retain Shape if you want to retain
- the overall shape of the picture but fill as much of the
- frame as possible. The picture is protected from
- vertical or horizontal distortion.
-
- Choose Scale Picture - Fill the Frame if you want to fill
- the frame completely. The picture is horizontally or
- vertically distorted as needed to fill the frame.
- ----------------------------------------------------------
-
- Question 10
-
- I want to create a screen that allows online editing,
- while a READ is active, of OLE objects stored in a general
- field. When I add a picture to my screen
- using the picture tool, I'm not able to edit the
- displayed .BMP file. Is there a way to do this?
-
- Answer 10
-
- Use the Field tool in the Screen Design window to create
- a general field in your screen. Select the WHEN clause and
- enter the command MODIFY GENERAL <field name> in the code
- snippet area. Save the screen and generate your screen
- and/or application. Now you will be able to edit the
- bitmap within the screen when the application is running.
- ----------------------------------------------------------
-
- Question 11
-
- Why can't I type as many characters into an input field as
- it appears will fit?
-
- Answer 11
-
- In a proportional font, each character is given as much
- horizontal space as it needs and no more. For example, a
- lowercase "f" requires much less space than an uppercase
- "W." When an input field displays in a screen, FoxPro
- calculates the display width of the field by multiplying
- the number of characters in the table field structure by
- the average size of a character in the specified font. If
- the field is filled with characters that are wider than
- average, the characters don't all fit within the display
- width of the input field and so the characters scroll. If
- the field is filled with characters that are narrower than
- average, the characters don't fill the display width of
- the input field.
- ----------------------------------------------------------
-
- Question 12
-
- How do I control the length of a memory variable
- independent of the size of an input field defined with
- @ ... GET ... SIZE?
-
- Answer 12
-
- Use a picture clause to control the memory variable's
- length, and an @ ... GET ... SIZE clause to control the
- width of the input field.
- ----------------------------------------------------------
-
- Question 13
-
- How can I be sure that a font I choose will be available
- at the client site?
-
- Answer 13
-
- The safest way is to look in your WIN.INI file for
- fonts that have the words "All res" on the line. These
- are standard Windows fonts and consequently are those
- most likely to be available at a client site.
-
- Question 14
-
- How do I coordinate Browse Windows with Screens?
-
- Answer 14
-
- Page D2-96 of the FoxPro for Windows "Developer's Guide"
- and page D2-90 ofthe FoxPro for MS-DOS "Developers
- Guide" give samples for coordinating Browse windows with
- screens but omits the SAVE clause in the example. If
- the optional BROWSE parameter SAVE is omitted, the Browse
- window will closeas soon as any other object is clicked.
-
- The code example should be changed to read as follows:
-
- IF NOT WVISIBLE("Client List")
- BROWSE NORMAL NOWAIT NODELETE LAST;
- TITLE "Client List" ;
- NOAPPEND NOMENU SAVE FIELDS company ;
- WHEN showgets()
- ENDIF
-
- IF NOT WVISIBLE("Account Details")
- SELECT details
- BROWSE NORMAL NOWAIT NODELETE LAST;
- TITLE "Client List" ;
- NOAPPEND NOMENU SAVE ;
- FIELDS ;
- Trans_type:10, ;
- Trans_date:10, ;
- Amt:7,Service
- SELECT clients
- ENDIF
-
- Question 15
-
- Are the Keyboard Shortcuts for FoxPro for Windows screen
- builder documented?
-
- Answer 15
-
- FoxPro for Windows requires a mouse. MS-DOS users who are
- used to using the keyboard for creating screens are often
- confused by the lackof keyboard support in the Screen
- Builder. In a graphical environment such as Windows, the
- mouse provides a more effective means of locating and/or moving
- objects than the keyboard does.
-
- To complete the transition from designing with the keyboard
- to designing with the mouse, icons have been added for every
- tool in the Screen Builder. These icons take the place of the
- menu shortcuts that exist in FoxPro for MS-DOS.
-
- ----------------------------------------------------------
-
- =================================
- Part 5: Printer Driver Questions
- =================================
-
- Overview of Questions
- ---------------------
-
- 1 How do I use @ ... SAY Commands and Control Codes
- to Print in FP/W.
-
- 2 How can I edit an existing MS-DOS style printer driver
- or create a new one.
-
- 3 How can I invoke the Windows Printer Driver Setup Dialog
- from a program.
-
- 4 How do I access DOS printer drivers in FoxPro Windows?
- ----------------------------------------------------------
-
-
-
- Question 1
-
- How do I use @ ... SAY Commands and Control Codes to Print
- in FP/W.
-
- Answer 1
-
- FoxPro for Windows cannot send control codes directly to a
- printer using a Windows printer driver. There are two
- techniques to work around this:
-
- - Open the printer in "raw mode," bypassing the Windows
- printer driver and communicating directly with the printer.
-
- -or-
-
- - Write all output to a text file, then copy the text file
- to a printer port.
-
- Writing FoxPro for Windows programs that send control codes
- directly to a printer is not normally recommended. Only use
- these techniques when adapting existing FoxPro for MS-DOS
- code that sends control codes to the printer.
-
- The following examples send control codes to switch an Epson
- FX-80 dot-matrix printer's compressed mode on and off.
-
- NOTE: When using these techniques, do not use any of the
- ? or ?? commands for output. Only use @ ... SAY commands.
-
- Technique 1: Open the Printer in Raw Mode
- -----------------------------------------
-
- There are two ways to open the printer in raw mode:
-
- - Use the ??? " " command.
-
- -or-
-
- - Use the SET PDSETUP TO <driver name> command.
-
- Use the ??? " " Command:
-
- Issue SET DEVICE TO PRINT and SET PRINTER TO commands to
- turn off all open print commands.
-
- Issue a ??? " " command to open the printer in raw mode.
-
- Issue @ ... SAY commands to send control codes and text
- to the printer.
-
- After printing, issue a SET PRINTER TO command to flush
- the print buffer and return control to the Windows
- printer driver.
-
- The following code demonstrates these steps:
-
- SET DEVICE TO PRINT
- SET PRINTER TO
- ??? " "
- @ 1,0 SAY 'NORMAL TEXT'
- @ 2,0 SAY CHR(15) && Control code to turn compressed mode on
- @ 2,0 SAY 'CONDENSED text?'
- @ 3,0 SAY CHR(18) && Control code to turn compressed mode off
- @ 3,0 SAY 'NORMAL again'
- SET DEVICE TO SCREEN
- SET PRINTER TO
-
- NOTE: In some circumstances, the last @ ... SAY command
- may not print. If this problem occurs, add an additional
- @ ... SAY command that prints a blank line (so that the
- lost line is just a blank).
-
- Use the SET PDSETUP TO <Driver Name> Command:
-
- Issue a SET PRINTER TO command to clear the print buffer
- of all open print commands.
-
- Issue a SET PDSETUP TO <driver name> command to open the
- printer in raw mode. You MUST already have an existing
- FoxPro 2.0 or 2.6 for MS-DOS printer driver in the current
- resource file.
-
- NOTE: The important property of this command is that
- setting a FoxPro for MS-DOS printer driver opens the printer
- in raw mode. The printer driver itself is not used to control
- printing (that is done though control codes). In fact, any
- FoxPro for MS-DOS printer driver can be used.
-
- Issue a SET DEVICE TO PRINTER command to direct the @ ... SAY
- commands to the printer.
-
- Issue @ ... SAY commands to send control codes and text to
- the printer.
-
- After printing, issue a SET DEVICE TO SCREEN command to
- redirect the output to the screen.
-
- Issue a SET PRINTER TO command to flush the print buffer
- and return control to the Windows printer driver.
-
- The following code demonstrates these steps:
-
- SET PRINTER TO
- SET PDSETUP TO "Epson"
- SET DEVICE TO PRINT
-
- @ 1, 0 SAY 'NORMAL text'
- @ 2, 0 SAY CHR(15) && Control code to turn compressed mode on
- @ 2, 0 SAY 'CONDENSED text'
- @ 3, 0 SAY CHR(18) && Control code to turn compressed mode on
- @ 3, 0 SAY 'normal again'
-
- SET DEVICE TO SCREEN
- SET PRINT TO
-
- Technique 2: Write to Text File and Copy to Printer Port
- --------------------------------------------------------
-
- Issue a SET DEVICE TO FILE <filename> command to direct output
- to a file.
-
- Issue @ ... SAY commands to send control codes or text
- to the printer.
-
- Issue a SET DEVICE TO SCREEN command to redirect output to
- the screen.
-
- Issue a SET SAFETY OFF command so FoxPro for Windows does not
- confirm copying the output file to the printer port (which it
- believes to be a file).
-
- Issue a COPY FILE <filename> TO <printer port>.DOS command to
- copy the output file to the printer port.
-
- Issue a SET SAFETY ON command to turn safety on again.
-
- The following code demonstrates these steps:
-
- SET DEVICE TO FILE output.prn
-
- @ 1,0 SAY 'NORMAL text'
- @ 2,0 SAY CHR(15) && Control code to turn compressed mode on
- @ 2,0 SAY 'CONDENSED text'
- @ 3, 0 SAY CHR(18) && Control code to turn compressed mode off
- @ 3, 0 SAY 'Back to normal text'
-
- SET DEVICE TO SCREEN
- SET SAFETY OFF
- COPY FILE output.prn TO lpt1.dos
- SET SAFETY ON
-
- When Windows prints to a file named LPT1.DOS, MS-DOS
- interprets the request to open the file LPT1.DOS as a
- request to send data to the printer port,and it sends
- the data out through its own printing handler. Because
- Windows thinks that LPT1.DOS is an MS-DOS file, the Print
- Manager is not used.
-
- Question 2
-
- How can I edit an existing MS-DOS style printer driver
- or create a new one.
-
- Answer 2
-
- In FoxPro for Windows, the SET PDSETUP TO <driver_name>
- command selects only an existing MS-DOS style printer
- driver. It cannot edit an existing MS-DOS style printer
- driver or create a new one.
-
- To use the SET PDSETUP TO <driver_name> command in FoxPro
- for Windows, the current resource file (by default
- FOXUSER.DBF and its associated memo file, FOXUSER.FPT)
- must already have an MS-DOS style printer driver loaded.
- This MS-DOS style printer driver must have been previously
- created by FoxPro for MS-DOS.
-
- FoxPro for Windows normally uses Windows printer drivers
- for all its printing. Windows printer drivers are changed
- through the Windows Control Panel.
-
- Only use the SET PDSETUP TO <driver_name> command with
- character-based reports that were created in FoxPro for
- MS-DOS.
-
- NOTE: The SET PDSETUP <driver_name> command has no effect
- on Windows printer drivers.
-
- Question 3
-
- How can I invoke the Windows Printer Driver Setup Dialog
- from a program.
-
- Answer 3
-
- There are two methods to invoke the Windows Printer Driver
- Setup Dialog.
-
- The first method is to use the new function SYS(624)
-
- The second method is to use a RUN command. The following
- example illstrates this:
-
- RUN /N control printers
-
- NOTE: These commands will not work with Windows version 3.0.
- For example, the RUN /N CONTROL.EXE PRINTERS command will
- only run the Control Panel; it will not open the Printers
- dialog box.
-
- Question 4
-
- How do I access DOS printer drivers in FoxPro Windows?
-
- Answer 4
-
- In FoxPro for Windows, the SET PDSETUP TO <driver_name>
- command selects only an existing MS-DOS style printer driver.
- It cannot edit an existing MS-DOS style printer driver or
- create a new one.
-
- To use the SET PDSETUP TO <driver_name> command in FoxPro
- for Windows, the current resource file (by default
- FOXUSER.DBF and its associated memo file, FOXUSER.FPT)
- must already have an MS-DOS style printer driver loaded.
- This MS-DOS style printer driver must have been previously
- created by FoxPro for MS-DOS.
-
- FoxPro for Windows normally uses Windows printer drivers
- for all its printing.
-
- Only use the SET PDSETUP TO <driver_name> command with
- character-based reports that were created in FoxPro for
- MS-DOS.
-
- NOTE: The SET PDSETUP <driver_name> command has no effect
- on Windows printer drivers.
-
- ---------------------------------------------------------
- ================
- End of PSSQA.TXT
- ================
-