home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / smart21b.zip / SM_SLINK.INF (.txt) < prev    next >
OS/2 Help File  |  1995-09-15  |  218KB  |  9,230 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. The SMART Editor User's Guide ΓòÉΓòÉΓòÉ
  3.  
  4.    The SMART Editor User's Guide
  5.        Version 2.1B
  6.       September 1995
  7.  
  8.    (C) 1991, 1994, 1995 One Up Corporation
  9.      All Rights Reserved
  10.  
  11.        Notice 
  12.        Table of Contents 
  13.  
  14.  
  15. ΓòÉΓòÉΓòÉ 2. Notice ΓòÉΓòÉΓòÉ
  16.  
  17. ** NOTICE ** 
  18.  
  19. This document may not, in whole or in part, be copied, reproduced, photocopied, 
  20. translated, or reproduced to any electronic medium or machine readable form 
  21. without prior written consent from One Up Corporation. 
  22.  
  23. This publication could contain technical inaccuracies or typographical errors. 
  24. As changes are periodically made to the information herein; these changes may 
  25. be incorporated in new additions of the publication. One Up Corporation may 
  26. make improvements and/or changes in the product and/or the program described in 
  27. this publication at any time. 
  28.  
  29. One Up Corporation is not responsible for any direct or indirect damage or loss 
  30. of business resulting from inaccuracies or omissions in this publication.  The 
  31. specifications contained in this document are subject to change without notice. 
  32.  
  33. SMART - Source Migration Analysis Reporting Toolset is a trademark of One Up 
  34. Corporation. OS/2, Presentation Manager are trademarks of the International 
  35. Business Machines Corporation. IBM is a registered trademark of the 
  36. International Business Machines Corporation. Other trademarks are property of 
  37. their respective companies. 
  38.  
  39.       CONTENTS 
  40.  
  41.  
  42. ΓòÉΓòÉΓòÉ 3. Table of Contents ΓòÉΓòÉΓòÉ
  43.  
  44.        Chapter 1 - Introduction 
  45.        Chapter 2 - Hyperlinks 
  46.        Chapter 3 - Installation and Setup 
  47.        Chapter 4 - Getting Started - A Tutorial 
  48.        Chapter 5 - Using Help 
  49.        Chapter 6 - Utility Programs 
  50.         SLStart Utility 
  51.         SLBuild Utility 
  52.         IBM WorkFrame/2 Interface 
  53.         Rexx Interface 
  54.        Chapter 7 - How To ... 
  55.         String Replacements 
  56.         Create a List-of-Files 
  57.         Use Search for Changes 
  58.         Copy Files 
  59.         Delete Files 
  60.         Find Files 
  61.         Walk Braces 
  62.         Walk Parens 
  63.         Change Case 
  64.         Change Edit Mode 
  65.         Refresh a Display 
  66.         Select Text 
  67.         Re-Align Code 
  68.         Use Auto Indent 
  69.         Use Word Wrap 
  70.         Enter Special Characters 
  71.         Use Undo-Redo 
  72.         Setup Options 
  73.         Choose Fonts 
  74.         Choose Colors 
  75.         Create a Link Database 
  76.         Set If Defines 
  77.         Point to a new Database 
  78.         Indremental Update 
  79.         Create User Links 
  80.         Use Clip Files 
  81.         Create a Clip Library 
  82.         Clip View Help 
  83.         Clip Windows QuickHelp 
  84.         Display a File in Two Windows 
  85.         Create a Compile Window 
  86.         Lock Scroll Two Windows 
  87.         Create Private Directories 
  88.         Create General Directories 
  89.         Delete Directories 
  90.         Use 'C' Templates 
  91.         Define User Macro Files 
  92.         Direct Macro Output to a File 
  93.         Direct Macro Output to a Window 
  94.         Single Step a Rexx Macro File 
  95.         Use Tracks 
  96.         Use Shutdown and Startup Macros 
  97.         Popup an OS/2 Command Window 
  98.         Define User Command Files 
  99.         Register a Command Set 
  100.         Assign Alternate Command Processor 
  101.         Use Drag and Drop 
  102.         Process WorkFrame/2 Errors 
  103.         Disable File Passing 
  104.         Notification of Files 
  105.         Restore Application 
  106.         Auto-Open a File 
  107.         Print a File 
  108.         Define User Reference Files 
  109.         Incremental Backup to Diskette 
  110.         Snapshots 
  111.         Set Selection parameters 
  112.         Use Hyperlinks 
  113.         Use HyperTracks 
  114.         Startup Arguments 
  115.        Chapter 8 - Tips and Techniques 
  116.         Navigational Tips 
  117.         Common Accelerator Keys 
  118.         Scrolling 
  119.         Memory Management 
  120.         What is Saved and Where 
  121.         Use of a 3 Button Mouse 
  122.         File Drag and Drop 
  123.         Text Selection 
  124.         Split Screen and Selected Text 
  125.         Displaying Columns 
  126.         Information in the Status Box 
  127.         Searching Changed Files 
  128.         Undo 
  129.         Tracks 
  130.         HyperTracks 
  131.         Place Markers 
  132.         Compiling Source Code 
  133.         Changing Directories 
  134.         Building a Search File List 
  135.         Code Snippet Library 
  136.         Pseudo Source Files 
  137.         File HouseKeeping 
  138.         Left Justify Code 
  139.         The Copy Function 
  140.         Use Parameters for Incremental Backup 
  141.         Selecting Files 
  142.         Find an Item in a List Box 
  143.         Finding the Size 
  144.         'Delete' Warnings 
  145.         Link to a Function 
  146.         Link Database Update 
  147.         Connect to View Help 
  148.         Connect to Microsoft QuickHelp 
  149.         Using SLSTART to Open Filesnames 
  150.         Spawn OS/2 Command Files 
  151.         Spawn DOS Command Files 
  152.         Run 'Grep' 
  153.         Qualify Make Filenames for Hyperlinking Errors 
  154.         Assign Accelerator Keys 
  155.         Create Project Oriented Instances 
  156.         Multiple Instances of The SMART Editor 
  157.        Chapter 9 - Macros 
  158.         S_ Macros - Alphabetically 
  159.         S_ Macros - Functional Groups 
  160.         S_ Macros - Reference Definitions 
  161.        Glossary of Terms 
  162.        Appendix A - Specifications 
  163.        Appendix B - Keys Reference 
  164.  
  165.       Chapter 1 - Introduction 
  166.  
  167.  
  168. ΓòÉΓòÉΓòÉ 4. Chapter 1 - Introduction ΓòÉΓòÉΓòÉ
  169.  
  170. Chapter 1 - Introduction 
  171.  
  172. Welcome to SLink - The SMART Editor 
  173.  
  174. Source code maintenance and creation is much more than typing program code.  A 
  175. great deal of the effort in the creation or maintenance of program source code 
  176. is finding, copying, moving, and in general, having complete access to your 
  177. source code. 
  178.  
  179. The SMART Editor has been created to provide you with an integrated environment 
  180. for analyzing, accessing, and changing source code files.  This integrated 
  181. environment, presented with a graphical interface, will give you a refreshing 
  182. new experience in programming. 
  183.  
  184. The hyperlink, context sensitive display of your source code and on-line help 
  185. will provide you with a direct, and effortless connection to the information 
  186. that you need to learn and maintain programs. 
  187.  
  188. All of this power initially may be intimidating to the first time user.  There 
  189. are over 100 menu item and hot key selections for the functions contained in 
  190. this environment.  The SMART Editor has been specifically designed for ease of 
  191. use.  The learning curve for this environment is short.  You just need to be 
  192. patient and recognize that after a short period of use you will master the 
  193. power of The SMART Editor. 
  194.  
  195. This technical manual is designed to help you become familiar with the SMART 
  196. Editor functions.  As you begin to use this product you will find your own 
  197. style of use.  You will find the functions that best suit your needs.  You will 
  198. find a balance between the use of the mouse and the use of accelerator keys 
  199. that are most effective in menu and function selection. You will find 
  200. integrated function combinations that give you the productivity that you are 
  201. looking for. 
  202.  
  203. This Technical Manual is written with different views of The SMART Editor.  You 
  204. may have sufficient experience with a previous version of The SMART Editor and 
  205. can immediately use the powerful features of this product. Otherwise, you may 
  206. wish to get a guided tour of the basic functionality of The SMART Editor by 
  207. starting in Chapter 4, "Getting Started - A Guided Tutorial". 
  208.  
  209. Instructions for the installation of this product is provided in Chapter 3, 
  210. "Installation".  An overview of The SMART Editor access to source code and help 
  211. is provided in Chapter 2, "HyperLinks". Chapter 7 "Utilities" will give you an 
  212. insight into the use of utility programs associated with The SMART Editor. If 
  213. you wish to use this technical manual as a quick reference to specific The 
  214. SMART Editor functions, Chapters 7, "How To...", and Chapter 8, "Tips and 
  215. Techniques" provide a direct, recipe style format to answer your questions in 
  216. getting maximum performance from The SMART Editor. 
  217.  
  218. The appendix of this manual contains a wealth of reference material.  Appendix 
  219. B, "Keys Reference" contains a reference sheet of accelerator keys. 
  220.  
  221. The context sensitive help available when you run The SMART Editor will provide 
  222. detail information on each menu function and dialog panel. 
  223.  
  224. The chapters of this document are listed below for your reference. 
  225.  
  226.          Chapter 1 - "Introduction" - A general description of the 
  227.       organization of this manual including chapter content and presentation 
  228.       conventions. 
  229.  
  230.          Chapter 2 - "HyperLinks" - An description of the numerous methods for 
  231.       accessing source code. Some attention is made to the difference in each 
  232.       of these methods. 
  233.  
  234.          Chapter 3 - "Installation" - The SMART Editor product installation 
  235.       considerations and some notes regarding the installation process are 
  236.       discussed in this chapter. 
  237.  
  238.          Chapter 4 - "Getting Started - A Guided Tutorial" - This chapter will 
  239.       provide you with an excellent chance to be come familiar with the major 
  240.       The SMART Editor Functions.  Please take the time to read and follow the 
  241.       guided tour presented in this chapter. 
  242.  
  243.          Chapter 5 - "Getting Help" - The SMART Editor provided three help 
  244.       systems.  The use of on-line help is explained in detail in this chapter. 
  245.  
  246.          Chapter 6 - "Utilities" - The utility programs SLSTART, and SLBuild 
  247.       are explained in this chapter. 
  248.  
  249.          Chapter 7 - "How To..." - A powerful chapter with direct 
  250.       explanations, in a cook book format, of the most useful features and 
  251.       processes of The SMART Editor.  These instruction packets are indexed for 
  252.       your direct access. 
  253.  
  254.          Chapter 8 - "Tips and Techniques" - Another powerful chapter with 
  255.       direct suggestions to improve your use of The SMART Editor. 
  256.  
  257.          Chapter 9 - "Macros"  - The Rexx Macro interface and The SMART Editor 
  258.       macro function calls are explained in this chapter. 
  259.  
  260.          Glossary of Terms - An alphabetical listing of The SMART Editor terms 
  261.       and their definitions. 
  262.  
  263.          Appendix A, "Specifications" - The SMART Editor Specifications. 
  264.  
  265.          Appendix B, "Keys reference" - A reference sheet containing all of 
  266.       the accelerator keys for the selection of menu items and functions. 
  267.  
  268.       Table of Contents 
  269.  
  270.  
  271. ΓòÉΓòÉΓòÉ 5. Chapter 2 - Hyperlinks ΓòÉΓòÉΓòÉ
  272.  
  273. Chapter 2 - Hyperlinks 
  274.  
  275. HyperLinks and Other Access Methods 
  276.  
  277. Definition: hyperlink (hi'per link) v. Extensive joining of similar subjects. 
  278. [Colloq.] rapidly navigating text material with mouse clicks on keywords. 
  279.  
  280. The eloquent power of SourceLink is most evident when you can select a keyword 
  281. with a mouse click and immediately display the source of references to the 
  282. keyword.  You can accomplish an involved task of locating, and reviewing all of 
  283. the occurrences of a particular variable with simple mouse clicks. 
  284.  
  285. SourceLink creates an integrated environment for finding, clipping, changing, 
  286. and analyzing source code over a large number of files. 
  287.  
  288. Lets explore the ways in which SourceLink provides you with a direct connection 
  289. to your source code. 
  290.  
  291.    When you mouse click on a word, the word automatically becomes the object 
  292. of a multi-file string search.  Select "Search" from the "More" menu, and 
  293. SourceLink will find all occurrences of the selected word throughout the path 
  294. and sub-directories that you have specified. SourceLink will automatically 
  295. display a list of the locations of the search string. 
  296.  
  297. Double click on any one of the locations displayed in the search list.  The 
  298. file represented by this location will be opened and displayed.  The search 
  299. string in question will appear at the top of your screen.  Continue to click on 
  300. each occurrence location and you will display every file where the search 
  301. string appears. 
  302.  
  303.    Click on a filename in any displayed text, and the file will automatically 
  304. be opened and displayed on your screen.  If the filename is followed by a line 
  305. number in parentheses, the file will be displayed at the specified line number. 
  306. Furthermore, if a column number follows the line number, SourceLink will 
  307. position the cursor at the specified column and select the word at the cursor. 
  308. This will work for compiler error messages, the "Find" file list, the function 
  309. definition list, and anywhere that a filename is displayed in an edit or 
  310. read-only window. 
  311.  
  312. Whenever you have a file list displayed, you can click on any one of the 
  313. filenames and display the file.  The SourceLink "Find" file function creates a 
  314. list of files found.  Compiler errors can be linked directly to their source 
  315. with a mouse double click. 
  316.  
  317.    Click on a directory path in any displayed text, and SourceLink will 
  318. automatically change directory to the specified path. 
  319.  
  320.    A complete hyperlink structure of your function definitions, references, 
  321. globals, #defines, and user selected keywords can be created by SourceLink. 
  322. Refer to Chapter 7, "How To..." topic "Create a Link Database" and "Use 
  323. HyperLink for Navigation" in this manual. During this process a Link database, 
  324. along with a "Function Call Tree", "Function Alphabetical Listing" and a 
  325. listing of "Functions within Source Modules", "Defines", Globals, "User 
  326. Specified Links" and "Dialog Templates" are created. 
  327.  
  328. Display any one of these files, click on a keyword or filename and you will 
  329. immediately be placed at the code identified by the reference. 
  330.  
  331. Hyperlinking through your source code is indeed a powerful and effortless 
  332. feature of SourceLink. You will certainly feel more connected to all of your 
  333. source code. 
  334.  
  335. Your Choice of Access Methods 
  336.  
  337. Your choice of the different access methods supported by SourceLink depends 
  338. upon your needs, how often the access is made, and the intended purpose of the 
  339. access. 
  340.  
  341. String Search 
  342.  
  343. If you need to find an isolated occurrence of a text string, not already in 
  344. your hyperlink database, the simplest method is to use the "Search" function 
  345. from the "More" menu bar.  If you have the text string already displayed in an 
  346. edit window: a single mouse click will automatically place the string in the 
  347. search window. 
  348.  
  349. Select the base path for the search and press "Ok". 
  350.  
  351. The results from this multi-file string search will be a display file 
  352. automatically placed on your screen.  Each found occurrence of the  search 
  353. string will be shown with the fully qualified filename and line number of the 
  354. find. 
  355.  
  356. Double click your mouse on any occurrence location and the source code for that 
  357. occurrence will be displayed. 
  358.  
  359. Go back to the search list display by pressing <Alt>+<B> or selecting "Back" 
  360. from the main menu bar.  If you have a three button mouse, the right (third) 
  361. button will activate the "Back" process.  Now you are in a position to double 
  362. click on another occurrence of the search string.  You can also use a split 
  363. window to perform these finds. 
  364.  
  365. By the way - if you have a disabled mouse you can manually select and link 
  366. text, as described in the previous paragraphs, by using the menu selections 
  367. "Select String" and "Link to Def (Filename)" in the "Edit" Menu. 
  368.  
  369. If the text strings to be found are in a single file, simply press <F5> or 
  370. select "Current Searches" under the "Edit" Menu.  These string searches operate 
  371. on the currently opened file. 
  372.  
  373. Opening files directly 
  374.  
  375. SourceLink understands filenames.  You can double click on a filename, and it 
  376. will be opened immediately! 
  377.  
  378. If the filename is followed by a line number and column number in parentheses, 
  379. the filename will be open at the specified line number and column.  This is the 
  380. case for the list of occurrences in the string search that was previously 
  381. discussed.  It will also appear in many other places. 
  382.  
  383. Compile Error Lists 
  384.  
  385. When you compile your programs, use a command file that will direct the error 
  386. list to a filename.  You can use SLSTART to send this file directly back to 
  387. SourceLink at the completion of the compile.  Many compilers use the 
  388. "filename(line_number)" format for their error listing. 
  389.  
  390. Double click on any error location (filename) and the file will be opened at 
  391. the reference line number.  Select "Back" to return to the error list and 
  392. proceed through all of the error items that you wish to view (or change). 
  393.  
  394. Find Files 
  395.  
  396. The "More" menu item "Find" performs file finds.  This serves as a directory 
  397. listing, with hyperlink capabilities.  You can specify date/time and/or 
  398. attribute parameters, and specify the root directory for the search.  When the 
  399. find is completed a list of files meeting the selection criteria is displayed. 
  400. Double-click on any one of the filenames, and the file will be opened. 
  401.  
  402. Tracks 
  403.  
  404. "Tracks", the menu item in "Ref", displays a list of filenames and location 
  405. line numbers where you have been for the last 35 places.  Double click on any 
  406. line item and - you guessed it - you will be placed back at this point in the 
  407. designated file. 
  408.  
  409. If you wish to save these tracks, you can use the clip file function  to save 
  410. the complete track file.  Place the clip file mode into append and select the 
  411. specific tracks that you wish to send to the clip file. 
  412.  
  413. At the end of any SourceLink session, your tracks file will automatically be 
  414. saved as LASTTRKS.LOG in the SLINK2 directory.  Open this file, double-click on 
  415. the desired files and they will be opened for a new session. 
  416.  
  417. HyperTracks 
  418.  
  419. As you double click to hyperlink you way though your source code, you are 
  420. laying down a HyperTrack.  At any point you can traverse this track, Backward 
  421. and Forward with the accelerator keys <Ctrl>+<B> and <Ctrl>+<F>. 
  422.  
  423. Files that you have opened, and not yet closed, are remembered by SourceLink 
  424. (up to the maximum number specified in the "Setup Options"). 
  425.  
  426. The files are listed as menu items at the bottom of the main "File" menu. Click 
  427. on any one of these files (menu items) and display this file  with the cursor 
  428. at the last location. 
  429.  
  430. Press <Alt>+<B> or select the main menu item "Back" and you will go back to the 
  431. last file displayed.  This is a useful tool for toggling between two files. 
  432.  
  433. Repeatedly pressing <Alt>+<-> or selecting "Circulate File Buffers" under the 
  434. main menu item "File" will walk you through all of the opened files.  (Note: 
  435. SourceLink does not hold a file open, but creates a buffer copy of the file for 
  436. access). 
  437.  
  438. Accessing Reference Files 
  439.  
  440. A whole list of files ready for immediate access is listed under the main menu 
  441. item "Ref". You can define your own favorite files to be placed in this list. 
  442.  
  443. Not all of the listed files may be available since they may not have even been 
  444. created yet. You can access the last "Find" files list, or the last string 
  445. "Search" list, and so on.  These files are stored in your SL_TEMP2 directory as 
  446. specified in CONFIG.SYS.  If you have used a ram disk for the TEMP2 directory, 
  447. some of the 
  448.  
  449. SourceLink created "Ref" files will not be available after you re-boot your 
  450. operating system. 
  451.  
  452. The reference files related to Linked Source (described below) contain many 
  453. references to filenames that can be double clicked for instant access. 
  454.  
  455. Linking Files and Accessing Source Keywords 
  456.  
  457. One of the most powerful features of SourceLink is the ability to link keywords 
  458. and elements of your source files.  You can build a database containing the 
  459. definitions and references in each of your applications for both 'C', C++ and 
  460. MASM source files. 
  461.  
  462. The detailed step instructions for this process is contained in Chapter 4, 
  463. "Getting Started - A Guided Tutorial" under the topic "Linking Files", and in 
  464. Chapter 6, "How To..." under the "Database Functions" topics. 
  465.  
  466. An introduction and overview for Linking Files is provided here. 
  467.  
  468. If you are learning program code, or you are tracing program function calls, or 
  469. you have a need for quickly accessing the source definitions or references of 
  470. functions, you will find SourceLink invaluable. 
  471.  
  472. Link Basics 
  473.  
  474. SourceLink will provide you with context sensitive hyperlinks to the function 
  475. definitions and references of function calls for the files of your choice.  The 
  476. functions may be defined in 'C', C++ or MASM source code.  The function 
  477. references may appear in any context such as an argument within another call 
  478. such as 
  479.  
  480. WinDlgBox(...). 
  481.  
  482. The link process consists of creating a file containing a list of all of the 
  483. source files to be 'linked' for a purpose (typically a single executable).  The 
  484. files to be linked do not have to be from the same directory.  The file 
  485. combination does not have to be compilable.  You may choose source code from a 
  486. part of an application and some source files from a library. 
  487.  
  488. The second step in this "Link" process is to build the link database and create 
  489. the link reports (display files). 
  490.  
  491. It is important to note that all of the Link database files and report files 
  492. created by SourceLink will be stored in the same directory that contains the 
  493. "List-of-Files" file that you created for a database. You may have only one 
  494. Link database per directory.  However you may create multiple directories, each 
  495. containing a different database to represent different versions of a set of 
  496. source files.  You can switch between different Link databases by specifying 
  497. the Link directory path with the menu item "Current DB Path" under the main 
  498. menu item "Link". 
  499.  
  500. Also note that the algorithm for locating function definitions assumes 
  501. traditional coding styles.  'C' and C++ coding allows for some unusual coding 
  502. styles that may cause difficulty in function definition location.  If you 
  503. discover a function not located by SourceLink during the Link process, you may 
  504. wish to change the definition line to a standard format.  Likewise, SourceLink 
  505. looks for a comment preceding the function definition line and assumes that 
  506. this comment relates to the following function.  Unfortunately the coding world 
  507. is not a simple, perfect place to classify and anticipate all possibilities. 
  508.  
  509. The database pointers to functions and function call references are accurate 
  510. only as long as the source code does not change.  If you are changing the files 
  511. that you have linked, eventually you will find that the access may be off by a 
  512. number of lines. 
  513.  
  514. At any time you can select an "Incremental Update" of the link database, or you 
  515. can rebuild the complete database.  After using SourceLink you will find, for 
  516. your own code, where the trade off in time will be for a complete re-build of 
  517. the Link database as opposed to using the incremental update.  The incremental 
  518. update function operates like a make file, scanning only those files that have 
  519. been changed since the last database build or update. 
  520.  
  521. Link Reports 
  522.  
  523. As a result of the Link database creation or update, a set of valuable reports 
  524. (display files) are created. 
  525.  
  526. The "Function Definition List" provides an alphabetical list of all functions 
  527. defined in the source files that are linked.  The location of each function 
  528. definition is shown as a filename, line number and column.  If you double click 
  529. on the location (Path), the source of the definition will be displayed.  You 
  530. can even locate a function in this list by using the current string search 
  531. (<F5>). 
  532.  
  533. The "Call Tree" will be a helpful start to assist you in the analysis of new 
  534. code.  The call tree root starts at the function that you specified in the 
  535. creation of this display.  Each function reference from this starting point is 
  536. traced in a tree structure. 
  537.  
  538. Both the location of the function reference, and the location of the definition 
  539. is provided in this display.  Duplicate branches are not retraced, but they are 
  540. referenced, having previously been traced. 
  541.  
  542. Note that in the "Call Tree" display, some compiler error lists, and other 
  543. reports, the fully qualified filenames are not provided - only the filenames 
  544. are given.  If you double-click on these filenames, SourceLink will look for 
  545. the file in the current directory.  Knowing this, you may need to change the 
  546. system current directory by selecting "File", "Open/New", and the appropriate 
  547. path, then "Cancel".  This procedure will set the current directory (assuming 
  548. you have chosen the "Directory Tracking" setup option). 
  549.  
  550. The "Module/Function List" provides a useful list of each function defined 
  551. within a source module. You can see at a glance the functions that are 
  552. contained in each of your source files. 
  553.  
  554. The "Unreferenced Functions List" list all functions that are defined but not 
  555. referenced in the source code. 
  556.  
  557. The "#define List" gives a list of all #define variables included in your 
  558. source.  For this reason you should include all header files related to your 
  559. project, but probably not system header files. 
  560.  
  561. The "Global List" provides a list of all globals. 
  562.  
  563. The "User Specified Link List" gives a list of all keywords matching the User 
  564. Specified Links. 
  565.  
  566. The "Dialog List" will highlight dialog templates if you have included .RC and 
  567. .DLG files in your Link Database build. 
  568.  
  569. Hyperlinking through Your Source Code 
  570.  
  571. Once you have linked the required source files into the SourceLink Link 
  572. database, you can mouse click your way through your source code. 
  573.  
  574. A double click with your left mouse button on any of the keywords included in 
  575. the hyperlink database will open the source file at the point of the 
  576. definition.  If there are multiple definitions, a list of the occurrences will 
  577. be displayed, then you can double click on the location of your choice. 
  578.  
  579. If you have selected "Link To Comment" in the setup options, your function 
  580. definition link will place you at the beginning of the comment preceding the 
  581. function definition.  Otherwise, you will be placed at the definition line of 
  582. the function. 
  583.  
  584. If you double click on a function name with your right button (or center button 
  585. with a three-button mouse) you will get a list displaying all references to the 
  586. keyword.  Double click on the location (filename, line number) for any 
  587. reference, and you will open the source file with the point of reference. 
  588.  
  589. Sailing through Your Source Code 
  590.  
  591. By using a combination of the methods described above, you can glide through 
  592. your source code with ease.  You are armed with a multitude of functions to 
  593. access your code: 
  594.  
  595.          Double click Function names. 
  596.          Double click Function references. 
  597.          Trace call logic through the "Current Call Tree". 
  598.          Find string locations across multiple files with "Search". 
  599.          Open files with a double click on the filename. 
  600.          Access compile errors by double clicking on the error location. 
  601.          Create a list of files with the "Find" function. 
  602.          Go back where you have been with "Tracks" and HyperTracks. 
  603.  
  604.  Create HyperLinked Documentation 
  605.  
  606.  There are no rules that say all hyperlinks must be program source code.  You 
  607.  may find it helpful to include your own text files that contain documentation 
  608.  and create hyperlink documents. 
  609.  
  610.  Peace of Mind 
  611.  
  612.  SourceLink not only provides you with the speed of directly accessing your 
  613.  source code, but also a freedom of movement about your code base.  You will 
  614.  feel more relaxed and confident in moving about, finding elements of your 
  615.  code, and accessing source code. 
  616.  
  617.       Table of Contents 
  618.  
  619.  
  620. ΓòÉΓòÉΓòÉ 6. Chapter 3 - Installation and Setup ΓòÉΓòÉΓòÉ
  621.  
  622. Chapter 3 - Installation and Setup 
  623.  
  624. The Installation and Setup Process 
  625.  
  626. The installation process will transfer the files for The SMART Editor to your 
  627. computer hard disk. You will have an opportunity to edit and make changes to 
  628. your CONFIG.SYS file.  The SMART Editor Installation program even has a 
  629. "Remove" procedure to remove all of the installed files for reinstallation or 
  630. product update. 
  631.  
  632. You will have the option to specify the installation drive and path.  You will 
  633. also have the option to verify or skip the installation of The SMART Editor 
  634. Icon and menu selection in the desktop menu group of your choice. 
  635.  
  636. Requirements 
  637.  
  638. The SMART Editor Installation requires approximately two megabytes of hard disk 
  639. storage. This includes approximately 90KB of storage for the sample files. This 
  640. does not include the storage required for each of The SMART Editor Link 
  641. database and report files which will result from your source file linkage.  It 
  642. will also not include the TEMP2 storage for runtime files created as a result 
  643. of file finds or string searches. 
  644.  
  645. We would highly recommend that you install The SMART Editor SAMPLE files and 
  646. proceed through Chapter 4, "Getting Started - A Guided Tutorial" in this 
  647. Technical Manual.  After the tour, you can delete the \SLINK2\SAMPLE directory 
  648. containing these files and get a chance to use The SMART Editor "Delete" 
  649. function, if you desire. 
  650.  
  651. Installing The SMART Editor 
  652.  
  653. The SMART Editor will be installed as part of The SMART installation process if 
  654. you have chosen The SMART Editor Installation Option. 
  655.  
  656. Configuring The SMART Editor with Setup Options 
  657.  
  658. At the completion of the installation process you have the opportunity to 
  659. launch The SMART Editor program. If you choose to do so, you will start The 
  660. SMART Editor, and display the README.NOW file supplied with the installation 
  661. programs. 
  662.  
  663. Initially you may wish to configure The SMART Editor setup options for your 
  664. specific preferences.  You may refer to a detailed description of the 
  665. configuration controls under the "Set Screen Colors", "Set Screen Font" and 
  666. "The SMART Editor Options" in Chapter 8, "Functional Reference". 
  667.  
  668. 1. Select "Options" from the main menu bar. (Press <ALT>+<O>.) 
  669.  
  670. 2. Select "Setup Options" from this menu. (Press letter <O>.) 
  671.  
  672. 3. The initial default options have already been set for you, however you may 
  673. change any of these initial setup options. 
  674.  
  675. 4. Select "Screen Colors" in the "Options" menu. 
  676.  
  677. 5. Set the foreground and background colors for the current file (README.NOW), 
  678. the default Read-Only files to be opened, and the Edit files to be opened. 
  679. Press "Save" after each color selection.  Press the "Return" push-button when 
  680. you have finished. 
  681.  
  682. 5. Select "Screen Font" in the "Options" menu. 
  683.  
  684. 6. Choose the font of your liking for all file displays. System VIO - Size 8-12 
  685. is the most popular and will display the "Function Call Tree" properly.  Press 
  686. "Save". 
  687.  
  688. 7. When you have finished setting the options, press "Ok" on the main Options 
  689. Panel. 
  690.  
  691. You are required to perform the setup for Insert/Overwrite Keyboard response. 
  692. Failure to set this option properly will cause inappropriate Undo and Redo 
  693. actions if your screen is in the overwrtite mode.  Various levels of OS/2 2.0 
  694. have different functionality related to this mode.  Some have all entry windows 
  695. follow a common Insert/Overwrite mode, while you may have all windows 
  696. independently controlled. 
  697.  
  698. At this time refer , "Functional Reference" to set the "Independent 
  699. Insert/Overwrite" switch in the Setup Options dialog panel.  This test is 
  700. repeated here for your convenience. 
  701.  
  702. First access the Setup Options Panel. 
  703.  
  704. 1. Select "Options" from the main menu bar. (Press <ALT>+<O>.) 
  705.  
  706. 2. Select "Setup Options" from this menu. (Press letter <O>.) 
  707.  
  708. When "Independent Insert/Overwrite" switch is checked, The SMART Editor will 
  709. correspond to the OS/2 system action where each window on the desktop has its 
  710. own insert/overwrite state. When this entry is not checked, the 
  711. insert/overwrite state is the same for all windows on the desktop. 
  712.  
  713. To determine which mode your version of OS/2 supports, do the following: 
  714.  
  715.           Enter text into the Startup Macro data entry box 
  716.           Enter text into the Closing Macro data entry box 
  717.           Press the Insert key in one of the data entry boxes 
  718.           Place the cursor in the other data entry box 
  719.           Note the results - if the state of the second data entry box changes 
  720.       to agree with the state of the first data entry box, then you do not have 
  721.       independent insert/overwrite windows, so do NOT check this box. If the 
  722.       state of the second data entry box does not change, then you do have 
  723.       independent insert/overwrite windows, so you must check this box. 
  724.  
  725.  This concludes the basic installation and initial configuration of The SMART 
  726.  Editor.  You may wish to proceed to Chapter 4, "Getting Started - A Guided 
  727.  Tutorial", for a guided, hands-on introduction to The SMART Editor. 
  728.  
  729.  Hiding Unused NDX Files 
  730.  
  731.  The .NDX files in the directory \SLINK2\HELPINDX provide the index access to 
  732.  the OS/2 Help Facility (Viewdoc).  This installation procedure may have 
  733.  provided you with a number of NDX files that are related to .INF help files 
  734.  that are not installed in you system. 
  735.  
  736.  You will save processing time and resources if you take the time to remove or 
  737.  hide the NDX files that you will not be using.  The filenames of the NDX files 
  738.  in \SLINK2\HELPINDX roughly correspond to the .INF file that each is indexing. 
  739.  Remove access to the unused files by simply renaming the files from xxx.NDX to 
  740.  xxx.NDY.  This will hide unused NDX files from processing by The SMART Editor. 
  741.  
  742.  Additional Installation Information 
  743.  
  744.  Installation files. 
  745.  
  746.        SLINK2.EXE - Primary The SMART Editor executable 
  747.        SLSTART.EXE - SLStart executable 
  748.        SLBUILD.EXE - Command line (batch) Link Database build program. 
  749.        SLINK2.HLP - Help for The SMART Editor 
  750.        SLINK2.INI - The SMART Editor Configuration file 
  751.        SLINK2DB.DLL - The SMART and SMART Editor DLL 
  752.        SLINK2DB.DBD - The SMART Editor Database Definition file 
  753.        README.NOW - Installation readme file 
  754.        INSTALL.EXE - Install executable (deleted at end of installation) 
  755.        SLINST.HLP - Install Help (deleted at end of installation) 
  756.  
  757.  Installation Directories and additional files. 
  758.  
  759.        \SLINK\SAMPLES - contains The SMART Editor sample files for tutorial. 
  760.        \HELPINDX - contains .NDX indexing files for Help access. 
  761.        \MACROS - contains system supplied REXX macro files 
  762.        \TEMP - contains system temporary and backup files 
  763.  
  764.  Required Environment Settings 
  765.  
  766.          SET PATH=path 
  767.           Path for SLStart executable 
  768.          SET BOOKSHELF=[Path1];[Path2]; 
  769.           Path for .INF Help files 
  770.          SET HELPFILES=[Path1]\*.HLP;[PATH2]\*.HLP... 
  771.           Path for any Microsoft QuickHelp help files (if installed) 
  772.  
  773.       Table of Contents 
  774.  
  775.  
  776. ΓòÉΓòÉΓòÉ 7. Chapter 4 - Getting Started ΓòÉΓòÉΓòÉ
  777.  
  778. Chapter 4 - Getting Started 
  779.  
  780. Introduction 
  781.  
  782. This guided tutorial will only take a few minutes of your time, but will 
  783. greatly improve your understanding of the functionality of The SMART Editor. 
  784. You will actually perform many of the primary The SMART Editor functions on the 
  785. set of sample files supplied with the installation of this product. 
  786.  
  787. Additional detailed information regarding the functions described in this 
  788. chapter are found elsewhere in this Technical Manual. 
  789.  
  790. Navigational Tips 
  791.  
  792. The SMART Editor generally conforms to the standard graphical control for 
  793. Presentation Manager (PM) applications.  The SMART Editor is also compliant 
  794. with the IBM System Application Architecture (SAA) and CUA guidelines.  If you 
  795. are familiar with the PM interface, you should have no difficulty navigating 
  796. about The SMART Editor. 
  797.  
  798. The SMART Editor makes extensive use of accelerator keys for control selection 
  799. and text manipulation.  Many of the menu items can be selected by using an 
  800. accelerator key sequence (eg. <ALT>+<P>) or simply using the standard PM 
  801. convention of typing the underscored letter within the menu item name (the 
  802. items in the main menu bar can be selected by first pressing the <ALT> key). 
  803. The accelerator keys for the menu items are shown on the menus.  The 
  804. accelerator keys for edit and text manipulation are shown in the "Keys Help" 
  805. section of the on-line "Help" for The SMART Editor (<Alt>,<H>,<K>), and listed 
  806. for your quick reference in Appendix B, "Keys Reference". 
  807.  
  808. You will find the following accelerator keys particularly helpful while viewing 
  809. and editing files: 
  810.  
  811. Accelerator Keys 
  812.  
  813.          Control+End - Go to end of file. 
  814.          Control+Home - Go to beginning of file. 
  815.          Keypad Plus(+) - Place selected text in paste buffer. 
  816.          Keypad Minus(-) - Cut selected text and place in paste buffer. 
  817.          Shift+Insert or (F12) - Insert text from paste buffer. 
  818.          F11 - Select the word at the cursor. 
  819.          ALT+O - Selection panel for file open. 
  820.          ALT+B - Return to last displayed file ("Back"). Also, 3rd button on a 
  821.       three button mouse.  On 2 button mouse hold left button down and press 
  822.       right button. 
  823.          F5 - String search in current file.  (The Current file is the file 
  824.       displayed on the screen.  If the screen is split, the Current file has 
  825.       the focus.) 
  826.          F6 - String replacement in the current file. 
  827.          ALT+W - Display an OS/2 command window. 
  828.          Control+A - Close all files. 
  829.          ALT+F4 - Close all files and minimize The SMART Editor. 
  830.          ALT+Esc - Switch to the previous OS/2 screen group or application. 
  831.          ALT+Q - Help Window (Microsoft QuickHelp, if installed). 
  832.          ALT+V - Context Sensitive IBM View Help (if installed). 
  833.          Control+V - Enter and view a help topic (View Help). 
  834.          F1 - The SMART Editor On-Line Help from any menu or dialog panel. 
  835.  
  836.  The SMART Editor On-Line Help 
  837.  
  838.  The extensive The SMART Editor Help facility is provided with this version of 
  839.  The SMART Editor.  You can access Help in several different ways. 
  840.  
  841.          You can browse through The SMART Editor Help by first selecting 
  842.       "Help" then "General Help" from the main menu bar or pressing <F1>.  If 
  843.       you select (double click) the highlighted help hyperlinks, you will be 
  844.       able to step through the help panels in the same way that you would step 
  845.       through The SMART Editor functions by selecting menu items. 
  846.          You can highlight a menu item and press <F1>.  To highlight a menu 
  847.       item: first press <ALT>, then use the arrow keys to position the 
  848.       highlight over the desired menu item. 
  849.          You can get Help from any dialog panel by pressing the "Help" 
  850.       push-button on the panel when it is in view, or by pressing <F1>. 
  851.          You can search through the Help Index using a keyword.  First select 
  852.       "Help Index" from the "Help" menu.  Select "Services" from the menu bar 
  853.       of the Help panel.  Select "Search" and enter the desired keyword into 
  854.       the entry box of the search panel. 
  855.  
  856.  The SMART Editor Help Facility is structured in the same pattern as the menu 
  857.  selection panels. This is to say - the File function help panels are described 
  858.  under the main topic "File", in the same way that the menu selection items are 
  859.  shown. 
  860.  
  861.  The "Keys Help" panel is particularly useful and is easily displayed by 
  862.  selecting "Keys Help" under the "Help" menu. 
  863.  
  864.  You can display prior panels of your help display by pressing <Esc>.  You will 
  865.  exit the on-line help by pressing <Esc> when there are no more previous 
  866.  panels. 
  867.  
  868.  Displaying Files 
  869.  
  870.  You most likely opened The SMART Editor with the installation README.NOW file. 
  871.  Now lets open a couple of other files and browse through your set of sample 
  872.  files. 
  873.  
  874.       1. Select "Open/New" from the "File" menu, or simply press <ALT>+<O>. 
  875.       2. Double click on the file named LINK.C in the directory 
  876.       SMART\SAMPLES\SLINK. 
  877.       3. Now select "Open/New" from the "File" menu again (<ALT>+<O>). 
  878.       4. This time check "Open-Read Only" and double click on the file named 
  879.       LINKXR.C in the \SMART\SAMPLES\SLINK directory. 
  880.  
  881.  You now have three files opened 
  882.  
  883.  Press <ALT>+<F> to pull down the main "File" menu.  Note that the three files 
  884.  that you opened are listed at the bottom of this menu. 
  885.  
  886.  The current file title information is show at the top of the application in 
  887.  the title bar space.  The line number is shown in the status window at the 
  888.  lower left corner of The SMART Editor.  (The column number can be displayed if 
  889.  desired, by choosing the proper option in the "Options" "Setup Options" 
  890.  panel). 
  891.  
  892.  Press <ALT>+<B> (or select "Back" under the "More" menu) to display the last 
  893.  previously displayed file.  Alternately pressing <ALT>+<B> will toggle the 
  894.  display between two files.  If you have a three buttoned mouse you can use the 
  895.  third button to perform this task, or chord the buttons on a two button mouse. 
  896.  
  897.  Now let's display multiple files on your screen. 
  898.  
  899.  Split Screen 
  900.  
  901.  Select "More" from the main menu bar. Select "Window Configuration".  Select 
  902.  one of the split formats, and watch as the screen splits into two display 
  903.  areas.  The current (or active) window has the focus, and can be set active by 
  904.  simply clicking on the display area with your mouse (left button). 
  905.  
  906.  To display one of the other files that you have available, simply press 
  907.  <ALT>,<F> to pull down the "File" menu, then press one of the numbers that 
  908.  represents any one of the files.  (The current file is always number 1.) You 
  909.  can also place a new file on the split screen by pressing <ALT>+<O> ("File 
  910.  Open/New") and selecting another file to open. 
  911.  
  912.  Now lets go back to a single file display.  Select "More" from the main menu 
  913.  bar.  Select "Window Configuration". Choose the full screen format (the first 
  914.  item in this menu). 
  915.  
  916.  Text Manipulation 
  917.  
  918.  The following steps will provide you with an introduction to the text 
  919.  manipulation controls. Additional controls will be explored in the "Edit" 
  920.  section of this chapter. 
  921.  
  922.       1. Go to the end of the displayed file by pressing <Ctrl>+<END>. 
  923.       2. Go back to the beginning by pressing <Ctrl>+<HOME>. 
  924.       3. Scroll up and down by pressing <PageDown>, <PageUp>, or by using the 
  925.       up and down Arrow keys. 
  926.       4. Advance forward or backward a word at a time by pressing 
  927.       <Ctrl>+<ARROW>. 
  928.       5. End-of-line is found by pressing <END>. 
  929.  
  930.  After you have finished browsing through the files that you opened, close all 
  931.  of the files by selecting "Close ALL Files" from the "File" menu, or simply 
  932.  press <Ctrl>+<A>.  Alternatively, you can close selected files by using "File 
  933.  Housekeeping" from the "File" menu, or closing each file as it is displayed 
  934.  using "Close Current File" from the "File" menu. 
  935.  
  936.  String Searches 
  937.  
  938.  String searches are a breeze with The SMART Editor.  Simply click on the word 
  939.  to be searched and select "Search" under the "More" menu (press <Alt>+<S>). 
  940.  Set the base search directory path, the file specification to search, and 
  941.  press "Ok".  The SMART Editor will search all specified files and return with 
  942.  a display listing of all occurrences of the string. 
  943.  
  944.  You can click on the location (path,filename,line number) identified with any 
  945.  one of the string locations and The SMART Editor will immediately open the 
  946.  file at the search string location. 
  947.  
  948.  Let's try an example, now. 
  949.  
  950.       1. Open and display LINK.C in \SMART\SAMPLES\SLINK. 
  951.       2. Locate "WinDlgBox" as follows: 
  952.        a. Press <F5> (Current file string search). 
  953.        b. Type WinDlgBox in the entry box. 
  954.        c. Press "Ok". 
  955.       3. Select the phrase "WinDlgBox" displayed at the top of the display 
  956.       screen by clicking once with your mouse on any letter in this phrase. 
  957.       4. Select "Multi-File String Search" under "More", or simply press 
  958.       <ALT>+<S>. 
  959.       5. Note that "WinDlgBox" has automatically been entered as your search 
  960.       string.  You could have come directly here and typed the search string 
  961.       into the entry box. 
  962.       6. Select the \SMART\SAMPLES\SLINK base path from the "Directories" list 
  963.       box. 
  964.       7. Press "Ok" to start the search. 
  965.       8. At the completion of the search, a list of the findings will be 
  966.       displayed on your screen. Note that each listed item contains the 
  967.       location of the occurrence. 
  968.       9. Double click on any one of the locations (path,filename,line number, 
  969.       column number) to display the source code.  Be sure and click on the text 
  970.       string between the drive designator and the file extension (between ':' 
  971.       and '.') 
  972.       10.  Press <ALT>+<B> to return to the search listing after you have 
  973.       displayed the file containing the search string occurrence. 
  974.       11.  You can also use the split screen format to display the search list 
  975.       on one part of your screen, and the files containing the search string on 
  976.       the other part of the screen. 
  977.  
  978.  Finding Files 
  979.  
  980.  The SMART Editor "Find" file function provides you with a direct approach in 
  981.  locating and browsing files.  This The SMART Editor feature contains the file 
  982.  hyperlink capability as described previously, with many additional 
  983.  capabilities. 
  984.  
  985.          You can specify wildcards within filenames. 
  986.          You can qualify the search starting at a specific directory. 
  987.          You can specify time stamp parameters to extract files within a given 
  988.       time frame. 
  989.  
  990.  The "Find" file process begins by selecting "Find" from the "More" menu, or by 
  991.  pressing <ALT>+<N>. 
  992.  
  993.       1. Select the base directory \SMART\SAMPLES\SLINK from the "Directories" 
  994.       list box, or type this directory into the "Base Dir:" entry box. 
  995.       2. Note that the "Enter file to find:" entry box contains "*.*".  If you 
  996.       wish to find only the "C" files in this directory, type "*.C" into this 
  997.       box or press the "*.C" push-button. 
  998.       3. Press the "Find" pushbutton to start the process. 
  999.       4. At the completion of finding all of the files indicated in the file 
  1000.       specification, a list of the files found will be displayed on your 
  1001.       screen. 
  1002.       5. Double click on any filename to display the file. 
  1003.       6. Press <ALT>+<B> after you have the file displayed to return to the 
  1004.       files list, or press the third button on your mouse. 
  1005.  
  1006.  Next time, if you wish to set time or attribute parameters on your file find, 
  1007.  press the "Parameters" pushbutton to display a "Parameters" dialog panel to 
  1008.  set your specifications. 
  1009.  
  1010.  Linking Files 
  1011.  
  1012.  One of the most powerful features of The SMART Editor is the ability to mouse 
  1013.  click through your source code using the hyperlink features of The SMART 
  1014.  Editor. 
  1015.  
  1016.  In order for The SMART Editor to know the structure of your source code, you 
  1017.  must first create a Link data base of your code.  This linkage is performed in 
  1018.  two simple steps. 
  1019.  
  1020.       1. Specify the files to be linked. 
  1021.       2. Scan and build the Link data base. 
  1022.  
  1023.  Once this linkage is created, you will be able to view the documentation 
  1024.  reports, including a display of your "Call Tree", that will be automatically 
  1025.  generated as part of the linkage process. 
  1026.  
  1027.  You will also be able to click on a function name in your source code and be 
  1028.  able to immediately display the source file where this function is defined. 
  1029.  You can click on a function name and have all locations of the reference for 
  1030.  this function displayed on your screen.  Mouse clicking each reference item 
  1031.  location will display the source code for the reference. 
  1032.  
  1033.  A link data base can be created for many different applications.  Each data 
  1034.  base will be stored along with the documentation reports in a directory of 
  1035.  your choice.  Where ever you create the "List of Files" file, so will be 
  1036.  placed all of the system generated files of the linkage. 
  1037.  
  1038.  The following steps will create a link data base for The SMART Editor sample 
  1039.  application. 
  1040.  
  1041.  Please Note: The sample files do not represent any workable program, or 
  1042.  application and will not compile.  The files are for demonstration purposes 
  1043.  only. 
  1044.  
  1045.  Let's build a link data base of your sample files. 
  1046.  
  1047.  Creating a Files List 
  1048.  
  1049.       1. Select "Link" from the main menu bar. 
  1050.       2. Select "Maintain a list of Files..." from this menu. 
  1051.       3. When the "List of Files" dialog panel appears, select the 
  1052.       SMART\SAMPLES\SLINK directory. Then type LINK.LST into the entry box 
  1053.       labeled "File". 
  1054.       4. Press "Ok". 
  1055.       5. Since this file is new, you will be asked to verify a creation of this 
  1056.       new file.  Say "Ok". 
  1057.       6. At this point, an empty "Files List" panel will appear. 
  1058.       7. We wish to add file names to this list, so press the "Add" pushbutton 
  1059.       on this panel. 
  1060.       8. A new file selection box will appear for adding files to our list. 
  1061.       9. Select the SMART\SAMPLES\SLINK directory from the directory list box. 
  1062.       10.  Press the "*.C" pushbutton to display all of the "C" source files in 
  1063.       this directory. 
  1064.       11.  Press the "Select ALL" pushbutton, then press "Add" from this panel 
  1065.       to add all of the "C" files to your list.  (Don't be concerned about 
  1066.       adding the same file twice.  The SMART Editor will check and prevent this 
  1067.       condition.) 
  1068.       12.  Now lets pick up the assembly language file, the header file (.H) 
  1069.       and the resource file (.RC).  Press the "*.*" pushbutton. 
  1070.       13.  Mouse click on the file named LINK.ASM, LINK.H and LINK.RC.  These 
  1071.       filenames will appear in the "File" entry box of this panel. 
  1072.       14.  Press the "Add" pushbutton to add these files to the "List of 
  1073.       Files". 
  1074.       15.  Now that we are finished, press the "Close" pushbutton. 
  1075.       16.  If you like the "List of Files" that is displayed, press the "Store" 
  1076.       pushbutton on the "Files List" panel.  If you would like to make any 
  1077.       changes you can use the "Delete", "Delete ALL", or "Add" functions from 
  1078.       this panel. 
  1079.  
  1080.  Back to the main screen of The SMART Editor we will continue our link process, 
  1081.  proceeding to the second phase of our process. 
  1082.  
  1083.  Creating the Link 
  1084.  
  1085.       1. Select "Link" from the main menu. 
  1086.       2. At this point we are ready to create the Link data base.  If you think 
  1087.       that the source code to be linked has any #ifdef conditional 
  1088.       statements, then you can select "Create DB (w/#ifdef)" from the "Link" 
  1089.       menu.  If no ifdefs exist, then choose "Create The SMART Editor DB" from 
  1090.       the "Link" menu.  Your sample code has #ifdefines.  Select "Create DB 
  1091.       (w/#ifdef)". 
  1092.       3. Initially you will be requested to specify which "List of Files" you 
  1093.       want to link from. Since we just created a list, it will be suggested as 
  1094.       the list in the "File" entry box.  If you are re-creating an existing 
  1095.       Link base, you will need to enter the specific "List of Files" file that 
  1096.       is appropriate. 
  1097.       4. Press "Ok" to start the creation process. 
  1098.       5. Since you chose "Create with ifdefs", The SMART Editor will first scan 
  1099.       for all #ifdefs. When complete, a panel of ifdefs will be displayed for 
  1100.       you. 
  1101.       6. Set the "OPEN" definition to a "1" as follows: 
  1102.        a. Select the symbol "OPEN" in the list box. 
  1103.        b. Press the pushbutton labelled "Set Selected To the Defined Value" 
  1104.       (the default is 1). 
  1105.        c. Press "Ok". 
  1106.       7. A link option panel will be displayed now.  Select all link options. 
  1107.       8. Now the link creation will proceed through two scan passes and inform 
  1108.       you of its progress. 
  1109.       9. At the completion of the Link creation, a set of display reports will 
  1110.       be automatically generated.  (We will view these later). 
  1111.       10.  After the call tree is scaled, and the "Call Tree" report file is 
  1112.       completed, you are finished with the Link process. 
  1113.  
  1114.  Reference Files 
  1115.  
  1116.  The menu item under the main menu bar selection "Ref" provides immediate 
  1117.  access to a number of The SMART Editor system created files.  There is even an 
  1118.  opportunity for you to register your own favorite files for easy access. 
  1119.  
  1120.  Any one of the files listed on this menu can be accessed by pressing the 
  1121.  access keys: <ALT>,<R>,(and the identifier of the file in the menu: 1 through 
  1122.  H). 
  1123.  
  1124.  Let's start by browsing through one of the Link reports that we just created 
  1125.  during our linkage process. 
  1126.  
  1127.  Select the "Call Tree" under the "Ref" main menu.  The function call tree for 
  1128.  the sample files will appear on your screen.  We will come back to this tree a 
  1129.  bit later. 
  1130.  
  1131.  Now select the "Function Definitions List" under "Other Link Displays".  This 
  1132.  will display an alphabetical list of all of the functions defined in our 
  1133.  sample source code. 
  1134.  
  1135.  Please note the format of the entries.  The function name is followed by the 
  1136.  fully qualified path and filename of the file that contains the definition of 
  1137.  the function.  The number in brackets is the line number and column number of 
  1138.  the function definition.  This format is our standard hyperlink file format. 
  1139.  
  1140.  Now to use The SMART Editor hyperlink connection. 
  1141.  
  1142.  Using the hyperlink feature 
  1143.  
  1144.  If you will double click (left mouse button) on the function name, The SMART 
  1145.  Editor will link you directly to the definition of the function.  If you 
  1146.  double click on the path and filename, The SMART Editor will open the file at 
  1147.  the line specified. 
  1148.  
  1149.  Go ahead, double click on the function name "Changeling".  Note that the file 
  1150.  opened at the comment preceding the function definition.  It did so because we 
  1151.  chose this setup option, otherwise it would have been opened at the function 
  1152.  definition line. 
  1153.  
  1154.  Now go back to the function list (press <ALT>+<B>). 
  1155.  
  1156.  This time double click with your right (or center) mouse button on the 
  1157.  function "Editor".  The double mouse click with the right button will display 
  1158.  a list of all references of the function in our source code. 
  1159.  
  1160.  Please note that the format of the list of references includes the path, 
  1161.  filename, and line number of the reference.  Now you can double click on any 
  1162.  one of the filenames with the left mouse button an immediately display the 
  1163.  point of reference.  Press <ALT>+<B> to return back to the reference list 
  1164.  after each display. 
  1165.  
  1166.  Let's go back to the "Call Tree Report".  Press <ALT>,<R>,<8>. 
  1167.  
  1168.  Again you will note that the filename with line numbers are indicated for each 
  1169.  function.  The filename with the "*" is the location of the definition, the 
  1170.  other filename identified the place where the function was invoked.  Since the 
  1171.  fully qualified file name is not given, the file must be in the current path 
  1172.  in order to double click on each file name to display the source code. 
  1173.  
  1174.  You can set the current directory by pressing <ALT>+<O> and selecting a 
  1175.  directory path, and then press "Cancel". 
  1176.  
  1177.  You can always double click on any function name in this call tree to display 
  1178.  either the definition or the references of the function.  Click on several 
  1179.  function names and display the source code.  (Remember, you can return to this 
  1180.  display after each selection by pressing <ALT>+<B>.) 
  1181.  
  1182.  Would you like to know where you have been? Select the "Tracks" menu item in 
  1183.  "Ref" (or simply press <ALT>,<R>,<6>). 
  1184.  
  1185.  What you see are your "Tracks"; a list of items that represents the place in 
  1186.  each file when you switched to another display.  Its no surprise that the 
  1187.  format of these tracks allows us to double click on any one of the lines to 
  1188.  place ourselves back where we came from. 
  1189.  
  1190.  Before we leave this reference section, please note that you can register your 
  1191.  own favorite files in the place of A through H by simply selecting "Define 
  1192.  Files Ahoy..." and completing the information in the dialog panel which will 
  1193.  appear. 
  1194.  
  1195.  Editing Files 
  1196.  
  1197.  The SMART Editor contains many standard editing functions, along with a number 
  1198.  of powerful, and a few unique features in both the "Edit" and "More" menus. 
  1199.  We will only take a moment to highlight a few of these features. 
  1200.  
  1201.  An edit event in The SMART Editor is defined as either a text insertion or 
  1202.  text deletion.  The object can be a character, a character string, or a file. 
  1203.  The SMART Editor tracks your edit events (up to 254 for each file that you 
  1204.  have opened.) You may undo or "redo an undo" for any one of the last edit 
  1205.  events up until you last saved your file , or until the maximum number of 
  1206.  undos was reached. 
  1207.  
  1208.  To perform a single undo, press <ALT>+<U>; or select "Undo" under the "Edit" 
  1209.  menu.  If you decide that you want to "undo the undo" or redo the last undo, 
  1210.  press <Ctrl>+<U>. 
  1211.  
  1212.  If you want to run through a series of undos and redos, select "Undo/Redo 
  1213.  Multiple..." from the "Edit" menu.  A dialog panel will appear.  With this 
  1214.  panel you can see the number of operations that are available, and you can use 
  1215.  the slider to perform multiple undos and redos. 
  1216.  
  1217.  Brace Finding 
  1218.  
  1219.  The "'C' Braces" functions provide you with three opportunities to help locate 
  1220.  matching braces with "C" source code.  Let try an example. 
  1221.  
  1222.       1. Open and display the file LINKFILE.C.  (Press <ALT>+<O>, then select 
  1223.       LINKFILE.C in the directory SMART\SAMPLES\SLINK). 
  1224.       2. Goto line "162" by pressing <ALT>+<G>, then enter 162 in the dialog 
  1225.       panel which appears. Press "Ok" to complete this process. 
  1226.       3. Select a cursor position between the two braces at line 159 and 169 by 
  1227.       simply mouse clicking on any text between these two lines. 
  1228.       4. To select the text bounded by the braces for the code surrounding the 
  1229.       current cursor position; select "'C' Braces" under the "Edit" menu; then 
  1230.       select "Braces", then "Select Braced Code" or just press <Sft>+<F8>. 
  1231.       5. The braced code is now selected.  Note very carefully that the cursor 
  1232.       is now on the outside of the lower brace (and may be somewhat difficult 
  1233.       to see blinking). 
  1234.       6. If you perform step (4) again, you will be selecting the next outer 
  1235.       set of braces, since the cursor in now outside the inner brace set.  Go 
  1236.       ahead, select this braced text.  (<Sft>+<F8>). (Please note that brace 
  1237.       finding is a relatively slow process to locate if the braces cover a 
  1238.       great number of code lines). 
  1239.  
  1240.  Clip File Functions 
  1241.  
  1242.  The SMART Editor Clip File functions provide you with the tools to capture, 
  1243.  save, and manipulate multiple paste buffers.  Clip files are stored on disk 
  1244.  and provide a nonvolatile means of storing small sections of source code. 
  1245.  
  1246.  You can use the clip functions to create a library of source code snippets; 
  1247.  saving your favorite pieces of code for quick reference. 
  1248.  
  1249.  The "CLIP" menu lists an assortment of functions to cut, paste, and name clip 
  1250.  files. 
  1251.  
  1252.  Before you use a clip file function for the first time, you should make sure 
  1253.  that the current clip filename is what you intend.  When you install The SMART 
  1254.  Editor, the clip file was named and placed in your TEMP directory. 
  1255.  
  1256.  Naming the Clip File 
  1257.  
  1258.  You can set the clip file name as follows: 
  1259.  
  1260.       1. Select "Rename Clip File..." from the "Clip" menu, or press 
  1261.       <Alt>,<I>,<D>. 
  1262.       2. Enter the fully qualified name of your new clip file, or press the 
  1263.       "Select" pushbutton to select an existing filename. 
  1264.       3. Press "Ok" to complete the transaction. 
  1265.  
  1266.  You can rename the clip file at any time.  You may wish to use a filename in 
  1267.  the TEMP directory in order to use the clip file as a temporary buffer.  The 
  1268.  clip file can be useful as an interface between other applications that create 
  1269.  paste files such as Microsoft's QuickHelp and the OS/2 Presentation Manager 
  1270.  Help facility.  All you will need to do is to coordinate the output paste 
  1271.  filename of the application with the filename of The SMART Editor Clip File. 
  1272.  
  1273.  More Functions 
  1274.  
  1275.  The SMART Editor "More" functions consist of an assortment of tools. 
  1276.  
  1277.  The following paragraphs will cover the use of several of the functions found 
  1278.  on this menu. 
  1279.  
  1280.  Sync Scroll 
  1281.  
  1282.  "Sync Scroll" is a useful feature to provide you with the capability of easily 
  1283.  comparing two files.  After you split the display screen and open two files, 
  1284.  you can lock their vertical scroll bars such that a movement in the designated 
  1285.  master file will create an automatic movement in the other file. 
  1286.  
  1287.  Let's watch this feature in action. 
  1288.  
  1289.       1. Select "More" then "Window Configuration" from the main menu bar. 
  1290.       2. Select on of the split screen formats.  Choose the vertical split for 
  1291.       this demonstration. (Fifth from the top in this menu). 
  1292.       3. Open the file LINK.C. 
  1293.       4. Open the file LINKFILE.C. 
  1294.       5. Both files should be present on your screen; side by side. 
  1295.       6. Now designate the "master" file by clicking on the text area.  Let's 
  1296.       use the left file as the master. 
  1297.       7. Select "Sync Scroll" from the "More" and "Window Control" menu. 
  1298.  
  1299.  The two file displays are now locked together.  When ever you change the 
  1300.  display position in the master file (left) the other file (right) will move 
  1301.  accordingly.  Try <PageDown>, or move the elevator box within the scroll bar 
  1302.  and watch the position movement. 
  1303.  
  1304.  If you what to display the line number of any line, simple mouse down on the 
  1305.  line and the line number will be shown in the status window. 
  1306.  
  1307.  Please note that any movement in the master file effects a corresponding 
  1308.  movement in the other file.  The reverse is not true.  If you wish to 
  1309.  reposition the corresponding displays, you can move the other file independent 
  1310.  of the master.  With the focus on the right file (mouse down on the right 
  1311.  file), press <PageDown>.  Note that the master file was not repositioned. 
  1312.  
  1313.  Before you leave this display, make sure that you have released the scroll 
  1314.  synchronization. Select "Sync Scroll".  If you forget to release this 
  1315.  synchronization, you will continue to lock the two displays together 
  1316.  throughout this session. 
  1317.  
  1318.  Copying Files 
  1319.  
  1320.  A number of powerful functions have been incorporated into The SMART Editor 
  1321.  "Copy" Function. 
  1322.  
  1323.          You can select multiple files, even subdirectories to copy from. 
  1324.          The SMART Editor will automatically create the sub-directories during 
  1325.       the copy process. 
  1326.          You will be notified when a floppy disk is full.  Simply insert an 
  1327.       empty floppy and the copy process will continue. 
  1328.          You can set time parameters for your copy.  The date stamp on each 
  1329.       file to copy is checked against your settings.  Incremental transfers are 
  1330.       easy. 
  1331.          You can choose to move your files and sub-directories to reorganize 
  1332.       you hard disk. 
  1333.          You can even create new directories from this The SMART Editor 
  1334.       function. 
  1335.  
  1336.  To access the "Copy" function, simply select "Copy File(s)" under "More" or 
  1337.  press <ALT>+<C>. 
  1338.  
  1339.  The Copy dialog panel is separated into Source file specification and 
  1340.  Destination file specification. 
  1341.  
  1342.          You can simply type a filename to copy "from" and a filename to copy 
  1343.       "to", for a single file copy. 
  1344.          You can select a number of files from a directory and copy these 
  1345.       files to a destination directory. 
  1346.          You can specify a file set with wildcards, and copy all files 
  1347.       matching the wild card specifications to a destination directory. 
  1348.          You can specify that files in all sub-directories of the base 
  1349.       directory be copied also. In this case equivalent sub-directories below 
  1350.       the destination directory will be automatically created. 
  1351.          You can create a new directory by simply typing the directory name 
  1352.       into the Copy "To" file entry box and pressing the "Mk Dir" pushbutton. 
  1353.       This new directory will be a subdirectory of the path shown as "TO" 
  1354.       "Dir:". 
  1355.  
  1356.  Copy "C" Samples 
  1357.  
  1358.  Let's create a temporary sub-directory and copy the sample files. 
  1359.  
  1360.       1. Select the "Copy File(s)" function from the "More" menu, or press 
  1361.       <ALT>+<C>. 
  1362.       2. Select the drive and path for the "From" specification to be 
  1363.       \SMART\SAMPLES\SLINK using the "From" directories list box. 
  1364.       3. Press the "*.C" pushbutton, since we are only interested in restoring 
  1365.       the "C" files from the floppy. 
  1366.       4. Select the drive and path for the "To" directory specification to be 
  1367.       \SMART\SAMPLES\SLINK. 
  1368.       5. Create a new sub-directory by typing "Copyfile" in the entry field 
  1369.       labelled "TO File:".  Next, press "Make Dir." to make this new directory. 
  1370.       Notice that The SMART Editor automatically placed you in this directory, 
  1371.       ready to complete the copy process. 
  1372.       6. Press the "Copy" pushbutton. 
  1373.  
  1374.  As you can see there are many, many selection capabilities that can be chosen 
  1375.  from this panel. This function is very powerful, and easy to use once you 
  1376.  become acquainted with the controls. 
  1377.  
  1378.  Deleting Files and Directories 
  1379.  
  1380.  The file and directory delete functionality of The SMART Editor can make 
  1381.  cleaning your hard drive and getting rid of unused files very easy. 
  1382.  
  1383.  Essentially you can delete a single file or a selected group of files.  You 
  1384.  can delete with wildcard specification.  You can even delete files in the base 
  1385.  directory and its sub-directories. During this process, you may also remove 
  1386.  the sub-directories and even the base directory itself. You can clean house 
  1387.  with The SMART Editor. 
  1388.  
  1389.  There are a number of verification checks along the way to help prevent you 
  1390.  from deleting files that you wish to save.  However, you still must   R-E-A-D 
  1391.  the notices and respond accordingly. 
  1392.  
  1393.  Let's delete the "C" files in the SMART\SAMPLES\SLINK\COPYFILE directory that 
  1394.  we just created. 
  1395.  
  1396.       1. Select "Delete File(s)" under "More", or press <ALT>+<D>. 
  1397.       2. Select \SMART\SAMPLES\SLINK\COPYFILE from the directories list box. 
  1398.       3. Check the checkbox labelled "Remove THIS Directory".  This option will 
  1399.       remove all files and remove the directory header. 
  1400.       4. When you are ready, press the "Delete" pushbutton. 
  1401.       5. You will be asked to verify this delete process; just in case you 
  1402.       pressed "Delete" and changed your mind. Read these advisory panels very 
  1403.       carefully, and response with the appropriate answer or response. 
  1404.       6. During the "Delete" process you will be advised of the files being 
  1405.       deleted, and you can note the amount of drive space that is available as 
  1406.       a result of removing the files. 
  1407.  
  1408.  Spawn an external Process 
  1409.  
  1410.  You can use the "Start" functions to spawn a compile or run an executable 
  1411.  program, or command file. 
  1412.  
  1413.  Let's simulate a compile and send the resulting error list back to The SMART 
  1414.  Editor. 
  1415.  
  1416.          Select "Define Menu Item" under "Start". 
  1417.          "Press "Add". 
  1418.          Enter "SLStart Test" in "Menu Item Legend". 
  1419.          Enter "SLSTART.EXE" in "Enter Filename ...". 
  1420.          Type "\SMART\SAMPLES\SLINK\MAK.ERR" in arguments. 
  1421.          Uncheck "Command File". (SLSTART is an executable). 
  1422.          Press "Ok". 
  1423.          Press "Ok" at the "Command Menu Item" dialog panel. 
  1424.  
  1425.  When you are ready to create a command file for compiling your programs, you 
  1426.  will want to prepare a file that is similar to the following: 
  1427.  
  1428.       CD C:\MYDIR
  1429.      NMAKE MYAPP.EXE > MAK.ERR
  1430.      SLSTART MAK.ERR
  1431.  
  1432.  Now you can register this command file under "Start" and assign an accelerator 
  1433.  key for spawning your compile. 
  1434.  
  1435.  Going back to our simple SlStart test, select "SLStart Test" as a menu item 
  1436.  under "Start". 
  1437.  
  1438.  SlStart will pass the "MAK.ERR" filename to The SMART Editor and you will see 
  1439.  a "Files Waiting" notice on the main title bar of The SMART Editor. 
  1440.  
  1441.  Press <F10> to open the file.  Note that if the screen was blank and you were 
  1442.  not in a The SMART Editor process, The SMART Editor would have automatically 
  1443.  opened this file (Refer to the "Auto Open Waiting (if Free) option under the 
  1444.  "Options" menu). 
  1445.  
  1446.  Using Help 
  1447.  
  1448.  The SMART Editor contains three help facilities: 
  1449.  
  1450.       1. The SMART Editor on-line help. 
  1451.       2. View help (provided with OS/2 1.3 and 2.0). 
  1452.       3. Help window.  This feature will support an OS/2 window which you can 
  1453.       install a number of other help systems including Microsoft QuickHelp. 
  1454.  
  1455.  All three facilities are context sensitive. 
  1456.  
  1457.  Without going into a great deal of detail at this time (These facilities are 
  1458.  fully documented in the Chapter 7, "Getting Help"), let's use the View Help. 
  1459.  
  1460.       1. Select "Enter View Help..." from the "Help" main menu bar or simply 
  1461.       press <Ctrl>+<V>. 
  1462.       2. Type a topic name such as "Copy".  If you had clicked on a topic in a 
  1463.       file display, the topic would automatically appear here. 
  1464.       3. Press "Lookup". 
  1465.  Help for this topic will appear over your The SMART Editor application 
  1466.  display.  Press <ALT>+<F4> to close this help session, or press <ALT>+<F9> to 
  1467.  minimize the help facility for future reference. 
  1468.       4. If The SMART Editor find more that one Help file with your specified 
  1469.       topic, a list box will be displayed for your choice of files. 
  1470.  
  1471.  If you would like detailed information regarding the three help facilities 
  1472.  supported by The SMART Editor, go to Chapter 7, "Getting Help". 
  1473.  
  1474.  Tour Complete 
  1475.  
  1476.  This concludes the guided tour of The SMART Editor.  The next chapter, 
  1477.  Chapter 7 and 8, "How To ...",  will provide you with advanced hints and tips 
  1478.  in the use of The SMART Editor. 
  1479.  
  1480.       Table of Contents 
  1481.  
  1482.  
  1483. ΓòÉΓòÉΓòÉ 8. Chapter 5 - Using Help ΓòÉΓòÉΓòÉ
  1484.  
  1485. Chapter 5 - Using Help 
  1486.  
  1487. On-Line Help 
  1488.  
  1489. The SMART Editor supports three help facilities: 
  1490.  
  1491.          The The SMART Editor application on-line help. 
  1492.          ViewHelp - a general on-line help system supplied with the OS/2 
  1493.       operating system. 
  1494.          A general help window created as a child process of The SMART Editor. 
  1495.       You may start Microsoft QuickHelp in this window, or you may start any 
  1496.       other application which you wish to switch to with a hot-key sequence. 
  1497.  
  1498.  This chapter explores the use of these three help facilities. 
  1499.  
  1500.  The SMART Editor On-Line Help 
  1501.  
  1502.  The The SMART Editor On-Line Help system provides detailed explanation for 
  1503.  each menu item and dialog panel.  The format and content of this help is 
  1504.  similar to Chapter 8, "Functional Reference" of this technical manual. 
  1505.  
  1506.  The The SMART Editor on-line help facility also contains reference to the 
  1507.  errors returned from general input-output calls, REXX functions, and the 
  1508.  S_Macros provided by The SMART Editor. 
  1509.  
  1510.  You can access The SMART Editor Help using a number of methods. 
  1511.  
  1512.          You can select "General Help" from the main "Help" menu and browse 
  1513.       through The SMART Editor help panels using the hyperlinked keywords.  The 
  1514.       structure of links is similar to the menu structure of The SMART Editor. 
  1515.       The first selection panel contains the main menu items.  You will be able 
  1516.       to navigate through the help as you do the menu structure of The SMART 
  1517.       Editor. 
  1518.          You can select the "Help Index" and select a help topic from the help 
  1519.       index list box. 
  1520.          You can select the "Help Contents" and find your topic in this 
  1521.       directory of topics. 
  1522.          You can select "Services" from the Help panel menu, then select 
  1523.       "Search" from the "Services" menu to find a help topic. 
  1524.          You may directly find a help topic by highlighting a menu item and 
  1525.       pressing <F1>. 
  1526.          If you want help on the main menu item; press <Alt> and use the right 
  1527.       or left arrow key to highlight the main menu item.  Then press <F1>. 
  1528.          If you want help on a sub-menu item; press <Alt> and the underscored 
  1529.       letter of the main menu item that you desire.  You may also mouse click 
  1530.       on the main menu item.  Next use the up or down arrow to highlight the 
  1531.       sub-menu item that you wish to obtain help.  Now press <F1>. 
  1532.          If you have a dialog panel displayed, you can obtain help for this 
  1533.       panel by pressing <F1>. 
  1534.  
  1535.  Please note that help for the pop-up message panels is not contained in the 
  1536.  on-line help system, but is found in Appendix D, "Messages" in this technical 
  1537.  manual. 
  1538.  
  1539.  Access to the accelerator keys help panel is obtained by viewing the "Keys 
  1540.  Help" item under the "Help Menu". 
  1541.  
  1542.  "Help" Navigational Tips 
  1543.  
  1544.  The help facility contains a number of useful features.  A few of these 
  1545.  features for the on-line help are listed below. 
  1546.  
  1547.          A help window can be copied to the paste buffer with the "Copy" 
  1548.       function under the Help Window, "Services" menu. 
  1549.          A help window can be copied to the filename TEMP.TXT (in the current 
  1550.       directory) with the "Copy to File" menu item, also under the Help Window, 
  1551.       "Services" menu. 
  1552.          You can find a topic by using the "Search" function under the Help 
  1553.       Window, "Services" menu. 
  1554.          Select "Previous" under the Help Window "Options" menu  (or press 
  1555.       <Esc>) to view the previous panel.  If no previous panel exists, this 
  1556.       command will close the Help Window. 
  1557.          You can size the Help Window as you desire for your viewing.  Size 
  1558.       the main The SMART Editor Help Window first, then size the individual 
  1559.       Help panel accordingly.  Unfortunately the operating system will not 
  1560.       remember your sizing of this help window the next time the help window is 
  1561.       opened. 
  1562.  
  1563.  OS/2 View On-Line Help 
  1564.  
  1565.  The View system and The SMART Editor On-Line help use a similar display 
  1566.  format.  The difference is that the View system uses help document files that 
  1567.  are specified by you.  They may represent any subject matter related to the 
  1568.  operating system, a development subsystem, or help file supplied as part of 
  1569.  another application product. 
  1570.  
  1571.  Each of the help files for View have an extension of "INF" such as CMDREF.INF. 
  1572.  
  1573.  You can direct The SMART Editor to search a specific help file or a set of 
  1574.  help files for your desired topic. 
  1575.  
  1576.  The ViewHelp facility is context sensitive, within The SMART Editor.  When you 
  1577.  mouse down on a text string in any displayed file, the word under the cursor 
  1578.  will be parsed and placed in The SMART Editor search buffer.  This string is 
  1579.  passed to the View document as the topic for help. 
  1580.  
  1581.  There are several different means to direct View to the desired document 
  1582.  files. 
  1583.  
  1584.          You can specify the topic in the entry box of the dialog panel 
  1585.       associated with the "Enter View Help" menu item under the main "Help" 
  1586.       menu. 
  1587.          You have the choice of using the automatic lookup feature of The 
  1588.       SMART Editor, or directly specifying an .INF file to be searched for the 
  1589.       desired topic. 
  1590.          If you want to browse around in a Help file, without regard to an 
  1591.       opening topic, you can select the file to open and press "Open .INF". 
  1592.       This is a good way to start to explore a new subject like "REXX". 
  1593.  
  1594.  The SMART Editor supplies a set of help indexing files with an extension of 
  1595.  .NDX stored in the installation directory \SLINK2\HELPINDX.  These files have 
  1596.  been specifically prepared from each of the OS/2 system, and development help 
  1597.  files (.INF) supplied with the OS/2 operating system and the   C-SET/2 
  1598.  Development Toolkits. 
  1599.  
  1600.  You will also note that indexing files have also been supplied for the IBM 
  1601.  OS/2 1.3 Development Toolkit Help files.  These are provided since many 
  1602.  developers are porting products from OS/2 1.3 to OS/2 2.0 and need to access 
  1603.  both toolkit help files. 
  1604.  
  1605.  The index files are in text format and are named to correspond with the .INF 
  1606.  counter part. The format for these indices should be apparent when you look at 
  1607.  the file. 
  1608.  
  1609.  You can modify the .NDX index files and even create your own index file for an 
  1610.  application that does not have this index or for an .INF file that you have 
  1611.  created. 
  1612.  
  1613.  Essentially the .NDX file is used as a lookup table to relate the desired help 
  1614.  topic to a specific .INF file.  Once The SMART Editor knows the .INF filename, 
  1615.  ViewDoc can be invoked to present help using this topic and filename. 
  1616.  
  1617.  Help Window 
  1618.  
  1619.  The The SMART Editor Help window is a semi-general purpose OS/2 window that 
  1620.  you may start any application that you wish to switch to with the accelerator 
  1621.  key sequence <Alt>+<Q>. 
  1622.  
  1623.  When this window is started, a dialog panel will be displayed which will allow 
  1624.  you to set the startup parameters.  When the window is initially started The 
  1625.  SMART Editor search buffer contents will be passed to the help program as part 
  1626.  of the startup arguments. 
  1627.  
  1628.  This window will specifically work with the Miscrosoft QuickHelp help system. 
  1629.  You may also use it for the SourceLine calculator SourceCalc.  Essentially 
  1630.  this window is started as a child window of The SMART Editor and will 
  1631.  automatically be closed when you close The SMART Editor. 
  1632.  
  1633.  When you are using Microsoft Quickhelp you will find that this help system is 
  1634.  not context sensitive using graphical screens.  Each time you press <Alt>+<Q> 
  1635.  to switch to the QuickHelp window, you will need to press <S> (search) and 
  1636.  type the help topic or close this window between uses. 
  1637.  
  1638.  There are a number of very useful features available with QuickHelp. 
  1639.  
  1640.          Text in the QuickHelp window can be copied to the OS/2 paste buffer 
  1641.       for your use in a The SMART Editor edit session with the menu items 
  1642.       "Mark" and "Copy" under the QuickHelp window system menu (the bar icon in 
  1643.       the upper left corner). 
  1644.          You may copy the Quickhelp text or example to a paste file of your 
  1645.       choice.  If you coordinate the naming of the QuickHelp paste file and The 
  1646.       SMART Editor Clip file, you will have an immediate interface between 
  1647.       these two programs. 
  1648.          The startup parameters for Quickhelp are described in detail in the 
  1649.       QuickHelp help topic "QuickHelp Options".  You may want to read the 
  1650.       QuickHelp help documentation and determine the best startup parameters 
  1651.       for your use of this product. 
  1652.          One useful option is set as the default for the startup of QuickHelp 
  1653.       by The SMART Editor.  This is the "-rb" parameter.  This parameter will 
  1654.       allow you to view the previous QuickHelp panel by pressing the right 
  1655.       mouse button (button 2). 
  1656.  
  1657.  You can switch between this help window and The SMART Editor by the 
  1658.  accelerator key sets <Alt>+<Q> and <Alt>+<Esc>. 
  1659.  
  1660.  Using any one or all three of the help facilities described in this chapter 
  1661.  will provide you with an enormous amount of on-line help and useful 
  1662.  information. 
  1663.  
  1664.  Clip Help into Your Source Code 
  1665.  
  1666.  In addition to looking up information in these help files, one important 
  1667.  feature is to clip information directly from the help file for insertion into 
  1668.  your source code. This can accomplished in several keystrokes. 
  1669.  
  1670.  To clip help from the IBM View facility, select "Services" and "Copy". The 
  1671.  complete current help panel will be copied to the paste buffer. 
  1672.  
  1673.  At this point you have the option of inserting the full paste buffer into your 
  1674.  source code at the current cursor postion or working with the clip file as an 
  1675.  intermediate working file. 
  1676.  
  1677.  To insert the paste buffer into the current file displayed in The SMART Editor 
  1678.  press <F12> or <Sft>+<Ins>. 
  1679.  
  1680.  To use the clip file as an intermediate work file, select "Paste to Clip File" 
  1681.  under the "Clip" menu, or press <Ctrl>+<F9>.  You then have the opportunity to 
  1682.  select the specific text to be inserted into your source code using the 
  1683.  standard editing functions of The SMART Editor. 
  1684.  
  1685.  Press <Alt>,<R>,<4> ("Clip File" under the "Ref" menu) to display the inserted 
  1686.  help text in the Clip File. 
  1687.  
  1688.  You may also find a number of other methods that suit you best to extract help 
  1689.  text for your source code. 
  1690.  
  1691.  Free up your Bookshelves 
  1692.  
  1693.  As you learn to navigate the on-line help facilities available from The SMART 
  1694.  Editor you will find a wealth of quickly accessed information at your 
  1695.  fingertips.  You may find yourself relying less on printed material in your 
  1696.  develop processes and seek on-line help first. 
  1697.  
  1698.       Table of Contents 
  1699.  
  1700.  
  1701. ΓòÉΓòÉΓòÉ 9. Chapter 6 - Utility Programs ΓòÉΓòÉΓòÉ
  1702.  
  1703. Utility Programs and Interfaces 
  1704.  
  1705.         SLStart Utility 
  1706.         SLBuild Utility 
  1707.         IBM WorkFrame/2 Interface 
  1708.         Rexx Interface 
  1709.  
  1710.       Table of Contents 
  1711.  
  1712.  
  1713. ΓòÉΓòÉΓòÉ 9.1. SLStart Utility ΓòÉΓòÉΓòÉ
  1714.  
  1715. SLStart Utility 
  1716.  
  1717. The SLStart program performs an important function with The SMART Editor and 
  1718. represents a different perspective for working with an application like The 
  1719. SMART Editor. 
  1720.  
  1721. The SMART Editor is indeed a large program.  The last thing you probably want 
  1722. to do is close and reopen The SMART Editor many times during your computer 
  1723. session. 
  1724.  
  1725. You don't have to do this.  Many users start-up a instance or two of The SMART 
  1726. Editor when they boot OS/2 and keep these sessions running throughout their 
  1727. work day. 
  1728.  
  1729. SLStart provides a method to pass filenames to The SMART Editor from other 
  1730. processes during the course of your programming session. 
  1731.  
  1732. Say, for instance, you wish to spawn a compile and have the error list passed 
  1733. back to The SMART Editor at the end of the compile.  All of this, while you 
  1734. continue to work on your project. 
  1735.  
  1736. Easily done.  Simply add a line in the command file that started your NMAKE for 
  1737. the project: 
  1738.  
  1739.    SLSTART ERROR.LST
  1740.  
  1741. Any argument following the executable name will be passed to The SMART Editor 
  1742. for display. 
  1743.  
  1744. The argument /F will force The SMART Editor to open the file specified in the 
  1745. call regardless of what The SMART Editor option are set regarding opening 
  1746. waiting files or what process state The SMART Editor may be in. 
  1747.  
  1748. In addition to the filename you may append the line number and even a read-only 
  1749. flag to specify how the file is to be opened.  The format for line-number and 
  1750. read-only is: 
  1751.  
  1752.     SLSTART C:\MYAPP\MYFILE.C(123)R
  1753.  
  1754. SLStart works like this.  When you start this tiny program, SLStart looks for 
  1755. an existing session of The SMART Editor and through a DDE session passes the 
  1756. input arguments directly to The SMART Editor.  It's just as if you had started 
  1757. The SMART Editor with the arguments directly, except a whole lot faster. 
  1758.  
  1759. Once the arguments are passed, SLStart promptly closes itself. 
  1760.  
  1761. When you double click on a filename in the WorkFrame/2, SLStart passes this 
  1762. name to The SMART Editor.  This is why you need to configure the WorkFrame with 
  1763. SLStart as the editor and NOT The SMART Editor. You certainly don't need to 
  1764. start another instance of The SMART Editor just to display this new file. 
  1765.  
  1766. Of course, if SLStart does not find an instance of The SMART Editor running, it 
  1767. will start one. 
  1768.  
  1769. There are some factors which affect the relationship between SLStart and The 
  1770. SMART Editor. 
  1771.  
  1772.          The options in the "Options" menu of The SMART Editor affect this 
  1773.       relationship. 
  1774.          If "Ignore SLStart" is checked, this instance of The SMART Editor 
  1775.       will not respond to request by SLStart.  This is useful if you have 
  1776.       several instances of The SMART Editor running on your desktop, and wish 
  1777.       to insure that a specific instance receive files from SLStart. 
  1778.          "Disable Project ID" relates to multiple instance of The SMART 
  1779.       Editor, each defined with their own identification.  If an instance of 
  1780.       The SMART Editor is started with a Project ID, it will only receive 
  1781.       filenames from an SLStart send a corresponding ID.  A project identified 
  1782.       The SMART Editor is started with an argument /P:xxx, where xxx is the 
  1783.       project ID. 
  1784.          SLStart must contain a similar argument in order to communicate with 
  1785.       a specific project. You can refer to "Store The SMART Editor INI File" 
  1786.       under "Options" in Chapter 8, "Functional Reference" (page 8-201). 
  1787.          You can automatically open files sent from SLStart by checking "Auto 
  1788.       Open Waiting (if Free)" under the "Options" Menu.  Free means having a 
  1789.       blank screen showing, and not being in another The SMART Editor Process 
  1790.       (eg. "Copy Files"). 
  1791.  
  1792.  SLStart is very effective in spawning a compile or MAKE and sending the 
  1793.  results back to The SMART Editor. 
  1794.  
  1795.  Start by creating a process command file with your requirements for the MAKE: 
  1796.  
  1797.       C:
  1798.      CD MYDIR
  1799.      NMAKE MYAP.EXE > MAK.ERR
  1800.      SLSTART.EXE MAK.ERR
  1801.  
  1802.  You can register this command file under the menu "Start" for quick access. 
  1803.  
  1804.  After the make is complete the results (directed to MAK.ERR) will be sent to 
  1805.  The SMART Editor through SLStart for display. 
  1806.  
  1807.  Once you display the compile error list, you can hyperlink directly to the 
  1808.  source of the error by double clicking on the filename/line number as 
  1809.  displayed in the error list. 
  1810.  
  1811.  The SMART Editor "understands" a number of compiler error formats. 
  1812.  
  1813.          path/filename(line:column) - IBM C-Set++ Compile error list 
  1814.          path/filename(line) :    - Microsoft, Watcom 
  1815.          path/filename line column :  - Various Greps 
  1816.          path/filename line :   - Borland 
  1817.          path/filename : line   - MKS GREP 
  1818.  
  1819.  If the filename is not fully qualified with the path, you will need to change 
  1820.  The SMART Editor current directory to that of the source file.  You can do 
  1821.  this in a number of ways. Double click on the path if standing free, or select 
  1822.  the path from a text string and press <Sft>+<F11>. You can also use a REXX 
  1823.  Macro provide a list of paths for selection. 
  1824.  
  1825.  You may wish to use an argument in you compile string to qualify the filename 
  1826.  as follows: 
  1827.  
  1828.      icc /Sm ... /c  $(SRCPATH)\filename.c
  1829.  
  1830.  Note that the example above uses a symbol for the source path.  This symbol 
  1831.  must be previously defined in the make file as in the following example: 
  1832.  
  1833.       SRCPATH = c:\slink2\sample
  1834.  
  1835.  You will find many uses for SLStart in directing files to The SMART Editor. 
  1836.  If you work using the OS/2 Command Line, you can send a file to The SMART 
  1837.  Editor by simply typing SLStart [filename].  SLStart will append the current 
  1838.  directory of your command line and append the filename for The SMART Editor to 
  1839.  open. 
  1840.  
  1841.       Chapter 6 - Utility Programs and Interfaces 
  1842.       Table of Contents 
  1843.  
  1844.  
  1845. ΓòÉΓòÉΓòÉ 9.2. SLBuild Utility ΓòÉΓòÉΓòÉ
  1846.  
  1847. SLBuild Utility 
  1848.  
  1849. SlBuild is a convenience utility for building, updating, and generating reports 
  1850. with your Link Data Base.  This utility can be run from the command line. 
  1851.  
  1852. A log file is used to output all messages and progress information for this 
  1853. process. 
  1854.  
  1855. Essentially SLBuild performs all of the functions that are available in the 
  1856. Link build process, except the control is from the arguments supplied to this 
  1857. utility or from a response file prepared by you before running the utility. 
  1858.  
  1859. The one additional function performed by this utility is to provide you with a 
  1860. file listing all of the #if Defines in your source code.  This function is 
  1861. requested with the argument "/S=xxx,yyy" (where xxx and yyy are the path of the 
  1862. existing database and the filename of the output list. 
  1863.  
  1864. Due to the large number of input items, the details of the argument list must 
  1865. be carefully understood and prepared.  This list can be displayed on your 
  1866. screen with the argument "/H". 
  1867.  
  1868. Specification of the response file is with the argument "/C=xxx". 
  1869.  
  1870. The arguments for SLBuild are listed below: 
  1871.  
  1872.    SLBUILD arg arg arg arg...
  1873.  
  1874. Where arg = 
  1875.  
  1876.    /B=xxxx (Build new database.)
  1877.      xxxx = Path and filename for 'List of Files'.
  1878.    /O=x...x (Build Options (required with /B)):
  1879.      D = #Defines.
  1880.      G = Globals.
  1881.      S = User Specified.
  1882.      B = Dialog Templates.
  1883.      Example: /O=G,S
  1884.    /U=xxxx (Update existing database.)
  1885.      xxxx = Database Path.
  1886.    /P=xxxx (Build or Update with Preprocessor defines.)
  1887.      xxxx = Path and filename for define list.
  1888.    /S=dbdb,llll (Scan for Preprocessor variables and create list.)
  1889.  
  1890.      dbdb = Path of existing Database.
  1891.      llll = Path and filename for define list output.
  1892.    /R=I...C:xxxx (Create database reports (with /B or /U only)):
  1893.  
  1894.      I = Conditional create (if Db changes or Report does not exist).
  1895.  
  1896.      F = Functions Definition report.
  1897.      M = Module/Functions Definition report.
  1898.      C:xxxx = Function Call Tree report.
  1899.       xxxx (Following 'C:' specifies root function of call tree.
  1900.  
  1901.      U = Unreferenced functions.
  1902.      D = #Defines.
  1903.      G = Globals.
  1904.      S = User Specified.
  1905.      B = Dialog Templates.
  1906.    /L=xxxx (Specify the process Log File.)
  1907.      xxxx = Path and filename for Log File.
  1908.      Default: SLBUILD.LOG in path for SLINK2
  1909.    /X=xxxx (User Specified Link List.)
  1910.      xxxx = Path and filename for User list.
  1911.    /C=xxxx (Command Response file. One line per parameter)
  1912.      xxxx = Path and filename for Response File.
  1913.      Example:
  1914.       /B=J:\MYDATA\LINK.LST.
  1915.       /X=J:\MYDATA\USER.LST.
  1916.    /D Notify The SMART Editor to point to this database after creation.
  1917.  
  1918.    /H  (Display this help screen. Ignore other Arguments.)
  1919.  
  1920.       Chapter 6 - Utility Programs and Interfaces 
  1921.       Table of Contents 
  1922.  
  1923.  
  1924. ΓòÉΓòÉΓòÉ 9.3. IBM WorkFrame/2 ΓòÉΓòÉΓòÉ
  1925.  
  1926. IBM WorkFrame/2 
  1927.  
  1928. The SMART Editor is fully compatible with the WorkFrame. The following 
  1929. paragraphs explain the compatibility features. 
  1930.  
  1931. Be sure and configure The SMART Editor using SLStart.EXE as the "Editor" 
  1932. filename in the WorkFrame/2. 
  1933.  
  1934. You can invoke The SMART Editor to open files from the WorkFrame in several 
  1935. different ways. 
  1936.  
  1937.          In any WorkFrame Panel that has files listed, you call select the 
  1938.       desired files to open and press "Process", or double click on the 
  1939.       filename. 
  1940.          You can also drag the filenames and release them over The SMART 
  1941.       Editor. Press the left mouse button down on the files to drag and drop. 
  1942.       Now while holding the left mouse button open, press the right (or center 
  1943.       for 3 button mouse) button down to start the dragging operation. 
  1944.          When you drag the files over The SMART Editor you can release the 
  1945.       mouse buttons and The SMART Editor will "catch" the files. 
  1946.          You will see "Files Waiting" on The SMART Editor titlebar (unless the 
  1947.       files are automatically opened).  Press <F10> to open the files. 
  1948.          You can also drag files from the WorkFrame/2 Project file list 
  1949.       directly into the listbox for building a List-of-Files. 
  1950.          Process Compile Errors with the WorkFrame/2 
  1951.          You can use the WorkFrame/2 to spawn a MAKE or compile and 
  1952.       interactively process the resulting compile errors. 
  1953.  
  1954.  First make sure that you have the "Send Errors" switch set in configuration of 
  1955.  the WorkFrame for The SMART Editor.  Likewise insure that you have you have 
  1956.  checked the "Enable WorkFrame/2 Errors" option in the "Options" menu of The 
  1957.  SMART Editor. 
  1958.  
  1959.  At the conclusion of the MAKE or compile, you can send the resulting errors to 
  1960.  The SMART Editor by simply double clicking on the error of your choice. 
  1961.  
  1962.  The SMART Editor will request all errors in the same source file from the 
  1963.  WorkFrame and prepare a listbox to work the errors. 
  1964.  
  1965.  If your The SMART Editor screen is blank, and the "Auto Open Waiting" option 
  1966.  was set, the Errors session will begin automatically.  Otherwise you need to 
  1967.  press <F10> to open the source file in error and start the errors processing. 
  1968.  
  1969.  Refer to the "Errors List Dialog Panel" topic in Chapter 8, Functional 
  1970.  Reference (page 8-208) for detailing in processing through these errors. 
  1971.  
  1972.  You can switch back to the WorkFrame/2 to select another sourcefile in error, 
  1973.  or close the errors session. 
  1974.  
  1975.       Chapter 6 - Utility Programs and Interfaces 
  1976.       Table of Contents 
  1977.  
  1978.  
  1979. ΓòÉΓòÉΓòÉ 9.4. Rexx Interface ΓòÉΓòÉΓòÉ
  1980.  
  1981. Rexx Interface 
  1982.  
  1983. The SMART Editor has a full interface to the IBM REXX Macro Language.  It is 
  1984. not our purpose in this manual to explain the REXX language, other than to make 
  1985. reference to this powerful Macro Language.  The details and syntax of the 
  1986. language can be found in many reference documents including the REXX manuals 
  1987. which can be obtained through IBM. 
  1988.  
  1989. There are a number of good books which you might also find at your local 
  1990. technical bookstore to help you program in REXX. 
  1991.  
  1992. A good starting point for the REXX language is through the Help file REXX.INF. 
  1993. Just press <Ctrl>+<V> and select the file REXX.INF.  Press "Open INF" to start 
  1994. with the table of contents for this help file. 
  1995.  
  1996. Several  REXX Macros have been supplied to you in the installation of The SMART 
  1997. Editor. They can be found in the directory \SLINK2\MACROS. 
  1998.  
  1999. In additional to knowing the syntax of REXX you need to be familiar with The 
  2000. SMART Editor interface to REXX.  Please refer to the section starting with 
  2001. "Macro Menu" in the on-line help. 
  2002.  
  2003. The SMART Editor contains many function calls built into the Rexx Interface to 
  2004. provide access to The SMART Editor functionality from within your macro file. 
  2005.  
  2006.       Chapter 6 - Utility Programs and Interfaces 
  2007.       Table of Contents 
  2008.  
  2009.  
  2010. ΓòÉΓòÉΓòÉ 10. Chapter 7 - How To... ΓòÉΓòÉΓòÉ
  2011.  
  2012. How To... Perform Functions 
  2013.  
  2014. This chapter will provide you with the recipes for performing many of the 
  2015. powerful features that are available in The SMART Editor. 
  2016.  
  2017. Additional information regarding The SMART Editor Editor features is found in 
  2018. other chapters of this manual including Chapter 4, "Getting Started - A Guided 
  2019. Tutorial", Chapter 6 "Using Help", Chapter 7 "Utilities". 
  2020.  
  2021. The SMART Editor on-line help provides a detailed explanation for each menu 
  2022. item and dialog panel. 
  2023.  
  2024. The topics in this chapter are organized into functional groups.  A quick 
  2025. reference for these topics is provided below. 
  2026.  
  2027.       Multi-File Functions 
  2028.         String Replacements 
  2029.         Create a List-of-Files 
  2030.         Use Search for Changes 
  2031.         Copy Files 
  2032.         Delete Files 
  2033.         Find Files 
  2034.  
  2035.       Edit Functions 
  2036.         Walk Braces 
  2037.         Walk Parens 
  2038.         Change Case 
  2039.         Change Edit Mode 
  2040.         Refresh a Display 
  2041.         Select Text 
  2042.         Re-Align Code 
  2043.         Use Auto Indent 
  2044.         Use Word Wrap 
  2045.         Enter Special Characters 
  2046.         Use Undo-Redo 
  2047.  
  2048.       Setup Functions 
  2049.         Setup Options 
  2050.         Choose Fonts 
  2051.         Choose Colors 
  2052.  
  2053.       Database Functions 
  2054.         Create a Link Database 
  2055.         Set If Defines 
  2056.         Point to a new Database 
  2057.         Indremental Update 
  2058.         Create User Links 
  2059.  
  2060.       Clip Functions 
  2061.         Use Clip Files 
  2062.         Create a Clip Library 
  2063.         Clip View Help 
  2064.         Clip Windows QuickHelp 
  2065.  
  2066.       Multi-Window Functions 
  2067.         Display a File in Two Windows 
  2068.         Create a Compile Window 
  2069.         Lock Scroll Two Windows 
  2070.  
  2071.       Directory Functions 
  2072.         Create Private Directories 
  2073.         Create General Directories 
  2074.         Delete Directories 
  2075.  
  2076.       Macro Functions 
  2077.         Use 'C' Templates 
  2078.         Define User Macro Files 
  2079.         Direct Macro Output to a File 
  2080.         Direct Macro Output to a Window 
  2081.         Single Step a Rexx Macro File 
  2082.  
  2083.       Save and Restore Environment Functions 
  2084.         Use Tracks 
  2085.         Use Shutdown and Startup Macros 
  2086.  
  2087.       Run Command Functions 
  2088.         Popup an OS/2 Command Window 
  2089.         Define User Command Files 
  2090.         Register a Command Set 
  2091.         Assign Alternate Command Processor 
  2092.  
  2093.       Interface with Other Applications 
  2094.         Use Drag and Drop 
  2095.         Process WorkFrame/2 Errors 
  2096.         Disable File Passing 
  2097.         Notification of Files 
  2098.         Restore Application 
  2099.         Auto-Open a File 
  2100.  
  2101.       Other Functions 
  2102.         Print a File 
  2103.         Define User Reference Files 
  2104.         Incremental Backup to Diskette 
  2105.         Snapshots 
  2106.         Set Selection parameters 
  2107.         Use Hyperlinks 
  2108.         Use HyperTracks 
  2109.         Startup Arguments 
  2110.  
  2111.       Table of Contents 
  2112.  
  2113.  
  2114. ΓòÉΓòÉΓòÉ 10.1. String Replacements ΓòÉΓòÉΓòÉ
  2115.  
  2116. Perform Multi-File/Multi-String Replacement 
  2117.  
  2118. This is powerful feature for making sweeping changes across your source files. 
  2119. You can make multiple string replacements in multiple files.  You can verify 
  2120. each replacement, or verify each file, or make the replacements without 
  2121. verification. 
  2122.  
  2123. First Define Files to be Updated 
  2124.  
  2125. First create a "List of Files" file, specifying all of the files that you wish 
  2126. to change.  Use the "Maintain a List of Files..." menu selection under the 
  2127. "Link" menu. (See how to "Create a List of Files", page 5-7) 
  2128.  
  2129. Then Define Search and Replace Text 
  2130.  
  2131. The next step is to create a text file containing pairs of text strings.  Each 
  2132. replace string set contains 2 lines: a line containing the string to be 
  2133. searched, followed by a line containing the replace string. Each line is 
  2134. terminated by a carriage return. 
  2135.  
  2136.    WinMessageBox
  2137.    DisplayMessage
  2138.    LinkStruct
  2139.    LinkStructure
  2140.  
  2141. Perform Replacements 
  2142.  
  2143.          Select "Multi-file/String Replace..." from the "More" menu. 
  2144.  
  2145.          Select "Ok" to the advisory message box that appears. 
  2146.  
  2147.          Press "Select Files" in the Multi-Files Multi-Strings Replacement 
  2148.       dialog panel. 
  2149.  
  2150.          Select the "List of Files" file you created. 
  2151.  
  2152.          Press the "Select Replacements" in the Multi-Files Multi-Strings 
  2153.       Replacement dialog panel. 
  2154.  
  2155.          Select the file of text strings you created. 
  2156.  
  2157.          Press "Ok" to start the replacement process. 
  2158.  
  2159.          Answer "Yes" to the request for verification of strings and files. 
  2160.  
  2161.          Answer "Yes" and "Ok" to all of the subsequent panels throughout this 
  2162.       replacement process (press <Enter>).  You can turn verification off 
  2163.       during the process by selecting the push-button "Verify Off" when shown, 
  2164.       or answering the verification message boxes with a "No". 
  2165.  
  2166.       Chapter 7 - How To... 
  2167.       Table of Contents 
  2168.  
  2169.  
  2170. ΓòÉΓòÉΓòÉ 10.2. Create a List-of-Files ΓòÉΓòÉΓòÉ
  2171.  
  2172. Create a List-of-Files 
  2173.  
  2174. The SMART Editor uses a List-of-Files file for defining a link database and for 
  2175. the multi-file search and replace.  You can also use the List-of-Files to 
  2176. define files that are copied on a regular basis.  The "Maintain a List of 
  2177. Files" function under the "Link" menu enables you to build the List-of-Files. 
  2178.  
  2179. Define the Filename for the List-of-Files 
  2180.  
  2181.          Select "Maintain a List of Files" from the "Link" menu. 
  2182.  
  2183.          Select the filename of the file to contain the List-of-Files from the 
  2184.       "Select File for List-of-Files" dialog-box. 
  2185.  
  2186.  Define the Files Contained in the List-of-Files 
  2187.  
  2188.          Select "Add" from the "Files List" dialog panel to define the 
  2189.       contents of the List-of-Files file. 
  2190.  
  2191.          Select the filenames of all of the files to be added from the "Add 
  2192.       Files to List" dialog panel.  You can add files from multiple 
  2193.       directories. 
  2194.  
  2195.          Select "Add" from the "Add Files to List" dialog panel to copy the 
  2196.       selected filenames to the List-of-Files file. 
  2197.  
  2198.          Select "Return" from the "Add Files to List" dialog panel when you 
  2199.       are finished adding files. 
  2200.  
  2201.          Select "Store" from the "Files List" dialog panel to save the 
  2202.       contents of the list-of-files file. 
  2203.  
  2204.       Chapter 7 - How To... 
  2205.       Table of Contents 
  2206.  
  2207.  
  2208. ΓòÉΓòÉΓòÉ 10.3. Use Search for Changes ΓòÉΓòÉΓòÉ
  2209.  
  2210. Use Search and Multiple Windows for making Code Changes 
  2211.  
  2212. This is a powerful feature for finding all occurrences of a text string and 
  2213. making changes across your source files.  This is accomplished through the 
  2214. "Search" menu function and hyperlinking to each source. 
  2215.  
  2216. Search For All Occurrences of a String 
  2217.  
  2218.          Select "Multi-File String Search" from the 'More' menu. 
  2219.  
  2220.          Enter the desired search string in the "Enter Search String" data 
  2221.       entry box in the Multi-File String Search and Retrieve dialog panel. You 
  2222.       can check the "Case Sensitive" checkbox to specify a case sensitive 
  2223.       search. 
  2224.  
  2225.          Insure that the "Search List of Files" is unchecked. 
  2226.  
  2227.          Select the desired directory in the "Base Directory" in the 
  2228.       Multi-File String Search and Retrieve dialog panel.  You can check the 
  2229.       "Search Sub Dirs" checkbox to look in the base directory and all 
  2230.       sub-directories. 
  2231.  
  2232.          Select the files to be searched.  You can specify a predefined 
  2233.       template such as *.*, *.C, and *.H, or your own template, or you can 
  2234.       specify a specific filename. 
  2235.  
  2236.          Select "OK" in the Multi-File String Search and Retrieve dialog panel 
  2237.       to execute the search. 
  2238.  
  2239.          The results will be placed in the file L##Srch.Lst file which resides 
  2240.       in the SL_TEMP2 directory as defined in CONFIG.SYS; ## identifies the 
  2241.       instance of The SMART Editor for whom the list was generated.  It is 
  2242.       easily accessed from the "String Search List" in the "Ref" menu.  The 
  2243.       SMART Editor will automatically open the file in read-only mode and 
  2244.       display it in the current window. 
  2245.  
  2246.  View the Source Code Containing the Matched Strings 
  2247.  
  2248.          Double click on the filename of an occurrence of the matched string 
  2249.       within the LnnSrch.Lst file.  The SMART Editor will automatically open 
  2250.       the corresponding source file and you will be positioned with the cursor 
  2251.       on the matched string. 
  2252.  
  2253.          Make any desired changes to the source. 
  2254.  
  2255.          To return to the L##Srch.Lst file, select "Last File" from the "File 
  2256.       Buffers" entry under the "More" menu, or press <Alt>+<B>, or press the 
  2257.       left mouse button and while holding it down press the right mouse button 
  2258.       then release both buttons.  The SMART Editor will display the L##Srch.Lst 
  2259.       file. 
  2260.  
  2261.          Repeat this process to look at the remaining matches. 
  2262.  
  2263.       Chapter 7 - How To... 
  2264.       Table of Contents 
  2265.  
  2266.  
  2267. ΓòÉΓòÉΓòÉ 10.4. Copy Files ΓòÉΓòÉΓòÉ
  2268.  
  2269. Copy Files 
  2270.  
  2271. A number of powerful functions have been incorporated into The SMART Editor 
  2272. Editor "Copy" Function. You can select multiple files and subdirectories to 
  2273. copy from.  The SMART Editor will automatically create the subdirectories 
  2274. during the copy process. You will be notified when a floppy disk is full. 
  2275. Simply insert an empty floppy and the copy process will continue. 
  2276.  
  2277. Access the Copy Function 
  2278.  
  2279.          Select "Copy Files..." from the "More" menu or press <Alt>+<C>. 
  2280.  
  2281.  Define the Source (Copy From) 
  2282.  
  2283.          Select the source directory containing the files to be copied. 
  2284.  
  2285.          You can select a single file to copy. 
  2286.  
  2287.          You can select a wildcard of files to copy. 
  2288.  
  2289.          You can specify that subdirectories are to be included.  Select the 
  2290.       "Include All Sub-Dirs" checkbox in the Copy/Move Files dialog panel. 
  2291.  
  2292.          You can specify that the source files are contained in a 
  2293.       list-of-files file. Select the "'From' is a List" checkbox in the 
  2294.       Copy/Move Files dialog panel.  You must first create the list-of-files. 
  2295.       See "How to Create The SMART Editor Editor List-of-files", page 5-7. 
  2296.  
  2297.  Define the Destination (Copy To) 
  2298.  
  2299.          You must select the destination directory to contain the files to be 
  2300.       copied. 
  2301.  
  2302.          You can create a destination directory.  See "How to Create 
  2303.       Directories", page 5-38. 
  2304.  
  2305.  Define the Verification Level Desired 
  2306.  
  2307.          Select "Verify - Overwrite" in the Copy/Move Files dialog panel to be 
  2308.       notified whenever a destination file is going to be overwritten. 
  2309.  
  2310.          Select "Verify Sub-Dir" in the Copy/Move Files dialog panel to 
  2311.       selectively copy and verify subdirectories. 
  2312.  
  2313.  Define File Parameters 
  2314.  
  2315.          See "How to Set Selection Parameters (time/date/attributes)", page 
  2316.       5-56. 
  2317.  
  2318.  Activate the Copy Process 
  2319.  
  2320.          Select "Copy" in the Copy/Move Files dialog panel to copy the defined 
  2321.       source files to the defined destination. 
  2322.  
  2323.          Select "Move" in the "Copy/Move Files" dialog panel to move the 
  2324.       defined source files to the defined destination. 
  2325.  
  2326.       Chapter 7 - How To... 
  2327.       Table of Contents 
  2328.  
  2329.  
  2330. ΓòÉΓòÉΓòÉ 10.5. Delete Files ΓòÉΓòÉΓòÉ
  2331.  
  2332. Delete Files 
  2333.  
  2334. The file and directory delete functionality of The SMART Editor can make 
  2335. cleaning up your hard drive and getting rid of unused files very easy. 
  2336. Essentially you can delete a single file or a selected group of files.  You can 
  2337. delete with wildcard specification.  You can even delete files in the base 
  2338. directory and its sub-directories.  During this process, you may also remove 
  2339. the sub-directories and even the base directory itself.  You can clean house 
  2340. with The SMART Editor. 
  2341.  
  2342. Access the Delete Function 
  2343.  
  2344.          Select "Delete Files"from the "More" menu or press <Alt>+<D>. 
  2345.  
  2346.  Delete Files 
  2347.  
  2348.          You must select the directory containing the files to be deleted. 
  2349.  
  2350.          You can select a single file to delete. 
  2351.  
  2352.          You can select a wildcard of files to delete. 
  2353.  
  2354.          Select the "Delete All Files Displayed" in the Delete 
  2355.       Files/Directories dialog panel to specify that all files in the current 
  2356.       directory are to be deleted. 
  2357.  
  2358.          Select "Delete Sub-Dir Files" in the Delete Files/Directories dialog 
  2359.       panel to specify that files in subdirectories are to be deleted. 
  2360.  
  2361.  Delete Directories 
  2362.  
  2363.          See "How to Delete Directories", page 5-39. 
  2364.  
  2365.  Define the Verification Level Desired 
  2366.  
  2367.          Select "Verify Each File Delete" in the Delete Files/Directories 
  2368.       dialog panel to be prompted to each file delete. 
  2369.  
  2370.          Select "Verify Sub-Dir" in the Delete Files/Directories dialog panel 
  2371.       to selectively delete subdirectories. 
  2372.  
  2373.  Activate the Delete Process 
  2374.  
  2375.          Select "Delete" in the "Delete Files/Directories dialog panel to 
  2376.       delete the defined files and directories. 
  2377.  
  2378.       Chapter 7 - How To... 
  2379.       Table of Contents 
  2380.  
  2381.  
  2382. ΓòÉΓòÉΓòÉ 10.6. Find Files ΓòÉΓòÉΓòÉ
  2383.  
  2384. Find Files 
  2385.  
  2386. The The SMART Editor "Find" file function provides you with a direct approach 
  2387. in locating and browsing files. You can specify to search multiple drives. You 
  2388. can specify wildcards within filenames.  You can qualify the search starting at 
  2389. a specific directory. You can specify time stamp parameters to extract files 
  2390. within a given time frame. 
  2391.  
  2392. Access the Find Function 
  2393.  
  2394.          Select "Find Files..." from the "More" menu or press <Alt>+<N>. 
  2395.  
  2396.  Define the Directories 
  2397.  
  2398.          You must select the base directory.  You can select "Root is Base 
  2399.       Directory" from the Find File dialog panel to start the search at the 
  2400.       root directory.  If this is not selected, the current directory is the 
  2401.       base directory. 
  2402.  
  2403.          Select "Search Sub-Dirs" from the Find File dialog panel to include 
  2404.       all subdirectories in the search. 
  2405.  
  2406.  Define the Files 
  2407.  
  2408.          You can enter a specific filename. 
  2409.  
  2410.          You can enter a wildcard for filenames. 
  2411.  
  2412.  Define File Parameters 
  2413.  
  2414.          See "How to Set Selection Parameters (time/date/attributes)", page 
  2415.       5-56. 
  2416.  
  2417.  Activate the Find Process 
  2418.  
  2419.          Select "Multi-Drive/Dir" in the Find Files dialog panel to have all 
  2420.       of the files found on multiple drives included in the same listing. 
  2421.  
  2422.          Select "Find First Only" in the Find Files dialog panel to stop the 
  2423.       search after the first match is found. 
  2424.  
  2425.          Select "Find" in the Find Files dialog panel to search for the 
  2426.       predefined files. 
  2427.  
  2428.          The results will be placed in L##Find.Lst file which resides in the 
  2429.       SL_TEMP2 directory as defined in CONFIG.SYS; ## identifies the instance 
  2430.       of The SMART Editor for whom the list was generated.  It is easily 
  2431.       accessed from the "Find Files List" in the "Ref" menu.  The SMART Editor 
  2432.       will automatically open the file in read-only mode and display it in the 
  2433.       current window. 
  2434.  
  2435.       Chapter 7 - How To... 
  2436.       Table of Contents 
  2437.  
  2438.  
  2439. ΓòÉΓòÉΓòÉ 10.7. Walk Braces ΓòÉΓòÉΓòÉ
  2440.  
  2441. Walk Braces in Source Code 
  2442.  
  2443. The SMART Editor provides you with three functions to help locate matching 
  2444. braces within a "C" source program.  You can walk the beginning braces, walk 
  2445. the ending braces, or highlight successive levels of braced code.  This is 
  2446. accomplished from the braces functions under the "Braces" entry under the 
  2447. "Edit" menu. 
  2448.  
  2449. Open the File 
  2450.  
  2451.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  2452.  
  2453.          Select the name of the "C" source file.  The SMART Editor will open 
  2454.       and display the file. 
  2455.  
  2456.  Walk Beginning Braces 
  2457.  
  2458.          When you are positioned within a nested set of braces, it is often 
  2459.       desirable to locate beginning braces. 
  2460.  
  2461.          To find the innermost beginning brace, select "Find Beginning Brace" 
  2462.       from the "Braces" entry under the "Edit" menu. The SMART Editor will 
  2463.       position the cursor on the first left brace it finds when searching the 
  2464.       file backwards. 
  2465.  
  2466.          To find the next level left brace, you must move the cursor left one 
  2467.       position so the cursor is outside the brace.  Then select "Find Beginning 
  2468.       Brace" from the "Braces" entry under the "Edit" menu. The SMART Editor 
  2469.       will position the cursor on the next left brace it finds.  You can repeat 
  2470.       this process to walk the beginning braces contained in your file. 
  2471.  
  2472.  Walk Ending Braces 
  2473.  
  2474.          When you are positioned within a nested set of braces, it is often 
  2475.       desirable to locate ending braces. 
  2476.  
  2477.          To find the innermost ending brace, select "Find Ending Brace" from 
  2478.       the "Braces" entry under the "Edit" menu or press <Ctrl>+<F8>.  The SMART 
  2479.       Editor will position the cursor on the first right brace it finds when 
  2480.       searching the file. 
  2481.  
  2482.          To find the next level right brace, you must select "Find Ending 
  2483.       Brace" from the "Braces" entry under the "Edit" menu or press <Ctrl>+<F8> 
  2484.       again.  The SMART Editor will position the cursor on the next right brace 
  2485.       it finds.  You can repeat this process to walk the ending braces 
  2486.       contained in your file. 
  2487.  
  2488.  Select Braced Code 
  2489.  
  2490.          When you are positioned within a nested set of braces, you may select 
  2491.       all the code contained within the braces. 
  2492.  
  2493.          To select the text bounded by the braces surrounding the current 
  2494.       cursor position, select "Select Braced Code" from the "Braces" entry 
  2495.       under the "Edit" menu or press <Sft>+<F8>.  The SMART Editor will select 
  2496.       the braced code. 
  2497.  
  2498.          To select the next outer set of braced code, you must select "Select 
  2499.       Braced Code" from the "Braces" entry under the "Edit" menu or press 
  2500.       <Sft>+<F8> again. 
  2501.  
  2502.          (Please note that brace finding is a slow process and may take a 
  2503.       while if the braces span a large number of lines). 
  2504.  
  2505.       Chapter 7 - How To... 
  2506.       Table of Contents 
  2507.  
  2508.  
  2509. ΓòÉΓòÉΓòÉ 10.8. Walk Parens ΓòÉΓòÉΓòÉ
  2510.  
  2511. Walk Parens in Source Code 
  2512.  
  2513. The SMART Editor provides you with three functions to help locate matching 
  2514. parens within a "C" source program.  You can walk the opening parens, walk the 
  2515. closing parens, or highlight successive levels of parenthesis code.  This is 
  2516. accomplished from the parens functions under the "Parens" entry under the 
  2517. "Edit" menu. 
  2518.  
  2519. Open the File 
  2520.  
  2521.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  2522.  
  2523.          Select the name of the "C" source file.  The SMART Editor will open 
  2524.       and display the file. 
  2525.  
  2526.  Walk Beginning Parens 
  2527.  
  2528.          When you are positioned within a nested set of parens, it is often 
  2529.       desirable to locate opening parens. 
  2530.  
  2531.          To find the innermost opening parens, select "Find Beginning Parens" 
  2532.       from the "Parens" entry under the "Edit" menu.  The SMART Editor will 
  2533.       position the cursor on the first opening it finds when searching the file 
  2534.       backwards. 
  2535.  
  2536.          To find the next level opening parens, you must move the cursor left 
  2537.       one position so the cursor is outside the paren.  Then select "Find 
  2538.       Beginning Paren" from the "Parens" entry under the "Edit" menu again. The 
  2539.       SMART Editor will position the cursor on the next opening parens it 
  2540.       finds.  You can repeat this process to walk the opening parens contained 
  2541.       in your file. 
  2542.  
  2543.  Walk Ending Parens 
  2544.  
  2545.          When you are positioned within a nested set of parens, it is often 
  2546.       desirable to locate closing parens. 
  2547.  
  2548.          To find the innermost closing parens, select "Find Ending Paren" from 
  2549.       the "Parens" entry under the "Edit" menu.  The SMART Editor will position 
  2550.       the cursor on the first closing paren it finds when searching the file. 
  2551.  
  2552.          To find the next level closing paren, you must select "Find Ending 
  2553.       Paren" from the "Parens" entry under the "Edit" menu again.  The SMART 
  2554.       Editor will position the cursor on the next closing paren it finds.  You 
  2555.       can repeat this process to walk the closing parens contained in your 
  2556.       file. 
  2557.  
  2558.  Select Parened Code 
  2559.  
  2560.          When you are positioned within a nested set of parens, you may select 
  2561.       all the code contained within the parens. 
  2562.  
  2563.          To select the text within the parens surrounding the current cursor 
  2564.       position, select "Select Parened Code" from the "Parens" entry under the 
  2565.       "Edit" menu. 
  2566.  
  2567.          To select the next outer set of parened code, select "Select Parened 
  2568.       Code" from the "Parens" entry under the "Edit" menu. 
  2569.  
  2570.       Chapter 7 - How To... 
  2571.       Table of Contents 
  2572.  
  2573.  
  2574. ΓòÉΓòÉΓòÉ 10.9. Change Case ΓòÉΓòÉΓòÉ
  2575.  
  2576. Change the Case of Selected Text 
  2577.  
  2578. The SMART Editor provides you with four functions to change the case of 
  2579. selected text. You can change to all upper case, change to all lower case, 
  2580. reverse the case, or make each word start with upper case followed by lower 
  2581. case. This is accomplished from the "Edit" menu "Cases" functions. 
  2582.  
  2583. Open the File 
  2584.  
  2585.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  2586.  
  2587.          Select the name of the source file.  The SMART Editor will open and 
  2588.       display the file. 
  2589.  
  2590.  Change to Upper Case 
  2591.  
  2592.          Select the text you want to change. 
  2593.  
  2594.          Select "To Upper Case" from the "Cases" entry under the "Edit" menu. 
  2595.  
  2596.  Change to Lower Case 
  2597.  
  2598.          Select the text you want to change. 
  2599.  
  2600.          Select "To Lower Case" from the "Cases" entry under the "Edit" menu. 
  2601.  
  2602.  Change to First Upper 
  2603.  
  2604.          Select the text you want to change. 
  2605.  
  2606.          Select "First Upper" from the "Cases" entry in the "Edit" menu. 
  2607.  
  2608.  Reverse the Case 
  2609.  
  2610.          Select the text you want to change. 
  2611.  
  2612.          Select "Reverse Case" in "Cases" entry, "Edit" menu. 
  2613.  
  2614.       Chapter 7 - How To... 
  2615.       Table of Contents 
  2616.  
  2617.  
  2618. ΓòÉΓòÉΓòÉ 10.10. Change Edit Mode ΓòÉΓòÉΓòÉ
  2619.  
  2620. Change the File Edit Mode 
  2621.  
  2622. Change the File Edit Mode 
  2623.  
  2624. A The SMART Editor file can exist in edit mode, which permits updates, or 
  2625. read-only mode.  When a file is opened, it is opened in the default file mode 
  2626. specified in The SMART Editor Editor setup options.  This can be overridden. 
  2627. You can also specify a different color for each file mode; for example, blue 
  2628. for edit mode files and cyan for read-only files. 
  2629.  
  2630. Set Default File Mode 
  2631.  
  2632.          Select "Setup Options..." from the "Options" menu or press 
  2633.       <Ctrl>+<O>. 
  2634.  
  2635.          If you want The SMART Editor files to be opened in Read-only mode, 
  2636.       select the "Default Open - Read-only Mode" checkbox.  If this box is 
  2637.       checked, the file will be opened in read-only mode. 
  2638.  
  2639.  Set Default File Mode Color 
  2640.  
  2641.          Select "Set Screen Colors..." from the "Options" menu. 
  2642.  
  2643.          Select the desired Read-only mode foreground and background colors, 
  2644.       press "Save", then Select "Default Read-only Screen" to set the default 
  2645.       read-only mode colors. 
  2646.  
  2647.          Select the desired Edit mode foreground and background colors, press 
  2648.       "Save", then Select "Default Edit Screen" to set the default read-only 
  2649.       mode colors. 
  2650.  
  2651.          Press "Return" when you have completed your color selections and 
  2652.       saved the desired color combinations. 
  2653.  
  2654.  Open The SMART Editor File in Non-default File Mode 
  2655.  
  2656.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  2657.  
  2658.          Select the name of The SMART Editor Editor file you want to open. 
  2659.  
  2660.          The "Open File - Read Only" checkbox in the File Open/New dialog 
  2661.       panel will reflect the default file mode; if the default is Read-only, 
  2662.       the checkbox will be checked. 
  2663.  
  2664.  Change the File Mode of an Opened The SMART Editor File 
  2665.  
  2666.          You can change the file mode of a file after it is opened by 
  2667.       selecting "Change File Edit Mode" from the "Edit" menu or by pressing 
  2668.       <Ctrl>+<E>. 
  2669.  
  2670.          If you are in edit mode and the file has been changed, The SMART 
  2671.       Editor will prompt you to save the file before changing the mode to 
  2672.       read-only. 
  2673.  
  2674.       Chapter 7 - How To... 
  2675.       Table of Contents 
  2676.  
  2677.  
  2678. ΓòÉΓòÉΓòÉ 10.11. Refresh a Display ΓòÉΓòÉΓòÉ
  2679.  
  2680. Refresh a File Display 
  2681.  
  2682. The SMART Editor allows you to refresh The SMART Editor current file. A fresh 
  2683. copy of the file will be read into The SMART Editor Editor buffer. If the file 
  2684. has been changed, it can not be refreshed. 
  2685.  
  2686. The SMART Editor files are automatically refreshed whenever a file is sent to 
  2687. The SMART Editor via SLStart unless the file has been changed. 
  2688.  
  2689. Refresh the Current The SMART Editor File 
  2690.  
  2691.          Select "Refresh" from the "File" menu. 
  2692.  
  2693.          The file is read into the current buffer. 
  2694.  
  2695.  Automatically Refresh an Opened The SMART Editor File 
  2696.  
  2697.          From an external process or command, enter "SLStart" followed by the 
  2698.       name of the file to be automatically opened. 
  2699.  
  2700.          If the specified file is in the current open buffer list, it will be 
  2701.       replaced. If the file is not in the current open buffer list, it will be 
  2702.       opened. 
  2703.  
  2704.       Chapter 7 - How To... 
  2705.       Table of Contents 
  2706.  
  2707.  
  2708. ΓòÉΓòÉΓòÉ 10.12. Select Text ΓòÉΓòÉΓòÉ
  2709.  
  2710. Select Text Without the Use of a Mouse 
  2711.  
  2712. You have all of the functionality of The SMART Editor at your fingertips 
  2713. through the use of the keyboard as well as the mouse. 
  2714.  
  2715. Text Selection 
  2716.  
  2717.          Select a character by pressing <Sft>+<RIGHT_ARROW> or 
  2718.       <Sft>+<LEFT_ARROW>. 
  2719.  
  2720.          Select a word by pressing <Ctrl>+<Sft>+<RIGHT_ARROW> or 
  2721.       <Ctrl>+<Sft>+<LEFT_ARROW>. 
  2722.  
  2723.          Select a page by pressing <Sft>+<PAGE_DOWN> or <Sft>+<PAGE_UP>. 
  2724.  
  2725.          Select a line by pressing <Sft>+<UP_ARROW> or <Sft>+<DOWN_ARROW> or 
  2726.       <Alt>+<L>. 
  2727.  
  2728.  String Selection 
  2729.  
  2730.          Select a string for Search or Linking by pressing <F11>. 
  2731.  
  2732.  Code Selection 
  2733.  
  2734.          Select braces within a 'C' program by pressing <Sft> +<F8>. 
  2735.  
  2736.       Chapter 7 - How To... 
  2737.       Table of Contents 
  2738.  
  2739.  
  2740. ΓòÉΓòÉΓòÉ 10.13. Re-Align Code ΓòÉΓòÉΓòÉ
  2741.  
  2742. Left Justify Source Code (Re-Align your Code) 
  2743.  
  2744. The SMART Editor provides you with the ability to align your code.  By using 
  2745. the "Left Justify" functionality from the "Edit" menu, you can left align your 
  2746. source code.  Simply position the cursor at the position on the line where you 
  2747. want the text to begin and select "Left Justify Line at Cursor" from the "Edit" 
  2748. menu or press <F7>. Repeat this process for each line you want to justify. 
  2749.  
  2750. Please note that the cursor cannot be positioned to the right of the 
  2751. end-of-line. To "Left Justify" a short line to the far left, you will need to 
  2752. insert tabs or spaces to lengthen the line first. 
  2753.  
  2754.       Chapter 7 - How To... 
  2755.       Table of Contents 
  2756.  
  2757.  
  2758. ΓòÉΓòÉΓòÉ 10.14. Use Auto-Indent ΓòÉΓòÉΓòÉ
  2759.  
  2760. Use Auto-Indent 
  2761.  
  2762. The SMART Editor provides you with the ability to align your code as you type. 
  2763. By enabling the "Auto Indent" function from the "Setup Options" dialog panel on 
  2764. the "Options" menu, you can auto indent your source code.  This causes the 
  2765. cursor to be positioned below the leftmost position of the previous line 
  2766. whenever you press <Enter> at the end of a line. 
  2767.  
  2768.          Select "Setup Options..." from the "Options" menu or press 
  2769.       <Ctrl>+<O>. 
  2770.  
  2771.          Enable the "Auto Indent" toggle on The SMART Editor Editor Options 
  2772.       dialog panel.  If the "Auto Indent" checkbox is checked, it is active. 
  2773.  
  2774.          Select "OK" on the "The SMART Editor Options" dialog panel. 
  2775.  
  2776.       Chapter 7 - How To... 
  2777.       Table of Contents 
  2778.  
  2779.  
  2780. ΓòÉΓòÉΓòÉ 10.15. Use Word Wrap ΓòÉΓòÉΓòÉ
  2781.  
  2782. Use Word Wrap 
  2783.  
  2784. The SMART Editor provides you with the ability to word wrap.  This causes all 
  2785. characters extending beyond the right edge of the screen to be continued on the 
  2786. next display line. 
  2787.  
  2788. Set Default Word Wrap Mode 
  2789.  
  2790.          Select "Setup Options..." from the "Options" menu or press 
  2791.       <Ctrl>+<O>. 
  2792.  
  2793.          If you want The SMART Editor files to be opened in Word Wrap mode, 
  2794.       select the "Word Wrap" checkbox.  If this box is checked, the file will 
  2795.       be opened in word wrap mode. 
  2796.  
  2797.          Move the slider to the left or press the left arrow to perform 
  2798.       multiple undos. 
  2799.  
  2800.          Move the slider to the right or press the right arrow to perform 
  2801.       multiple redos. 
  2802.  
  2803.       Chapter 7 - How To... 
  2804.       Table of Contents 
  2805.  
  2806.  
  2807. ΓòÉΓòÉΓòÉ 10.16. Enter Special Characters ΓòÉΓòÉΓòÉ
  2808.  
  2809. Entering Non-Keyboard ASCII characters 
  2810.  
  2811. The The SMART Editor editor allows you to enter non-keyboard ASCII characters 
  2812. by entering the <Alt> key + the numeric value of the ASCII character from the 
  2813. keypad. For example, <Alt>+"007" is the bell character.  <Alt>+"9" is the tab 
  2814. character. 
  2815.  
  2816.       Chapter 7 - How To... 
  2817.       Table of Contents 
  2818.  
  2819.  
  2820. ΓòÉΓòÉΓòÉ 10.17. Use Undo-Redo ΓòÉΓòÉΓòÉ
  2821.  
  2822. Use Undo-Redo 
  2823.  
  2824. An edit event in The SMART Editor is defined as either a text insertion or text 
  2825. deletion.  The object can be a character, a character string, or a file.  The 
  2826. SMART Editor tracks your edit events (up to 255 for each file that you have 
  2827. opened.) You may undo or redo an undo for any of the last edit events until you 
  2828. save your file, or until the maximum number of undos is reached. 
  2829.  
  2830. Set Default Number of Undo-Redo Edit Events 
  2831.  
  2832.          Select "Setup Options..." from the "Options" menu or press 
  2833.       <Ctrl>+<O>. 
  2834.  
  2835.          Enter the number of undo-redo edit events per The SMART Editor edit 
  2836.       mode file to be saved in the "Max Undo\Redos" data entry box in The SMART 
  2837.       Editor Setup Options dialog panel. 
  2838.  
  2839.          Select "OK" on The SMART Editor Options dialog panel. 
  2840.  
  2841.  Perform a Single Undo 
  2842.  
  2843.          To undo the last edit event, select "Undo" from the "Undo/Redo" entry 
  2844.       under the "Edit" Menu or press <Alt>+<U>. 
  2845.  
  2846.  Perform a Single Redo 
  2847.  
  2848.          To restore the last undo edit event, select "Redo" from the 
  2849.       "Undo/Redo" entry under "Edit" Menu or press <Ctrl>+<U>. 
  2850.  
  2851.  Perform Multiple Undo\Redo Events 
  2852.  
  2853.          Select "Undo/Redo Multiple..." from the "Undo/Redo" entry under 
  2854.       "Edit" menu. An Undo\Redo dialog panel will appear.  With this panel you 
  2855.       can see how many operations are available, and you can use the slider to 
  2856.       perform multiple Undos and Redos. 
  2857.  
  2858.          Select "Undo" to perform a single undo. 
  2859.  
  2860.          Select "Redo" to perform a single redo. 
  2861.  
  2862.          Move the slider to the left or press the left arrow to perform 
  2863.       multiple undos. 
  2864.  
  2865.          Move the slider to the right or press the right arrow to perform 
  2866.       multiple redos. 
  2867.  
  2868.  After you undo an edit event, you will have a corresponding redo available 
  2869.  until you enter a new edit event. 
  2870.  
  2871.       Chapter 7 - How To... 
  2872.       Table of Contents 
  2873.  
  2874.  
  2875. ΓòÉΓòÉΓòÉ 10.18. Setup Options ΓòÉΓòÉΓòÉ
  2876.  
  2877. The SMART Editor Setup Options 
  2878.  
  2879. The SMART Editor Setup Options 
  2880.  
  2881. You can define setup options which customizes The SMART Editor for your 
  2882. environment.  For example, if you have limited memory available to your system, 
  2883. you can reduce the number of opened files and undo-redo events saved. 
  2884.  
  2885. Set The SMART Editor Options 
  2886.  
  2887.          Select "Setup Options" from the "Options" menu or press <Ctrl>+<O>. 
  2888.  
  2889.  Customize The SMART Editor Execution 
  2890.  
  2891.          You can control the number of opened files by entering the number in 
  2892.       the "Max Opened Files" data entry box in The SMART Editor Editor Options 
  2893.       dialog panel. 
  2894.  
  2895.          You can disable the creation of backup files when opening a file for 
  2896.       editing. The SMART Editor automatically creates a backup of your file 
  2897.       whenever it is opened in edit mode. To disable file backups, select 
  2898.       "Disable Edit File Backups" in The SMART Editor Editor Options dialog 
  2899.       panel. 
  2900.  
  2901.          You can control the maximum number of edit events per The SMART 
  2902.       Editor file prior to taking a snapshot, or disable snapshots entirely. 
  2903.       (See "How To Create and Restore Snapshots", page 5-55.) 
  2904.  
  2905.          You can control the number of undo/redo events to be saved per The 
  2906.       SMART Editor file.  (See "How To Use Undo-Redo", page  5-21.) 
  2907.  
  2908.          You can control the amount of memory available to The SMART Editor 
  2909.       for building and updating your Link database. 
  2910.  
  2911.          You can control the default directory for The SMART Editor functions. 
  2912.       If you select "Directory Tracking" in the "The SMART Editor Options" 
  2913.       dialog panel, the current directory is maintained between functions. 
  2914.  
  2915.  Customize File Access 
  2916.  
  2917.          You can specify the number of spaces allocated to the tab character 
  2918.       by entering the number in the "Tab Spacing" data entry box in The SMART 
  2919.       Editor Editor Options dialog panel.  This number may appear misleading if 
  2920.       you do not use the system monofaced font. 
  2921.  
  2922.          You can convert tabs to spaces when you save the file by selecting 
  2923.       the "Tabs to Spaces - Save" in The SMART Editor Editor Options dialog 
  2924.       panel. 
  2925.  
  2926.          You can specify the default file open mode for all files.  They can 
  2927.       be opened in edit mode or read-only mode.  (See "How to Change File 
  2928.       Mode", page 5-18.) 
  2929.  
  2930.          You can specify auto indent mode as the default for all files.  (See 
  2931.       "How To Use Auto Indent", page 5-20.) 
  2932.  
  2933.  Customize Display Screen 
  2934.  
  2935.          You can display horizontal or vertical scroll bars for all The SMART 
  2936.       Editor file display windows.  Select "Horizontal Scroll Bar" or "Vertical 
  2937.       Scroll Bar" in The SMART Editor Editor Options dialog panel. 
  2938.  
  2939.  Save Setup Options 
  2940.  
  2941.          Select "Ok" in The SMART Editor Editor Options dialog panel. 
  2942.  
  2943.       Chapter 7 - How To... 
  2944.       Table of Contents 
  2945.  
  2946.  
  2947. ΓòÉΓòÉΓòÉ 10.19. Choose Fonts ΓòÉΓòÉΓòÉ
  2948.  
  2949. Choose Fonts 
  2950.  
  2951. The SMART Editor allow you to set the typeface, size and style of the font used 
  2952. on all The SMART Editor files.  Select "Set Screen Font..." from the "Options" 
  2953. menu to choose your font. 
  2954.  
  2955. Define the Font 
  2956.  
  2957.          Select the typeface from the list of available typefaces.  As an 
  2958.       entry is selected, the typeface of the sample box is updated and the 
  2959.       "Size" listbox is updated. 
  2960.  
  2961.          Select the size from the list of available type sizes for the 
  2962.       selected typeface.  As an entry is selected, the type size of the sample 
  2963.       box is updated. 
  2964.  
  2965.          Select the "Bold Style" if desired.  The typeface in the sample box 
  2966.       is updated. 
  2967.  
  2968.          Select the "Italic Style" if desired.  The typeface in the sample box 
  2969.       is updated. 
  2970.  
  2971.          Select "Save" from the "Set Screen Font" dialog panel to save your 
  2972.       font selections. 
  2973.  
  2974.       Chapter 7 - How To... 
  2975.       Table of Contents 
  2976.  
  2977.  
  2978. ΓòÉΓòÉΓòÉ 10.20. Choose Colors ΓòÉΓòÉΓòÉ
  2979.  
  2980. Choose Colors 
  2981.  
  2982. You can define the colors of your The SMART Editor windows.  You can define one 
  2983. color for all edit mode files, another color for all read-only mode files, and 
  2984. a different color for each specific file you have currently opened.  Select 
  2985. "Set Screen Colors..." from the "Options" menu to choose your colors. 
  2986.  
  2987. Set the Screen Colors 
  2988.  
  2989.          Select "Set Screen Colors..." from the "Options" menu. 
  2990.  
  2991.          Select the foreground color and background color.  The sample box is 
  2992.       updated to reflect your selections.  Press "Save" to save your selection. 
  2993.  
  2994.  Assign the Colors to a Screen 
  2995.  
  2996.          Select "Current Screen Colors" from the "Set Screen Colors" dialog 
  2997.       panel to assign the predefined colors to The SMART Editor current file. 
  2998.       This is a temporary assignment.  When the file is closed, the color is no 
  2999.       longer assigned. 
  3000.  
  3001.          Select "Default Read-only screen" from the Set Screen Colors dialog 
  3002.       panel to assign the predefined colors to the all read-only files. 
  3003.  
  3004.          Select "Default Edit Screen" from the Set Screen Colors dialog panel 
  3005.       to assign the predefined colors to the all edit files. 
  3006.  
  3007.  Save the Screen Colors 
  3008.  
  3009.          Repeat the process for each screen you want to define. 
  3010.  
  3011.          Select "Save" from the "Set Screen Colors" dialog panel to save your 
  3012.       changes after each color set combination selection. 
  3013.  
  3014.       Chapter 7 - How To... 
  3015.       Table of Contents 
  3016.  
  3017.  
  3018. ΓòÉΓòÉΓòÉ 10.21. Create a Link Database ΓòÉΓòÉΓòÉ
  3019.  
  3020. Create a Link Database 
  3021.  
  3022. One of the most powerful features of The SMART Editor is the ability to mouse 
  3023. click through your source code using the hyperlink features of The SMART 
  3024. Editor.  In order for The SMART Editor to know of the structure of your source 
  3025. code, you must first create a Link Database of your code.  This linkage is 
  3026. performed in two simple steps.  You must specify the files to be linked. 
  3027. (Maintain a List of Files).  You must then scan and build the link Database. 
  3028.  
  3029. Define the Files to be Included in the Database 
  3030.  
  3031.          Select "Maintain a List of Files..." from the "Link" menu to create 
  3032.       the Link Database List-of-Files file (See "How to Create a 
  3033.       List-of-Files", page 5-7.) 
  3034.  
  3035.          This list contains the filenames of all of the source files that are 
  3036.       to be included in the link database.  You should include all applicable 
  3037.       source files. Include all files where you either define or reference 
  3038.       items to be linked. 
  3039.  
  3040.          You must create the List-of-Files in the directory which is to 
  3041.       contain the generated database and report files.  The List-of-Files can 
  3042.       reside in any directory and does not have to be in the directory of the 
  3043.       source files. 
  3044.  
  3045.  Create a Link Database Without Ifdefs 
  3046.  
  3047.          Select "Create The SMART Editor DB..." from the "Link" menu. 
  3048.  
  3049.          Select the filename of the file containing the List-of-Files from the 
  3050.       Select File for List-of-Files dialog panel. 
  3051.  
  3052.  Create a Link Database With Ifdefs 
  3053.  
  3054.          Select "Create DB (w/#if def)..." from the "Link" menu. 
  3055.  
  3056.          Select the filename of the file containing the List-of-Files from the 
  3057.       Select File for List-of-Files dialog panel. 
  3058.  
  3059.          The SMART Editor will scan each of the files contained in the 
  3060.       List-of-Files - looking for IFDEFs. 
  3061.  
  3062.  Select the Items to be Included in the Link Database 
  3063.  
  3064.          The SMART Editor will always include functions in the database. 
  3065.  
  3066.          Select "#define Symbols" if you want symbols to be included in the 
  3067.       database. 
  3068.  
  3069.          Select "Global Variables" if you want global variables to be included 
  3070.       in the database. 
  3071.  
  3072.          Select "Dialog Templates" if you want dialog templates to be included 
  3073.       in the database. 
  3074.  
  3075.          Select "User Specified Link List" if you want to specify a list of 
  3076.       other items you want included in the database. If you select this option, 
  3077.       you must enter the name of the file that contains your link list. (See 
  3078.       "How to Create a User Specified Link List", page ). 
  3079.  
  3080.          (Please note that the time to create the database and the size of the 
  3081.       database is increased for each type of item that is to be included in the 
  3082.       database.) 
  3083.  
  3084.          Select "Root Function Name for Call Tree" if you want to generate a 
  3085.       Function Call Tree. You must enter the function name for the top of the 
  3086.       tree; "main" is the default. 
  3087.  
  3088.          The SMART Editor will scan each of the files contained in the 
  3089.       List-of-Files twice - looking for item definitions and references. The 
  3090.       SMART Editor will create the link database and default report files in 
  3091.       the directory containing the List-of-Files file. 
  3092.  
  3093.       Chapter 7 - How To... 
  3094.       Table of Contents 
  3095.  
  3096.  
  3097. ΓòÉΓòÉΓòÉ 10.22. Set If Defines ΓòÉΓòÉΓòÉ
  3098.  
  3099. Set #If Defines 
  3100.  
  3101.          All #IFDEF symbols will be displayed with an initial assignment of 0. 
  3102.       A symbol value of non-zero indicates that the IFDEF symbol is defined and 
  3103.       subsequent code will be included; a symbol value of 0 indicates that the 
  3104.       IFDEF symbol is not defined and subsequent code will be ignored. 
  3105.  
  3106.          You can specify ifdefs are defined by selecting the ifdefs you want 
  3107.       defined and selecting "Set '1'" in the Set IFDEF Defines dialog panel and 
  3108.       then selecting "Set Selected to Define Value". 
  3109.  
  3110.          You can assign any numeric value to each symbol.  Enter the numeric 
  3111.       value in the "New Define Value" data entry box in the "Set IFDEF Defines" 
  3112.       dialog panel. Select the ifdefs you want to assign to the new define 
  3113.       value, and select "Set Selected to Define Value" in the "Set IFDEF 
  3114.       Defines" dialog panel. 
  3115.  
  3116.          Select "Ok" to create The SMART Editor Editor database.  The SMART 
  3117.       Editor will scan each of the files contained in the List-of-Files twice - 
  3118.       looking for function definitions and references within the defined 
  3119.       ifdefs.  The SMART Editor will create the link database and default 
  3120.       report files in the directory containing the List-of-Files file. 
  3121.  
  3122.  Note that if you build a Link Database containing #ifdefs, without using the 
  3123.  menu selection "Create DB (w/#ifdefs)", The SMART Editor will ignore all 
  3124.  #ifdef keywords and include all code in the database build. 
  3125.  
  3126.       Chapter 7 - How To... 
  3127.       Table of Contents 
  3128.  
  3129.  
  3130. ΓòÉΓòÉΓòÉ 10.23. Point to a New Database ΓòÉΓòÉΓòÉ
  3131.  
  3132. Point to a New Database 
  3133.  
  3134. You can create different versions of a program by creating a separate link 
  3135. database with different ifdefs defined.  You can also have link databases for 
  3136. different programs or different sets of source code files.  You must build each 
  3137. database in a different directory; there can be only one link database in a 
  3138. directory. 
  3139.  
  3140. Create the Link Database 
  3141.  
  3142.          The first step in creating a link database is the creation of the 
  3143.       database List-of-Files.  (See "How to Create a Link  Database", page 
  3144.       5-25.) 
  3145.  
  3146.          You must create the List-of-Files in the directory which is to 
  3147.       contain the generated database; the contents of the List-of-Files can 
  3148.       reside in any directory. 
  3149.  
  3150.          For example, if your source files are in a directory \MYSOURCE, you 
  3151.       can create subdirectories \MYSOURCE\Version1 and \MYSOURCE\Version2. Go 
  3152.       to subdirectory Version1 and create your list-of-files with appropriate 
  3153.       ifdefs defined.  Build the database.  It will reside in subdirectory, 
  3154.       Version1.  Do the same for subdirectory Version2. 
  3155.  
  3156.  Point to the Link Database 
  3157.  
  3158.          Prior to accessing the generated database reports ("Ref" menu: "Call 
  3159.       Tree", or "Other Link Displays") and prior to hyperlinking to functions 
  3160.       (See "How to Use Hyperlink for Navigation", page 5-27), you must tell The 
  3161.       SMART Editor which database you want to access.  You will automatically 
  3162.       be set to the new database following a new database creation or update. 
  3163.  
  3164.          Select "Current DB Path..." from the "Link" menu or press <Ctrl>+<P>. 
  3165.  
  3166.          Select the path containing the List-of-Files and database. 
  3167.  
  3168.       Chapter 7 - How To... 
  3169.       Table of Contents 
  3170.  
  3171.  
  3172. ΓòÉΓòÉΓòÉ 10.24. Incremental Update ΓòÉΓòÉΓòÉ
  3173.  
  3174. Incremental Update Your Link Database 
  3175.  
  3176. You can perform an incremental update of your database to reflect any new 
  3177. changes to your source code without going through the complete build process. 
  3178. You can also add or delete source files, incrementally, from your Link 
  3179. database. 
  3180.  
  3181.          Select "Incremental Update DB..." in the "Link" menu. 
  3182.  
  3183.          Verify the database to be updated.  If the database path displayed in 
  3184.       the pop-up message box is not the path intended, answer "Cancel" to this 
  3185.       verification and select "Current DB Path..." under the "Link" menu to 
  3186.       select the desired database. 
  3187.  
  3188.       Chapter 7 - How To... 
  3189.       Table of Contents 
  3190.  
  3191.  
  3192. ΓòÉΓòÉΓòÉ 10.25. Create User Links ΓòÉΓòÉΓòÉ
  3193.  
  3194. Create Your Own Links in a Link Database 
  3195.  
  3196. The SMART Editor always adds functions to your link database. The SMART Editor 
  3197. allows you to optionally add all symbols, global variables, and dialog 
  3198. templates to your database. You can also define your own items that you want to 
  3199. add to the database. This gives you the power to hyperlink on the items of your 
  3200. choice. 
  3201.  
  3202. You must create a file containing the items that you want to include in the 
  3203. database. When you build the database, you specify that you have user defined 
  3204. items and you specify the filename that contains those items. This gives you 
  3205. the ability to link on items that are only referenced in your source, but not 
  3206. defined. 
  3207.  
  3208. First Define Items to be Linked 
  3209.  
  3210. The first step is to create a text file containing the items to be linked. Each 
  3211. item is contained on a separate line. If you want an item to appear in the call 
  3212. tree at the point of reference, add a comma and a "C" to the item 
  3213. specification. Each line is terminated by a carriage return. 
  3214.  
  3215. All item specifications are case sensitive. The specification can be a full 
  3216. word or a mask of leading characters followed by an asterisk. 
  3217.  
  3218.   Win*
  3219.   MyStuff,C
  3220.   A_Macro
  3221.   Dos*,C
  3222.  
  3223. Include the User List in the Database Build 
  3224.  
  3225.          Select "Create The SMART Editor DB..." or "Create DB (w/#if def) from 
  3226.       the "Link" menu. 
  3227.  
  3228.          Select the List-of-Files that contains the list of source files to be 
  3229.       included in the database. (See "How to Create s List-of-Files", page 
  3230.       5-7.) 
  3231.  
  3232.          Select the "User Specified Link List Filename" in the Link Options 
  3233.       dialog panel. Select or enter the name of the file containing the items 
  3234.       you want linked. 
  3235.  
  3236.          Select "Proceed" to build the database. (See "How to Create a Link 
  3237.       Database", page 5-25.) 
  3238.  
  3239.       Chapter 7 - How To... 
  3240.       Table of Contents 
  3241.  
  3242.  
  3243. ΓòÉΓòÉΓòÉ 10.26. Use Clip Files ΓòÉΓòÉΓòÉ
  3244.  
  3245. Use Clip Files 
  3246.  
  3247. The The SMART Editor Clip File functions provide you with the tools to capture, 
  3248. save and manipulate multiple paste buffers.  Clip files are stored on disk and 
  3249. provide a permanent or temporary means of storing small sections of source 
  3250. code.  You can use the clip functions to create a library of source code 
  3251. snippets; saving your favorite pieces of code for quick reference.  (See "How 
  3252. To Create a Clip Library", page 5-31.) The clip file can be useful as an 
  3253. interface between other applications that create paste files such as 
  3254. Microsoft's QuickHelp and the OS/2 Presentation Manager Help facility.  All you 
  3255. need to do is to coordinate the output paste filename of an application with 
  3256. the filename of The SMART Editor Editor Clip File. 
  3257.  
  3258. Set the Clip Filename 
  3259.  
  3260.          Select "Rename Clip File..."  from the "Clip" menu. 
  3261.  
  3262.          Press "Select" in the Clip File - Filename dialog panel. 
  3263.  
  3264.          Select the name of the clip library; e.g. SNIPPETS.CLP.  If the file 
  3265.       does not exist, The SMART Editor will create it. 
  3266.  
  3267.          You can rename the clip file at any time.  You may wish to use a 
  3268.       filename in the SL_TEMP2 directory in order to use the clip file as a 
  3269.       temporary buffer. 
  3270.  
  3271.  Set the Clip File Mode 
  3272.  
  3273.          Select "Clip File Mode - Append" from the "Clip" menu.  This is a 
  3274.       toggle check menu item.  When the entry is checked, the clip file is in 
  3275.       append mode.  When the entry is not checked, it is in replace mode. 
  3276.  
  3277.  Add Text to the Clip File 
  3278.  
  3279.          Select text from an opened The SMART Editor file and select "Select 
  3280.       to Clip File" from the "Clip" menu or press <Sft>+<F9>.  The selected 
  3281.       text will be copied to the clip file. 
  3282.  
  3283.          In your The SMART Editor file, copy or cut text to the paste buffer, 
  3284.       then select "Paste to Clip File" from the "Clip" menu or press 
  3285.       <Ctrl>+<F9>. The contents of the paste buffer will be copied to the clip 
  3286.       file. 
  3287.  
  3288.  Retrieve Text From the Clip File 
  3289.  
  3290.          Select "Clip File to Paste" from the "Clip" menu.  The clip file will 
  3291.       be copied to the paste buffer. 
  3292.  
  3293.          Move the cursor to the location within your The SMART Editor file for 
  3294.       inserting clip data.  Select "Paste Clip File at Cursor" or press 
  3295.       <Ctrl>+<I>. The clip file will be inserted at the cursor location. 
  3296.  
  3297.          Select "Display Clip File" from the "Clip" menu and The SMART Editor 
  3298.       will open the clip file and display it.  You can treat it as any other 
  3299.       The SMART Editor file.  You can update it and save it. 
  3300.  
  3301.  Using the Clip File with Help Systems 
  3302.  
  3303.          See "How to Clip Examples From ViewHelp", page 5-32. 
  3304.  
  3305.          See "How to  Clip Examples From A QuickHelp Window",  5-33. 
  3306.  
  3307.       Chapter 7 - How To... 
  3308.       Table of Contents 
  3309.  
  3310.  
  3311. ΓòÉΓòÉΓòÉ 10.27. Create a Clip Library ΓòÉΓòÉΓòÉ
  3312.  
  3313. Create a Clip Library 
  3314.  
  3315. This feature allows you to create and access your own library of frequently 
  3316. used text.  This is useful for prototypes of function definitions, templates 
  3317. for function headers, and the like. 
  3318.  
  3319. Define Name of Library 
  3320.  
  3321. You must first create the Clip Library file. 
  3322.  
  3323.          Select "Rename Clip File..."  from the "Clip" menu. 
  3324.  
  3325.          Press "Select" in the Clip File - Filename dialog panel. 
  3326.  
  3327.          Select the name of the clip library; e.g. MY_FUNCS.LIB.  If the file 
  3328.       does not exist, The SMART Editor will create it. 
  3329.  
  3330.  Put the Clip File in Append Mode 
  3331.  
  3332.          Select "Clip File Mode - Append" from the "Clip" menu.  This is a 
  3333.       toggle. When the entry is checked, the clip file is in append mode. 
  3334.  
  3335.  Add the Library Elements 
  3336.  
  3337.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  3338.  
  3339.          Select the name of the file containing the text you want to include 
  3340.       in the library.  The SMART Editor will open and display the file. 
  3341.  
  3342.          Select the text you want to add to the clip library. 
  3343.  
  3344.          Select "Select to Clip file" from the "Clip" menu or press 
  3345.       <Sft>+<F9>.  The SMART Editor will append the selected text to the clip 
  3346.       file. 
  3347.  
  3348.       Chapter 7 - How To... 
  3349.       Table of Contents 
  3350.  
  3351.  
  3352. ΓòÉΓòÉΓòÉ 10.28. Clip View Help ΓòÉΓòÉΓòÉ
  3353.  
  3354. Clip View Help 
  3355.  
  3356. You can access ViewHelp Information files, clip ViewHelp text, and add it to 
  3357. your source program or your clip library (refer to How To "Create a Clip 
  3358. Library" page 5-31). 
  3359.  
  3360. Access ViewHelp 
  3361.  
  3362.          Select "Enter ViewHelp..." from the "Help" menu or press <Ctrl>+<V>. 
  3363.  
  3364.          In the "Enter help document, or environment variable" data entry box 
  3365.       within the ViewHelp dialog panel, enter the name of the Information file 
  3366.       or the environment variable within CONFIG.SYS that points to the ViewHelp 
  3367.       files in the system, e.g. PROGREF. 
  3368.  
  3369.          If you know the topic you want to view, in the "Enter help topic" 
  3370.       data entry box within the ViewHelp dialog panel, enter the topic. 
  3371.  
  3372.          Select "Set Document" to display the ViewHelp information. 
  3373.  
  3374.  Clip ViewHelp Text 
  3375.  
  3376.          When you have found the help text that you wish to clip, select 
  3377.       "Services" from the ViewHelp main menu. 
  3378.  
  3379.          Select "Copy to File" or press <Ctrl>+<F> to copy the current help 
  3380.       topic to the ViewHelp TEXT.TMP file, overwriting the data in that file. 
  3381.  
  3382.          Select "Append to File" or press <Ctrl>+<A> to append the current 
  3383.       help topic to the ViewHelp TEXT.TMP file. 
  3384.  
  3385.          The TEXT.TMP file is created by the ViewHelp facility and it resides 
  3386.       in the root directory. 
  3387.  
  3388.  Capture the ViewHelp Text 
  3389.  
  3390.  If you want to insert the clipped ViewHelp text into your The SMART Editor 
  3391.  file: 
  3392.  
  3393.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  3394.  
  3395.          Select the name of The SMART Editor Editor file where you want the 
  3396.       help text to appear.  The SMART Editor will open and display the file. 
  3397.  
  3398.          Move the cursor to the position where the help text is to be 
  3399.       inserted. 
  3400.  
  3401.          Select "Rename Clip File..."  from the "Clip" menu. 
  3402.  
  3403.          Press "Select" in the "Clip File - Filename" dialog panel. 
  3404.  
  3405.          Select TEXT.TMP from the root directory. 
  3406.  
  3407.          Select "Paste Clip File at Cursor" or press <Ctrl>+<I>. 
  3408.  
  3409.  If you want to insert the clipped ViewHelp text into your clip library: 
  3410.  
  3411.          Select "Rename Clip File..."  from the "Clip" menu. 
  3412.  
  3413.          Press "Select" in the "Clip File - Filename" dialog panel. 
  3414.  
  3415.          Select the name of the clip library; e.g. MY_FUNCS.LIB. 
  3416.  
  3417.          Select "Display Clip File" from the "Clip" menu. 
  3418.  
  3419.          Move the cursor to the position where the help text is to be 
  3420.       inserted. 
  3421.  
  3422.          Select "Rename Clip File..."  from the "Clip" menu. 
  3423.  
  3424.          Press "Select" in the Clip File - Filename dialog panel. 
  3425.  
  3426.          Select TEXT.TMP from the root directory. 
  3427.  
  3428.          Select "Paste Clip File at Cursor" or press <Ctrl>+<I>. 
  3429.  
  3430.       Chapter 7 - How To... 
  3431.       Table of Contents 
  3432.  
  3433.  
  3434. ΓòÉΓòÉΓòÉ 10.29. Clip Windows QuickHelp ΓòÉΓòÉΓòÉ
  3435.  
  3436. Clip Examples from a QuickHelp Window 
  3437.  
  3438. Clip Examples from a QuickHelp Window 
  3439.  
  3440. You can access QuickHelp files, clip QuickHelp text, and add it to your source 
  3441. program or your clip library (see How To "Create a Clip Library", page 5-31). 
  3442.  
  3443. Access QuickHelp 
  3444.  
  3445.          Select "Enter Help Window..." from the "Help" menu or press 
  3446.       <Ctrl>+<Q>. 
  3447.  
  3448.          In the "Enter Help Path\Filename" data entry box within the Start 
  3449.       Help dialog panel, enter the name of the QuickHelp file. The default is 
  3450.       "QH.EXE". 
  3451.  
  3452.          In the "Enter Help Parameters" data entry box within the "Start Help" 
  3453.       dialog panel, enter the QuickHelp parameters (the default is "-m32 -l33 
  3454.       -rb -q").  These parameters control the size and appearance of the 
  3455.       QuickHelp window. 
  3456.  
  3457.          Select "Start" to display QuickHelp window. 
  3458.  
  3459.  Define the QuickHelp Paste File 
  3460.  
  3461.          Select "Rename Paste File" from the QuickHelp "File" menu. 
  3462.  
  3463.          Enter the name of the clip file that is to contain the clipped help 
  3464.       text. This can be a previously defined clip library. 
  3465.  
  3466.          Select "Overwrite" from the QuickHelp "Paste Mode" menu to copy the 
  3467.       current help text to the QuickHelp Paste file, overwriting the data in 
  3468.       that file. 
  3469.  
  3470.          Select "Append" from the QuickHelp "Paste Mode" menu to append the 
  3471.       current help text to the QuickHelp Paste file. 
  3472.  
  3473.  Clip QuickHelp Text 
  3474.  
  3475.          When you have found the help text that you wish to clip, Select 
  3476.       "Current Window" or "Current Topic" from the QuickHelp "Paste" menu. 
  3477.  
  3478.          The selected text will be copied or appended to the QuickHelp Paste 
  3479.       file. 
  3480.  
  3481.  Capture the QuickHelp Text 
  3482.  
  3483.  If you want to insert the clipped QuickHelp text into your The SMART Editor 
  3484.  file: 
  3485.  
  3486.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  3487.  
  3488.          Select the name of The SMART Editor Editor file where you want the 
  3489.       help text to appear.  The SMART Editor will open and display the file. 
  3490.  
  3491.          Move the cursor to the position where the help text is to be 
  3492.       inserted. 
  3493.  
  3494.          Select "Rename Clip File..."  from the "Clip" menu. 
  3495.  
  3496.          Press "Select" in the Clip File - Filename dialog panel. 
  3497.  
  3498.          Select the clip file that was previously named in the "Rename Paste 
  3499.       File" from the QuickHelp "File" menu. 
  3500.  
  3501.          Select "Paste Clip File at Cursor" or press <Ctrl>+<I>. 
  3502.  
  3503.  If you want to insert the clipped QuickHelp text into your clip library: 
  3504.  
  3505.          Select "Rename Clip File..."  from the "Clip" menu. 
  3506.  
  3507.          Press "Select" in the Clip File - Filename dialog panel. 
  3508.  
  3509.          Select the name of the clip library; e.g. MY_FUNCS.LIB. 
  3510.  
  3511.          Select "Display Clip File" from the "Clip" menu. 
  3512.  
  3513.          Move the cursor to the position where the help text is to be 
  3514.       inserted. 
  3515.  
  3516.          Select "Rename Clip File..."  from the "Clip" menu. 
  3517.  
  3518.          Press "Select" in the Clip File - Filename dialog panel. 
  3519.  
  3520.          Select the clip file that was previously named in the "Rename Paste 
  3521.       File" from the QuickHelp "File" menu. 
  3522.  
  3523.          Select "Paste Clip File at Cursor" or press <Ctrl>+<I>. 
  3524.  
  3525.       Chapter 7 - How To... 
  3526.       Table of Contents 
  3527.  
  3528.  
  3529. ΓòÉΓòÉΓòÉ 10.30. Display One File in Two Windows ΓòÉΓòÉΓòÉ
  3530.  
  3531. Display One File in Two Windows 
  3532.  
  3533. The SMART Editor does not allow you to open the same file in multiple windows. 
  3534. You can use the clip file to achieve this purpose. 
  3535.  
  3536. Open the File in window #1 
  3537.  
  3538.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  3539.  
  3540.          Select the name of the file.  The SMART Editor will open and display 
  3541.       the file. 
  3542.  
  3543.  Put the Clip File in Replace Mode 
  3544.  
  3545.          Select "Clip File Mode - Append" from the "Clip" menu.  This is a 
  3546.       toggle. When the entry is checked, the clip file is in the append mode 
  3547.       otherwise it is in the replace mode. 
  3548.  
  3549.  Display File in window #2 
  3550.  
  3551.          Select the text you want to view in the second window. 
  3552.  
  3553.          Select "Select to Clip File" from the "Clip" menu or press 
  3554.       <Sft>+<F9>.  The SMART Editor will copy the selected text to the clip 
  3555.       file. 
  3556.  
  3557.          Select the desired split screen format from "Window Configuration" in 
  3558.       the "More" menu. 
  3559.  
  3560.          Select "Display Clip File" from the "Clip" menu to display the file 
  3561.       in the second window. 
  3562.  
  3563.          To insure that you view the file in window #2 but do not update it, 
  3564.       make sure the file edit mode is Read-Only.  The clip file will be opened 
  3565.       in the default edit mode as specified in the "Options" Menu: "Setup 
  3566.       Options...".  If it is opened in Edit mode and you want to change it to 
  3567.       Read-only mode, select "Change File Edit mode" from the "Edit" menu or 
  3568.       press <Ctrl>+<E>.  If you choose to edit both windows, make sure that you 
  3569.       replaced the changed text in window #1 with the changes you made in the 
  3570.       second window. 
  3571.  
  3572.       Chapter 7 - How To... 
  3573.       Table of Contents 
  3574.  
  3575.  
  3576. ΓòÉΓòÉΓòÉ 10.31. Create a Compile Window ΓòÉΓòÉΓòÉ
  3577.  
  3578. Create a Compile Window 
  3579.  
  3580. You can create an OS/2 window to do your compile, direct the errors to a file, 
  3581. specify the error file as a user reference file within The SMART Editor, open 
  3582. the error file and hyperlink to each error.  While the program is being 
  3583. compiled, you can continue to edit any of the files being compiled or other 
  3584. files.  This creates a productive environment for developing applications. 
  3585.  
  3586. Create the Compile Window 
  3587.  
  3588.          Open an OS/2 window. Select "Show OS/2 Window" from the "More" menu 
  3589.       or press <Alt>+<W>. 
  3590.  
  3591.          Run a command file to compile your program, pipe the output to a 
  3592.       file, and beep when done; e.g. 
  3593.  
  3594.       nmake myprogm.exe > mak.err
  3595.      SLSTART.EXE mak.err
  3596.  
  3597.  Open the error file 
  3598.  
  3599.          When the compile is done, you will hear a beep.  Open the error file 
  3600.       by pressing <F10> ("Open Waiting Files"). 
  3601.  
  3602.  HyperLink to Error Source File 
  3603.  
  3604.          Change the directory to the path containing the source code.  Select 
  3605.       "Open/New..." from the "File" menu or press <Alt>+<O>.  Select the 
  3606.       directory containing the source code.  When the Dir: entry displays the 
  3607.       directory containing the source code, press <ESC> ("Cancel"). 
  3608.  
  3609.          Within the make error file, double click on the filename containing 
  3610.       the error.  The SMART Editor will open the file at the line specified. 
  3611.       You can update the source file if you desire. 
  3612.  
  3613.          Select "Last File" or press <Alt>+<B>.  This will bring you back to 
  3614.       the make error file.  The last access error will still be highlighted. 
  3615.       Double click on the filename containing the next error as you did before. 
  3616.  
  3617.       Chapter 7 - How To... 
  3618.       Table of Contents 
  3619.  
  3620.  
  3621. ΓòÉΓòÉΓòÉ 10.32. Lock Scroll Two Windows ΓòÉΓòÉΓòÉ
  3622.  
  3623. Lock Scroll Two Windows 
  3624.  
  3625. Lock Scroll Two Windows 
  3626.  
  3627. "Sync Scroll" is a useful feature to provide you with the capability of easily 
  3628. comparing two files.  After you split the display screen and open two files, 
  3629. you can lock their vertical scroll bars such that a movement in the designated 
  3630. master file will create an automatic movement in the other file. 
  3631.  
  3632. Split the Screen 
  3633.  
  3634.          Select "More" from the main menu bar. 
  3635.  
  3636.          Select "Window Configuration" from the "More" menu. 
  3637.  
  3638.          Select one of the split screen formats. 
  3639.  
  3640.  Open the Files 
  3641.  
  3642.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  3643.  
  3644.          Select the name of the first file.  The SMART Editor will open and 
  3645.       display the file. 
  3646.  
  3647.          Move to the other window.  You can click on the empty window or 
  3648.       select "Swap Focus" from the "Window Control" entry under the "More" 
  3649.       menu. 
  3650.  
  3651.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  3652.  
  3653.          Select the name of the second file.  The SMART Editor will open and 
  3654.       display the file. 
  3655.  
  3656.  Lock Scroll the Files 
  3657.  
  3658.          Place the focus on the window you want to define as the Master. 
  3659.  
  3660.          Select "Sync Scroll" from the "Window Control" entry under the "More" 
  3661.       menu. The two file displays are now locked together.  When you change the 
  3662.       display position in the master file, the other file will move 
  3663.       accordingly.  The reverse is not true. If you wish to reposition the 
  3664.       corresponding displays, you can move the second file independent of the 
  3665.       master. 
  3666.  
  3667.  Disable the Lock Scroll 
  3668.  
  3669.          Select "Sync Scroll" from the "Window Control" entry under the "More" 
  3670.       menu to release the scroll synchronization. 
  3671.  
  3672.       Chapter 7 - How To... 
  3673.       Table of Contents 
  3674.  
  3675.  
  3676. ΓòÉΓòÉΓòÉ 10.33. Create Private Directories ΓòÉΓòÉΓòÉ
  3677.  
  3678. Create Private Directories 
  3679.  
  3680. The SMART Editor provides you with the ability to protect your private 
  3681. directories and files from general usage.  By using the "File Attributes" 
  3682. functionality from the "More" menu, you can specify that a directory, 
  3683. subdirectory and files can be hidden or available for read only. 
  3684.  
  3685. Select the Files 
  3686.  
  3687.          Select "File Attributes..." from the "More" menu. 
  3688.  
  3689.          From the File Attributes dialog panel, select the directories and 
  3690.       files that are to be affected. 
  3691.  
  3692.          Select the "Include All Sub-Directories" checkbox if sub-directories 
  3693.       are to be included. 
  3694.  
  3695.          Select "Set Files Only", "Set Directory Header Only", or "Set Files 
  3696.       and Directory Headers" to indicate whether files, directories, or both 
  3697.       are to affected. 
  3698.  
  3699.  Select the Attributes 
  3700.  
  3701.          Select "Archive", "Read-only", "Hidden" or "System" attributes. The 
  3702.       selected attributes will be set on each defined file or directory.  The 
  3703.       deselected attributes will be cleared on each defined file or directory. 
  3704.  
  3705.  Set the Attributes 
  3706.  
  3707.          Select "Set Attributes" to update all defined files and directories 
  3708.       with all defined attributes. 
  3709.  
  3710.       Chapter 7 - How To... 
  3711.       Table of Contents 
  3712.  
  3713.  
  3714. ΓòÉΓòÉΓòÉ 10.34. Create General Directories ΓòÉΓòÉΓòÉ
  3715.  
  3716. Create General Directories 
  3717.  
  3718. The SMART Editor allows you to create directories by command.  Also, when you 
  3719. copy files and subdirectories to diskettes, sub-directories are automatically 
  3720. created as needed. 
  3721.  
  3722.          Select "Copy Files..." from the "More" menu. 
  3723.  
  3724.          Select the base directory in the "To" directory side of the Copy/Move 
  3725.       Files dialog panel.  The new directory will be a sub-directory off of 
  3726.       this base destination directory. 
  3727.  
  3728.          You can type in a directory name in the "To" "File" data entry box in 
  3729.       the Copy/Move Files dialog panel.  Select "Make Dir" and the directory 
  3730.       will be created. 
  3731.  
  3732.          If you select "Make Dir" from the Copy/Move Files dialog panel and 
  3733.       there is no directory name entered in the "To" "File" data entry box 
  3734.       (*.*), the new directory name is derived from the last directory name in 
  3735.       the current "From" directory. 
  3736.  
  3737.       Chapter 7 - How To... 
  3738.       Table of Contents 
  3739.  
  3740.  
  3741. ΓòÉΓòÉΓòÉ 10.35. Delete Directories ΓòÉΓòÉΓòÉ
  3742.  
  3743. Delete Directories & Files 
  3744.  
  3745. The SMART Editor allows you to delete directories as well as files by selecting 
  3746. "Delete Files..." from the "More" menu. 
  3747.  
  3748. Delete the Current Directory 
  3749.  
  3750.          Select "Delete Files..." from the "More" menu. 
  3751.  
  3752.          Select the current directory in the Delete Files/Directories dialog 
  3753.       panel. 
  3754.  
  3755.          Select "Remove THIS Directory" in the Delete Files/Directories dialog 
  3756.       panel. 
  3757.  
  3758.          Select "Delete" in the Delete Files/Directories dialog panel. All 
  3759.       files within the current directory will be deleted and the directory will 
  3760.       be deleted. 
  3761.  
  3762.  Delete Sub-Directories 
  3763.  
  3764.          Select "Delete Files..." from the "More" menu. 
  3765.  
  3766.          Select the current directory in the Delete Files/Directories dialog 
  3767.       panel. 
  3768.  
  3769.          Select "Remove Sub-Directories" in the Delete Files/Directories 
  3770.       dialog panel. 
  3771.  
  3772.          Check "Verify Sub-Directories" in the Delete Files/Directories dialog 
  3773.       panel if you want to be prompted prior to deleting each sub-directory. 
  3774.  
  3775.          Select "Delete" in the Delete Files/Directories dialog panel.  All 
  3776.       subdirectories and their files will be deleted. 
  3777.  
  3778.       Chapter 7 - How To... 
  3779.       Table of Contents 
  3780.  
  3781.  
  3782. ΓòÉΓòÉΓòÉ 10.36. Use "C" Templates ΓòÉΓòÉΓòÉ
  3783.  
  3784. Use "C" Templates 
  3785.  
  3786. "C" Templates enable you to enter an identifier, press an accelerator key, and 
  3787. have the identifier replaced by predefined text. 
  3788.  
  3789. Automated 'C' templates are generated from the supplied macro "SMARTC.REX" in 
  3790. the "SLINK2\MACROS" directory.  You can modify this macro to meet your specific 
  3791. template needs.  You can also add your own templates. 
  3792.  
  3793. The supplied template generates code for the following: for, while, if, braces, 
  3794. switch, case, do, comments, function header. 
  3795.  
  3796. Enter the Template Identifier 
  3797.  
  3798.          Place the cursor at the position you want the template inserted. 
  3799.  
  3800.          Type an identifier for the desired template. 
  3801.  
  3802.          f  Generates "for( ; ; )" and then positions you before the first 
  3803.       semicolon. 
  3804.  
  3805.          b  Generates an open brace "{" on a separate line, a blank line, and a 
  3806.       closing brace  "}" on a separate line, and then positions you on the line 
  3807.       between the braces. 
  3808.  
  3809.          w  Generates "while( )" and then positions you between the 
  3810.       parentheses. 
  3811.  
  3812.          s  Generates "switch( )" and then positions you between the 
  3813.       parentheses. 
  3814.  
  3815.          c  Generates "case :" and then positions you before the colon. 
  3816.  
  3817.          d  Generates "do" on a separate line, an open brace on a separate 
  3818.       line, a blank line, and a closing brace with a while clause "} while ( )" 
  3819.       on a separate line, and then positions you on the line between the 
  3820.       braces. 
  3821.  
  3822.          i  Generates "if( )" and then positions you between the parentheses. 
  3823.  
  3824.          cl Prompts you for comment text, generates "/* Your Comment Text */" 
  3825.       followed by a newline and then positions you at the first character of 
  3826.       the next line. 
  3827.  
  3828.          ce Prompts you for comment text, generates "// Your Comment Text" at 
  3829.       column 45 of the current line if it is available, otherwise is generates 
  3830.       a newline above the current line and adds the comment to column 45 of the 
  3831.       new line. Then it positions you following the comment. 
  3832.  
  3833.          h  Prompts you for Header text and generates the following function 
  3834.       header: 
  3835.  
  3836.  Invoke the Template Macro 
  3837.  
  3838.          Select "Templates" from the "Macro" Menu or press <SHIFT><F12>. This 
  3839.       invodes the template macro "\SLINK2\MACROS\SMARTC.REX". The template code 
  3840.       replaces the identifier. 
  3841.  
  3842.       Chapter 7 - How To... 
  3843.       Table of Contents 
  3844.  
  3845.  
  3846. ΓòÉΓòÉΓòÉ 10.37. Define User Macro Files ΓòÉΓòÉΓòÉ
  3847.  
  3848. Define User Macro Files 
  3849.  
  3850. The SMART Editor allows you to register up to fifteen of your own macro files. 
  3851. Once you have defined a macro, you can run it from the drop down menu under 
  3852. "User Defined Macros" in the "Macro" menu. You can optionally assign an 
  3853. accelerator key to the macro and run it using that accelerator key. 
  3854.  
  3855. Display the List of User Defined Macros 
  3856.  
  3857.          Select "Define Menu Item" in the "Macro" menu. 
  3858.  
  3859.          The SMART Editor will display all user defined macros in a listbox. 
  3860.  
  3861.          Select "Add" from the Macro Menu Items dialog panel. 
  3862.  
  3863.  Define the New Macro 
  3864.  
  3865.          Specify the legend in the Add Macro Menu Item dialog panel. This is 
  3866.       the text that will appear in the "User Defined Macros" drop down menu. 
  3867.  
  3868.          Select or enter the macro filename. 
  3869.  
  3870.          You can optionally specify an argument that will be passed to the 
  3871.       macro when it is executed. 
  3872.  
  3873.          You can optionally specify an accelerator key that will be associated 
  3874.       with the macro. 
  3875.  
  3876.          You can optionally specify that you are to be notified when the macro 
  3877.       is completed. 
  3878.  
  3879.  Run the Macro 
  3880.  
  3881.         If the macro was assigned an accelerator key, you can enter the 
  3882.       accelerator key to run the macro. 
  3883.  
  3884.          Select "User Defined Macros" from the "Macro" menu. Select the macro 
  3885.       from the "User Defined Macros" drop down menu. 
  3886.  
  3887.       Chapter 7 - How To... 
  3888.       Table of Contents 
  3889.  
  3890.  
  3891. ΓòÉΓòÉΓòÉ 10.38. Direct Macro Output to a File ΓòÉΓòÉΓòÉ
  3892.  
  3893. Run a Rexx Macro File With the Output Piped To a File 
  3894.  
  3895. The SMART Editor permits Rexx macros to be run in three different environments. 
  3896. You can run a macro file with all output directed to a file. You can run a 
  3897. macro with all output directed to the interactive macro window. You can run a 
  3898. Rexx statement in interactive mode. However, when the interactive macro window 
  3899. is active, all output is directed to the interactive window. 
  3900.  
  3901. Clear the Macro Output File 
  3902.  
  3903.          Select "Clear Macro Output" from the "Macro" menu. 
  3904.  
  3905.  Select and Run a Macro File 
  3906.  
  3907.          Select "Run Macro File" from the "Macro" menu. 
  3908.  
  3909.          Select the macro filename. 
  3910.  
  3911.          Enter any arguments you want to pass to the macro. 
  3912.  
  3913.          Select "Trace On" if you want trace statements to be embedded in the 
  3914.       output file. 
  3915.  
  3916.          The SMART Editor will run the macro. 
  3917.  
  3918.  Run a User Defined Macro 
  3919.  
  3920.          Select "User Defined Macros" from the "Macro" menu. 
  3921.  
  3922.          Select the predefined macro you want to run. 
  3923.  
  3924.          The SMART Editor will run the macro. 
  3925.  
  3926.  Display the Macro Output File 
  3927.  
  3928.          Unless the Interactive Window exists, The SMART Editor will pipe the 
  3929.       output to a file, "SL_@##.Out".  This file is stored in the SL_TEMP2 
  3930.       directory defined in "CONFIG.SYS"; @ defines the day of the week, ## 
  3931.       defines the current instance of The SMART Editor. 
  3932.  
  3933.          Select "Macro Output" from the "Ref" menu to display the macro 
  3934.       output. 
  3935.  
  3936.       Chapter 7 - How To... 
  3937.       Table of Contents 
  3938.  
  3939.  
  3940. ΓòÉΓòÉΓòÉ 10.39. Direct Macro Output to a Window ΓòÉΓòÉΓòÉ
  3941.  
  3942. Run a Rexx Macro File With the Output Displayed in a Window 
  3943.  
  3944. The SMART Editor permits Rexx macros to be run in three different environments. 
  3945. You can run a macro file with all output directed to a file. You can run a 
  3946. macro with all output directed to the interactive macro window. You can run a 
  3947. Rexx statement in interactive mode. However, when the interactive macro window 
  3948. is active, all output is directed to the interactive window. 
  3949.  
  3950. Make the Interactive Window Active 
  3951.  
  3952.          Select "Interactive Macro Window" from the "Macro" menu. 
  3953.  
  3954.  Select and Run a Macro 
  3955.  
  3956.          Select "Run Macro File" from the "Macro" menu or select "Run Macro 
  3957.       File" from the "File" menu in the Interactive Commands window. 
  3958.  
  3959.          Select the macro filename. 
  3960.  
  3961.          Enter any arguments you want to pass to the macro. 
  3962.  
  3963.          Select "Trace On" if you want trace statements to be embedded in the 
  3964.       output window. 
  3965.  
  3966.          The SMART Editor will run the macro. 
  3967.  
  3968.          The SMART Editor will display all output in the Interactive Macro 
  3969.       window. 
  3970.  
  3971.  Run a User Defined Macro 
  3972.  
  3973.          If the macro was assigned an accelerator key, you can enter the 
  3974.       accelerator key to run the macro. 
  3975.  
  3976.          Select "User Defined Macros" from the "Macro" menu. 
  3977.  
  3978.          Select the predefined macro you want to run. 
  3979.  
  3980.          The SMART Editor will run the macro. 
  3981.  
  3982.          The SMART Editor will display all output in the Interactive Macro 
  3983.       window. 
  3984.  
  3985.       Chapter 7 - How To... 
  3986.       Table of Contents 
  3987.  
  3988.  
  3989. ΓòÉΓòÉΓòÉ 10.40. Single Step a Rexx Macro File ΓòÉΓòÉΓòÉ
  3990.  
  3991. Single Step a Rexx Macro File 
  3992.  
  3993. In order to single step through a macro file, you must have the interactive 
  3994. menu active and trace must be enabled. 
  3995.  
  3996. Make the Interactive Window Active 
  3997.  
  3998.          Select "Interactive Macro Window" from the "Macro" menu. 
  3999.  
  4000.  Select and Run a Macro with the Output Displayed in a Window 
  4001.  
  4002.          Select "Run Macro File" from the "Macro" menu or select "Run Macro 
  4003.       File" from the "File" menu in the Interactive Commands window. 
  4004.  
  4005.          Select the macro filename. 
  4006.  
  4007.          Enter any arguments you want to pass to the macro. 
  4008.  
  4009.          Select "Trace On". 
  4010.  
  4011.          The SMART Editor will run the first statement in the macro file and 
  4012.       display the trace information in the interactive Macro window. 
  4013.  
  4014.  Single Step Through the Macro File 
  4015.  
  4016.          To execute the next statement in the macro file, either press "Enter" 
  4017.       in the interactive window data entry box, or select "Trace Next" from the 
  4018.       "File" menu in the Interactive window. 
  4019.  
  4020.          To re-execute the last statement in the macro file, either enter an 
  4021.       equal sign "=" in the interactive window data entry box and press 
  4022.       "Enter", or select "Trace Last" from the "File" menu in the Interactive 
  4023.       window. 
  4024.  
  4025.          You can enter any OS/2 or Rexx command in the interactive window data 
  4026.       entry box and it will be executed and traced. 
  4027.  
  4028.  Turn Trace Off 
  4029.  
  4030.          To turn trace off while in Single Step mode, you must enter "Trace 
  4031.       Off" in the interactive window data entry box and press "Enter". 
  4032.  
  4033.       Chapter 7 - How To... 
  4034.       Table of Contents 
  4035.  
  4036.  
  4037. ΓòÉΓòÉΓòÉ 10.41. Use Tracks ΓòÉΓòÉΓòÉ
  4038.  
  4039. Use "Tracks" to Re-Create Prior The SMART Editor Environment 
  4040.  
  4041. The SMART Editor keeps a "Tracks" reference file which contains entries that 
  4042. represent the filename and cursor position for each file when you switch to 
  4043. another display.  It's no surprise that the format of these tracks allows us to 
  4044. double click on any one of the lines to place ourselves back where we came 
  4045. from. 
  4046.  
  4047. Saving The SMART Editor Environment 
  4048.  
  4049.          The The SMART Editor environment (opened The SMART Editor files) is 
  4050.       automatically saved in the system LASTTRKS.LOG file.  This file resides 
  4051.       in the SLINK2 directory defined in your CONFIG.SYS file. If The SMART 
  4052.       Editor current instance contains its own INI file, the LASTTRKS.LOG file 
  4053.       is stored with the INI file. 
  4054.  
  4055.  Restoring the Previous The SMART Editor Environment 
  4056.  
  4057.          Open the file LASTTRKS.LOG. 
  4058.  
  4059.          Click on each file that you want redisplayed.  They will be opened 
  4060.       and positioned at the cursor position that was active when the track 
  4061.       entry was made. 
  4062.  
  4063.       Chapter 7 - How To... 
  4064.       Table of Contents 
  4065.  
  4066.  
  4067. ΓòÉΓòÉΓòÉ 10.42. Use Shutdown and Startup Macros ΓòÉΓòÉΓòÉ
  4068.  
  4069. Use Shutdown and Startup Macros 
  4070.  
  4071. Use the Supplied Shutdown Macro to Save the Current The SMART Editor 
  4072. Environment 
  4073.  
  4074. The SMART Editor allows you to define a macro that will be automatically run 
  4075. when The SMART Editor is closed. 
  4076.  
  4077. The SMART Editor supplies the macro "SAVE_ENV.REX" in the "SLINK2\MACROS" 
  4078. directory. This macro opens an ASCII text file. The name of the file can be 
  4079. passed in as an argument or it will prompt for the name of the file. The macro 
  4080. writes an ASCII line of data for each opened The SMART Editor file. This 
  4081. contains the line, column, edit mode and word wrap mode for the file. 
  4082.  
  4083. Run the Supplied Shutdown Macro Automatically 
  4084.  
  4085.          Select "Setup Options" from the "Options" menu. 
  4086.  
  4087.          Select "Shutdown Macro" from the Setup Options dialog box. 
  4088.  
  4089.          Select or enter the name of the macro file, "SAVE_ENV.REX". 
  4090.  
  4091.          Enter the name of the file that will contain the environment 
  4092.       information as an argument. This filename will be passed to the macro 
  4093.       when it is executed. 
  4094.  
  4095.          The SMART Editor will automatically run this macro when The SMART 
  4096.       Editor is closed. 
  4097.  
  4098.  Selectively Run the Supplied Shutdown Macro 
  4099.  
  4100.          Add the supplied shutdown macro to your list of User Defined Macros. 
  4101.       (See "Define User Macro Files", page 5-41.) 
  4102.  
  4103.          Run the Shutdown Macro when you want to save the current environment. 
  4104.       If the macro was assigned an accelerator key, you can enter the 
  4105.       accelerator key to run the macro. Otherwise, select "User Defined Macros" 
  4106.       from the "Macro" menu and then select the macro from the "User Defined 
  4107.       Macros" drop down menu. 
  4108.  
  4109.  Define Your Own Shutdown Macro 
  4110.  
  4111.          Write your own shutdown macro. 
  4112.  
  4113.          To run your shutdown macro automatically, add your shutdown macro to 
  4114.       the "Shutdown Macro" Setup Options panel as described above. 
  4115.  
  4116.          To selectively run the shutdown macro, add your shutdown macro to 
  4117.       your list of User Defined Macros. (See "Define User Macro Files", page 
  4118.       5-41.) 
  4119.  
  4120.  Use the Supplied Startup Macro to Restore the Previous The SMART Editor 
  4121.  Environment 
  4122.  
  4123.  The SMART Editor allows you to define a macro that will be automatically run 
  4124.  when The SMART Editor is opened. 
  4125.  
  4126.  The SMART Editor supplies the macro "REST_ENV.REX" in the "SLINK2\MACROS" 
  4127.  directory. This macro reads the ASCII text file created by the "SAVE_ENV.REX" 
  4128.  macro. (See "Use the Supplied Shutdown Macro to Save the Current Environment", 
  4129.  page  5-45.) The name of the file can be passed in as an argument or it will 
  4130.  prompt for the name of the file. The macro opens and positions each file 
  4131.  described in the environment ASCII file. 
  4132.  
  4133.  Run the Supplied Startup Macro Automatically 
  4134.  
  4135.          Select "Setup Options" from the "Options" menu. 
  4136.  
  4137.          Select "Startup Macro" from the Setup Options dialog box. 
  4138.  
  4139.          Select or enter the name of the macro file, "REST_ENV.REX". 
  4140.  
  4141.          Enter the name of the file that will contain the environment 
  4142.       information as an argument. This filename will be passed to the macro 
  4143.       when it is executed. This should be the name of the file used in the 
  4144.       "SAVE_ENV.REX" macro. 
  4145.  
  4146.          The SMART Editor will automatically run this macro when The SMART 
  4147.       Editor is opened. 
  4148.  
  4149.  Selectively Run the Supplied Startup Macro 
  4150.  
  4151.          Add the supplied start-up macro to your list of User Defined Macros. 
  4152.       (See "Define User Macro Files", page .) 
  4153.  
  4154.          Run the Startup Macro when you want to restore the previous 
  4155.       environment. If the macro was assigned an accelerator key, you can enter 
  4156.       the accelerator key to run the macro. Otherwise, select "User Defined 
  4157.       Macros" from the "Macro" menu and then select the macro from the "User 
  4158.       Defined Macros" drop down menu. 
  4159.  
  4160.  Define Your Own Startup Macro 
  4161.  
  4162.          Write your own start-up macro. 
  4163.  
  4164.          To run your start-up macro automatically, add your start-up macro to 
  4165.       the "Startup" Setup Options panel as described above. 
  4166.  
  4167.          To selectively run the start-up macro, add your start-up macro to 
  4168.       your list of User Defined Macros. (See "Define User Macro Files", page .) 
  4169.  
  4170.       Chapter 7 - How To... 
  4171.       Table of Contents 
  4172.  
  4173.  
  4174. ΓòÉΓòÉΓòÉ 10.43. Popup an OS/2 Command Window ΓòÉΓòÉΓòÉ
  4175.  
  4176. Popup an OS/2 Command Window 
  4177.  
  4178. You can easily popup an OS/2 command window from within The SMART Editor. 
  4179.  
  4180.          Just select "Show OS/2 Window" from the "More" menu or press 
  4181.       <Alt>+<W> and an OS/2 command file is ready for your use.  It will open 
  4182.       to the current directory path of wherever you are in The SMART Editor. 
  4183.  
  4184.       Chapter 7 - How To... 
  4185.       Table of Contents 
  4186.  
  4187.  
  4188. ΓòÉΓòÉΓòÉ 10.44. Define User Command Files ΓòÉΓòÉΓòÉ
  4189.  
  4190. Define User Command Files 
  4191.  
  4192. The SMART Editor allows you to register up to fifteen of your own command 
  4193. files. Once you have defined a command file, you can run it from the drop down 
  4194. menu under the "Start" menu. You can optionally assign an accelerator key to 
  4195. the command file and run it using that accelerator key. 
  4196.  
  4197. These processes are independent (detached) from The SMART Editor.  You may 
  4198. close The SMART Editor and the processes running will not be terminated. 
  4199.  
  4200. Display the List of User Defined Commands 
  4201.  
  4202.          Select "Define Menu Item" in the "Start" menu. 
  4203.  
  4204.          The SMART Editor will display all user defined command files in a 
  4205.       listbox. 
  4206.  
  4207.          Select "Add" from the Command Menu Items dialog panel. 
  4208.  
  4209.  Define the New Command File 
  4210.  
  4211.          Specify the legend in the Add Command Menu Item dialog panel. This is 
  4212.       the text that will appear in the drop down menu under the "Start" menu. 
  4213.  
  4214.          Select or enter the command filename. 
  4215.  
  4216.          You can optionally specify an argument that will be passed to the 
  4217.       command file when it is executed. 
  4218.  
  4219.          You can optionally specify an accelerator key that will be associated 
  4220.       with the command file. 
  4221.  
  4222.          You should check the Command File checkbox to indicate that CMD.EXE 
  4223.       or an alternative command processor will be executed. 
  4224.  
  4225.  the Command File 
  4226.  
  4227.          If the command file was assigned an accelerator key, you can enter 
  4228.       the accelerator key to run the command file. 
  4229.  
  4230.          Select the "Start" menu. Select the command name from the drop down 
  4231.       menu. 
  4232.  
  4233.       Chapter 7 - How To... 
  4234.       Table of Contents 
  4235.  
  4236.  
  4237. ΓòÉΓòÉΓòÉ 10.45. Register a Command Set ΓòÉΓòÉΓòÉ
  4238.  
  4239. Register a Set of Commands and Run 
  4240.  
  4241. The SMART Editor allows you to register and run a set of commands to be 
  4242. executed. 
  4243.  
  4244. This will allow you to enter something simple like "COPY c:\myfile A:" or a set 
  4245. of commands like "C: & CD \mydir & DIR *.* > dir.txt & SLStart dir.txt".  This 
  4246. convenience option eliminates the requirement for creating a separate command 
  4247. file for simple operations, if you choose to do so.  Note that the command line 
  4248. above uses the ampersand to concatenate multiple commands on the same command 
  4249. line; up to 127 characters are allowed.  The command line shown above sets a 
  4250. path, gets a directory (directed to a file), then sends this back to The SMART 
  4251. Editor via SLSTART. 
  4252.  
  4253. Display the List of User Defined Commands 
  4254.  
  4255.          Select "Define Menu Item" in the "Start" menu. 
  4256.  
  4257.          The SMART Editor will display the names of all user defined command 
  4258.       files or sets of commands in a listbox. 
  4259.  
  4260.          Select "Add" from the Command Menu Items dialog panel. 
  4261.  
  4262.  Define the New Set of Commands 
  4263.  
  4264.          Specify the legend in the Add Command Menu Item dialog panel. This is 
  4265.       the text that will appear in the drop down menu under the "Start" menu. 
  4266.  
  4267.          Enter the set of commands. 
  4268.  
  4269.          You can optionally specify an accelerator key that will be associated 
  4270.       with the set of commands. 
  4271.  
  4272.          You should check the Command File checkbox to indicate that CMD.EXE 
  4273.       or an alternative command processor will be executed. 
  4274.  
  4275.  Run the Set of Commands 
  4276.  
  4277.          If the set of commands was assigned an accelerator key, you can enter 
  4278.       the accelerator key to run the commands. 
  4279.  
  4280.          Select the "Start" menu. Select the command name from the drop down 
  4281.       menu. 
  4282.  
  4283.       Chapter 7 - How To... 
  4284.       Table of Contents 
  4285.  
  4286.  
  4287. ΓòÉΓòÉΓòÉ 10.46. Assign an Alternate Command Processor ΓòÉΓòÉΓòÉ
  4288.  
  4289. Assign an Alternate Command Processor 
  4290.  
  4291. You can specify the command processor such as "4OS2" that will be used for the 
  4292. command files under the "Start" menu, the generated The SMART Editor OS/2 
  4293. window, and OS/2 commands within a Rexx macro. 
  4294.  
  4295. The default is "CMD.EXE". 
  4296.  
  4297.          Select "Setup Options..." under the "Options" menu or press 
  4298.       "CTRL>+<O>. 
  4299.  
  4300.          Select or enter the filename of the command processor that you want 
  4301.       to use under Command Processor in The SMART Editor Editor Setup Options 
  4302.       dialog panel. 
  4303.  
  4304.       Chapter 7 - How To... 
  4305.       Table of Contents 
  4306.  
  4307.  
  4308. ΓòÉΓòÉΓòÉ 10.47. Use Drap and Drop ΓòÉΓòÉΓòÉ
  4309.  
  4310. Use File Drag and Drop between Applications 
  4311.  
  4312. The SMART Editor supports the OS/2 file drag and drop function.  You can select 
  4313. multiple files from any application that supports the drag and drop function, 
  4314. use the right mouse button to drag the files to The SMART Editor, and The SMART 
  4315. Editor will open the dropped files.  Not all applications support this feature 
  4316. and/or may not be compatible with The SMART Editor Editor format. 
  4317.  
  4318. The SMART Editor supports a file drop in the main edit window, over the 
  4319. minimized The SMART Editor icon, and in the "Files List" listbox in the 
  4320. "Maintain List of Files" function under the "Link" menu. 
  4321.  
  4322. Example of Drag and Drop 
  4323.  
  4324.          Resize The SMART Editor Editor window so that you can display The 
  4325.       SMART Editor with another OS/2 window. 
  4326.  
  4327.          Select the files in the application listbox which you wish to open in 
  4328.       The SMART Editor. 
  4329.  
  4330.          Press and hold the right mouse button to drag the selected files to 
  4331.       The SMART Editor Editor window.  Release to drop files. 
  4332.  
  4333.       Chapter 7 - How To... 
  4334.       Table of Contents 
  4335.  
  4336.  
  4337. ΓòÉΓòÉΓòÉ 10.48. Process Workframe/2 Errors ΓòÉΓòÉΓòÉ
  4338.  
  4339. Process Workframe/2 Errors 
  4340.  
  4341. You can process compile errors directly from the IBM WorkFrame/2. This process 
  4342. may sound involved, however with a bit of experience it works quite easily. Now 
  4343. you can have the power and flexibility of both The SMART Editor and the IBM 
  4344. WorkFrame/2 working in unison. 
  4345.  
  4346. Configure the Workframe/2 Environment 
  4347.  
  4348.          Configure the Workframe/2 editor to be "SLSTART.EXE" with the 
  4349.       parameters "%a %z". 
  4350.  
  4351.          Be sure and have your WorkFrame/2 Language settings set to "IBM 
  4352.       C-Set/2" (assuming you are using the IBM compiler), otherwise you will 
  4353.       not have access to on-line help for the errors, nor will you be able to 
  4354.       go directly to the column position of the selected error (you will be 
  4355.       able to just go to the line number). 
  4356.  
  4357.  Configure The SMART Editor Environment 
  4358.  
  4359.          Select "Enable WorkFrame/2 Errors" under the "Options" menu. 
  4360.  
  4361.          Check "Enable WorkFrame/2 Errors" 
  4362.  
  4363.  Run The SMART Editor 
  4364.  
  4365.          An errors session can be started without a running instance of The 
  4366.       SMART Editor.  In this case, specify SLStart as the Workframe/2 editor 
  4367.       and it will be used to automatically start The SMART Editor. 
  4368.  
  4369.          You can also start with an instance of The SMART Editor running 
  4370.       (minimized or sized as you like). 
  4371.  
  4372.  Compile Your File 
  4373.  
  4374.          Compile your file or run a 'make' from the WorkFrame/2 "Action" menu. 
  4375.  
  4376.          In the WorkFrame/2 Monitor window, your compile errors will scroll 
  4377.       by. 
  4378.  
  4379.  Send the Errors to The SMART Editor 
  4380.  
  4381.          At the conclusion of your compile, you can send these errors to The 
  4382.       SMART Editor in either of two methods. 
  4383.  
  4384.          You can double click on an error line in the Monitor Window within 
  4385.       the Workframe. You will be notified when the WorkFrame has transfered the 
  4386.       source code file representing the error; "Files Waiting" will appear on 
  4387.       The SMART Editor Editor title bar. 
  4388.  
  4389.          You can select an error line (single mouse click), then press the 
  4390.       right mouse button down (center button for 3 button mice) and drag the 
  4391.       errors over The SMART Editor.  Release the mouse button to complete the 
  4392.       drop. 
  4393.  
  4394.  Process the Errors 
  4395.  
  4396.          Open The SMART Editor Editor "Files" menu, and press "Open Waiting 
  4397.       Files". The source code for the error will appear in The SMART Editor 
  4398.       Editor window, an "Errors" menu item will appear, and an ErrorsList 
  4399.       listbox will appear.  The "Errors" menu item on the main menu bar is 
  4400.       present only during an errors session with the Workframe/2.  You have the 
  4401.       freedom to perform any The SMART Editor functions while you are in a 
  4402.       WorkFrame/2 error session. 
  4403.  
  4404.          You can select any error for this source file by selecting the error 
  4405.       from The SMART Editor Editor ErrorsList box or by selecting Next or Prior 
  4406.       error from the "Errors" menu. 
  4407.  
  4408.          You can even get help for any of the errors by pressing the "Help" 
  4409.       button within the "ErrorsList box" or by selecting "Error Help" from the 
  4410.       "Errors" menu. 
  4411.  
  4412.          If you wish to "Hide" this ErrorsList Box, you can do so by selecting 
  4413.       "Hide Errors List" from the "Errors" menu.  If you wish to later show the 
  4414.       box, press "Show Errors List" under the "Errors" menu. 
  4415.  
  4416.  Close the Error Session 
  4417.  
  4418.          When you have completed your session with this particular source file 
  4419.       in error press "Close Errors List" from the "Errors" menu. 
  4420.  
  4421.          The errors session will automatically be closed with a specific 
  4422.       source file if you close the WorkFrame/2 Monitor Window. 
  4423.  
  4424.          The errors session will automatically be closed with a specific 
  4425.       source file if you select another source file with errors from the 
  4426.       WorkFrame/2 Monitor Window. 
  4427.  
  4428.       Chapter 7 - How To... 
  4429.       Table of Contents 
  4430.  
  4431.  
  4432. ΓòÉΓòÉΓòÉ 10.49. Disable File Passing ΓòÉΓòÉΓòÉ
  4433.  
  4434. Disable Files From Being Passed to The SMART Editor 
  4435.  
  4436. You can prevent The SMART Editor from accepting any files from any other 
  4437. application. 
  4438.  
  4439.          Check "Ignore SLSTART" under the "Options" menu. 
  4440.  
  4441.          If this is the only instance of The SMART Editor, SLStart will create 
  4442.       a new instance if a file is to be passed. 
  4443.  
  4444.       Chapter 7 - How To... 
  4445.       Table of Contents 
  4446.  
  4447.  
  4448. ΓòÉΓòÉΓòÉ 10.50. File Notification ΓòÉΓòÉΓòÉ
  4449.  
  4450. Notify When a File is Passed to The SMART Editor 
  4451.  
  4452. You can inform The SMART Editor that you want to be notified whenever a file is 
  4453. being sent to you from another application. 
  4454.  
  4455.          Check "Notify - Received File(s) from the "Options" menu. 
  4456.  
  4457.          You will receive a 'BEEP-BEEP' (Road-Runner style) when files are 
  4458.       sent from SLSTART and ready to be opened using "Open Waiting Files" under 
  4459.       the "File" menu. 
  4460.  
  4461.          The The SMART Editor title bar will indicate "Waiting Files" whether 
  4462.       this item is checked or not checked. 
  4463.  
  4464.       Chapter 7 - How To... 
  4465.       Table of Contents 
  4466.  
  4467.  
  4468. ΓòÉΓòÉΓòÉ 10.51. Restore Application ΓòÉΓòÉΓòÉ
  4469.  
  4470. Restore The SMART Editor When a File is Passed to The SMART Editor 
  4471.  
  4472. Restore The SMART Editor When a File is Passed to The SMART Editor 
  4473.  
  4474. You can inform The SMART Editor that you want to have The SMART Editor restored 
  4475. from a minimized icon upon receipt of filenamesfrom SLSTART. 
  4476.  
  4477.          Check "Restore - Received File(s)" from the "Options" menu. 
  4478.  
  4479.       Chapter 7 - How To... 
  4480.       Table of Contents 
  4481.  
  4482.  
  4483. ΓòÉΓòÉΓòÉ 10.52. Auto-Open a File ΓòÉΓòÉΓòÉ
  4484.  
  4485. Automatically Open a File Passed to The SMART Editor 
  4486.  
  4487. You can inform The SMART Editor that you want files sent from SLSTART to be 
  4488. automatically opened (without waiting "Files Waiting"). 
  4489.  
  4490.          The SMART Editor will only open the files being passed if The SMART 
  4491.       Editor is inactive and if the current screen is blank. 
  4492.  
  4493.          Check "Auto Open Waiting (if free)" from the "Options" menu. 
  4494.  
  4495.       Chapter 7 - How To... 
  4496.       Table of Contents 
  4497.  
  4498.  
  4499. ΓòÉΓòÉΓòÉ 10.53. Print a File ΓòÉΓòÉΓòÉ
  4500.  
  4501. Print a File or Part of a File 
  4502.  
  4503. You can format and print The SMART Editor Editor file or a portion of The SMART 
  4504. Editor Editor file.  The SMART Editor does pagination automatically, and prints 
  4505. the filename, date/time stamp and page number at the top of each page.  You 
  4506. select printing through the "Printing" option on the "More" menu. 
  4507.  
  4508. The printing is performed from The SMART Editor Editor created print file as if 
  4509. you entered "Print" from the OS/2 command line. 
  4510.  
  4511. Open the File 
  4512.  
  4513.          Select "Open/New..." from the "File" menu or press <Alt>+<O>. 
  4514.  
  4515.          Select the name of the file.  The SMART Editor will open and display 
  4516.       the file. 
  4517.  
  4518.  Print the File 
  4519.  
  4520.          To print the entire file, select "Printing" from the "More" menu and 
  4521.       then select "Print Current File/Select" from the "Printing" menu or press 
  4522.       <Alt>+<P>. 
  4523.  
  4524.          Select "Ok" to the advisory message box that appears and the file 
  4525.       will be printed. 
  4526.  
  4527.  Print Selected Text 
  4528.  
  4529.          Select the text you want to print. 
  4530.  
  4531.          Select "Printing" from the "More" menu and then select "Print Current 
  4532.       File/Select" from the "Printing" menu or press <Alt>+<P>. 
  4533.  
  4534.          You can set the formatting options for the printed file by selecting 
  4535.       and setting the options in "Formatting Options" from the "Printing" menu. 
  4536.  
  4537.       Chapter 7 - How To... 
  4538.       Table of Contents 
  4539.  
  4540.  
  4541. ΓòÉΓòÉΓòÉ 10.54. Define User Reference Files ΓòÉΓòÉΓòÉ
  4542.  
  4543. User reference files provide you with the capability of easily accessing up to 
  4544. eight user defined files.  You can define your own user reference files by 
  4545. using the "Ref" menu "Define Files A->H" function. 
  4546.  
  4547. Define User Reference File 
  4548.  
  4549.          Select "Define Ref Files A->H..." from the "Ref" menu.  You can 
  4550.       define eight reference files: A through H. 
  4551.  
  4552.          To define a reference file, select "Add" in the "User Ref Files Menu 
  4553.       Item" dialog panel. 
  4554.  
  4555.          Select the name of the file you want to be defined as user reference 
  4556.       file. 
  4557.  
  4558.          If you want the "Ref" menu to display a description other than the 
  4559.       path and filename of the reference file, enter a description of the file 
  4560.       in the "Menu File Legend" data entry box. 
  4561.  
  4562.  Open User Reference File 
  4563.  
  4564.          To open a User Reference File, Select the file listed under the "Ref" 
  4565.       menu. (The path and filename of User Reference File or the entered "Menu 
  4566.       File Legend" will be displayed. You can also type the accelerator key 
  4567.       sequence <Alt>,<R>,and the letter of the file selection (A through H). 
  4568.  
  4569.       Chapter 7 - How To... 
  4570.       Table of Contents 
  4571.  
  4572.  
  4573. ΓòÉΓòÉΓòÉ 10.55. Incremental Backup to Diskette ΓòÉΓòÉΓòÉ
  4574.  
  4575. Incremental Backup to Diskette 
  4576.  
  4577. You can easily do incremental source code backup from The SMART Editor. By 
  4578. creating a backup list file that contains the list of files to be copied, you 
  4579. can specify which files are to be copied.  The files can be contained in 
  4580. multiple directories.  By using the parameters functionality from the Copy 
  4581. panel, you can define the date/time range of the files to be copied, thereby 
  4582. limiting the copy to only those files which have changed. 
  4583.  
  4584. Define the Files to be Copied 
  4585.  
  4586. You must create a List of Files file, specifying all of the files that you wish 
  4587. to copy; e.g.  BACKUP.LST.  Use the "Maintain a List of Files..." menu 
  4588. selection under the "Link" menu.  (See how to "Create a List of Files", page 
  4589. 5-7.) 
  4590.  
  4591. Define the Date/time Stamp of the Files to be Copies 
  4592.  
  4593.          Select "Copy Files..." from the "More" menu. 
  4594.  
  4595.          Select "Parameters" from the Copy/Move dialog panel. 
  4596.  
  4597.          Select "After" or "Equal" in the Parameters dialog panel. 
  4598.  
  4599.          Enter the desired date and time. 
  4600.  
  4601.  Copy the files 
  4602.  
  4603.          Select the list of files ( BACKUP.LST ) in the "From" directory/files 
  4604.       boxes in the Copy/Move dialog panel. 
  4605.  
  4606.          Enable the "'From' is a List" checkbox.  This informs The SMART 
  4607.       Editor that the "From" file is a list of files. 
  4608.  
  4609.          Select the diskette drive from the "To" Directory list from the 
  4610.       Copy/Move dialog panel; e.g. A: 
  4611.  
  4612.          Select "Copy" from the Copy/Move dialog panel and The SMART Editor 
  4613.       will copy all files that are defined in the BACKUP.LST list of files if 
  4614.       they satisfy the date/time stamp defined in the parameters. 
  4615.  
  4616.       Chapter 7 - How To... 
  4617.       Table of Contents 
  4618.  
  4619.  
  4620. ΓòÉΓòÉΓòÉ 10.56. Snapshots ΓòÉΓòÉΓòÉ
  4621.  
  4622. Create and Restore File Snapshots 
  4623.  
  4624. The SMART Editor provides you with the ability to automatically save each edit 
  4625. mode file as a temporary file, called a snapshot.  This is based upon the 
  4626. number of edit events executed in that file.  You can also take a snapshot at 
  4627. will using the "Take a Snapshot" command from the "Snapshot" entry under the 
  4628. "More" menu.  The "Snapshot Restore..." command from the "Snapshot" entry under 
  4629. the "More" menu prompts you for restoring the snapshot. 
  4630.  
  4631. Set Default Snapshot Edit Events 
  4632.  
  4633.          Select "Setup Options..." from the "Options" menu or press 
  4634.       <Ctrl>+<O>. 
  4635.  
  4636.          Select the "Snapshot Edit Events" checkbox in The SMART Editor Editor 
  4637.       Options dialog panel to enable snapshots.  This checkbox will be checked 
  4638.       when the automatic snapshot function (auto save) is enabled. 
  4639.  
  4640.          Enter the number of edit events per The SMART Editor edit mode file 
  4641.       to be executed prior to taking a snapshot in the "Snapshot Edit Events" 
  4642.       data entry box in The SMART Editor Editor Options dialog panel. 
  4643.  
  4644.          Select "OK" on the "The SMART Editor Options" dialog panel. 
  4645.  
  4646.  Take a Snapshot 
  4647.  
  4648.          You can force a snapshot on a specific The SMART Editor file by 
  4649.       selecting "Take a Snapshot" from the "Snapshot" entry under the "More" 
  4650.       menu or by pressing <Ctrl>+<T>. 
  4651.  
  4652.  Restore Snapshots 
  4653.  
  4654.          Select "Snapshot Restore..." from the "Snapshot" entry under the 
  4655.       "More" menu. 
  4656.  
  4657.          If you want to restore all snapshots, select "Restore All" from the 
  4658.       Snapshot Files dialog panel.  The SMART Editor will open the snapshot 
  4659.       file under the original filename. 
  4660.  
  4661.          You can selectively restore snapshots.  The Snapshot Files dialog 
  4662.       panel displays each snapshot file with its original filename, the cursor 
  4663.       location within that file when the snapshot was taken, the date/time 
  4664.       stamp of the snapshot, and the snapshot filename.  Select the snapshots 
  4665.       that you want to restore, then select "Restore Selected". 
  4666.  
  4667.  Please note that when a snapshot is restored to your display the first line of 
  4668.  the file is a date/time stamp and filename information line.  You may wish to 
  4669.  delete this line after you have verified that the restored file is the correct 
  4670.  file intended. 
  4671.  
  4672.  Snapshots are maintained for a day before they are automaticlly deleted. 
  4673.  
  4674.  You can double click on this first line, over the filename, to position 
  4675.  yourself at the line number of the cursor when the snapshot was taken. 
  4676.  
  4677.       Chapter 7 - How To... 
  4678.       Table of Contents 
  4679.  
  4680.  
  4681. ΓòÉΓòÉΓòÉ 10.57. Set Selection Parameters ΓòÉΓòÉΓòÉ
  4682.  
  4683. Set Selection Parameters (Time/Date/Attributes) 
  4684.  
  4685. You can qualify the files that are copied, moved or found by specifying file 
  4686. selection parameters. 
  4687.  
  4688. Access the Selection Parameters for a Copy or Move 
  4689.  
  4690.          Select "Copy Files..." from the "More" menu. 
  4691.  
  4692.          Select "Parameters..." from the Copy/Move Files dialog panel. 
  4693.  
  4694.  Access the Selection Parameters for a Find 
  4695.  
  4696.          Select "Find Files..." from the "More" menu. 
  4697.  
  4698.          Select "Parameters..." from the Find File dialog panel. 
  4699.  
  4700.  Define Date\Time Selection Parameters 
  4701.  
  4702.          You can specify all files with a date and time equal to, or later 
  4703.       than, the specified date and time are to be included.  Select the "After 
  4704.       (Incl)" checkbox in the Parameters dialog panel and enter the date and 
  4705.       time in the appropriate data entry boxes. 
  4706.  
  4707.          You can specify all files with a date and time equal to the specified 
  4708.       date and time are to be included: select the "Equal (Date)" checkbox in 
  4709.       the Parameters dialog panel and enter the date and time in the 
  4710.       appropriate data entry boxes. 
  4711.  
  4712.          You can specify all files with a date and time before the specified 
  4713.       date and time are to be included.  Select the "Before" checkbox in the 
  4714.       Parameters dialog panel and enter the date and time in the appropriate 
  4715.       data entry boxes. 
  4716.  
  4717.  Define File Attributes Selection Parameters 
  4718.  
  4719.          Select the "File Attributes" checkbox in the Parameters dialog panel. 
  4720.  
  4721.          Select the desired attribute checkboxes in the Parameters dialog 
  4722.       panel. 
  4723.  
  4724.          Select "Ok". 
  4725.  
  4726.       Chapter 7 - How To... 
  4727.       Table of Contents 
  4728.  
  4729.  
  4730. ΓòÉΓòÉΓòÉ 10.58. Use HyperLinks ΓòÉΓòÉΓòÉ
  4731.  
  4732. Use HyperLinks for Navigation 
  4733.  
  4734. This is powerful feature of The SMART Editor which allows you to rapidly 
  4735. navigate text material with mouse clicks on keywords.  You can complete an 
  4736. involved task of locating, and reviewing all of the occurrences of a particular 
  4737. variable with simple mouse clicks. 
  4738.  
  4739. Hyperlink with Search 
  4740.  
  4741.          Click on a word.  It automatically becomes the object of a multi-file 
  4742.       string search. 
  4743.  
  4744.          Select "Multi-File String Search..." from the "More" menu or press 
  4745.       <ALT>+<C>, and The SMART Editor will automatically display a list of the 
  4746.       location of each occurrence of the search string. 
  4747.  
  4748.          Double click on any one of the locations and the file identified by 
  4749.       the location will be displayed at the line and column of the search 
  4750.       string occurance. 
  4751.  
  4752.  Hyperlink with File List 
  4753.  
  4754.          Whenever you have a file list displayed, you can click on any one of 
  4755.       the filenames and display the file. 
  4756.  
  4757.          The The SMART Editor "Find" file function creates a list of files 
  4758.       found. 
  4759.  
  4760.          Compiler errors can be linked directly to the source with a mouse 
  4761.       double click. 
  4762.  
  4763.          At any point where a filename (and line number) are displayed, the 
  4764.       file will automatically be opened and displayed on your screen.  If the 
  4765.       filename is followed by a line number in parentheses, the file will be 
  4766.       displayed at the specified line number. 
  4767.  
  4768.  Hyperlink with Functions 
  4769.  
  4770.          A complete hyperlink structure of your linked definitions and 
  4771.       references can be created by The SMART Editor.  (See "How to Create a 
  4772.       Link Database", page 5-25.) 
  4773.  
  4774.          Double clicking on a linked item with the left mouse button will 
  4775.       create a list of all matching item definitions contained in The SMART 
  4776.       Editor current database. Clicking on any entry within that list will open 
  4777.       the associated source file and position the cursor at the item.  If only 
  4778.       one definition exists then you will be positioned directly at the source 
  4779.       point of the definition. 
  4780.  
  4781.          Double clicking on a linked item with the right mouse button will 
  4782.       create a list of all matching definitions and references contained in The 
  4783.       SMART Editor current database.  Clicking on any entry within that list 
  4784.       will open the associated source file and position the cursor at the item. 
  4785.  
  4786.          If you specify "Link to Comment" in the "Setup Options..." in the 
  4787.       "Options" menu, The SMART Editor will position the cursor at the comment 
  4788.       preceding the function definition. 
  4789.  
  4790.       Chapter 7 - How To... 
  4791.       Table of Contents 
  4792.  
  4793.  
  4794. ΓòÉΓòÉΓòÉ 10.59. Use HyperTracks ΓòÉΓòÉΓòÉ
  4795.  
  4796. Use HyperTrack for Navigation 
  4797.  
  4798. A hyperlink path includes all hyperlinks for symbols, defines, globals, dialog 
  4799. boxes and your own private link specifications; this is dependent upon the 
  4800. options selected when the current database was built. 
  4801.  
  4802. The SMART Editor keeps track of all hyperlinks. The SMART Editor allows you to 
  4803. go backward and forward along an established hyperlink path.  Hypertracking is 
  4804. like the multiple Undo/Redo function. After you have double clicked (or opened 
  4805. files) on your way through your source code, you may traverse backward along 
  4806. this path by selecting to hyperlink in the reverse direction. You then have the 
  4807. option of moving forward along the previously created hyperpath by selecting to 
  4808. hyperlink in the forward direction. 
  4809.  
  4810. HyperTrack Back 
  4811.  
  4812.          Establish a hyperlink path. (See "How to Use HyperLink for 
  4813.       Navigation", page 5-57.) 
  4814.  
  4815.          Select "Backwards" from the "HyperTrack" entry on the "More" menu or 
  4816.       press <Cntrl>+<B>.  The SMART Editor will return the cursor to the 
  4817.       backward link in the hypertrack chain. 
  4818.  
  4819.  HyperTrack Forward 
  4820.  
  4821.          Establish a hyperlink path. (See "How to Use HyperLink for 
  4822.       Navigation", page 5-57.) 
  4823.  
  4824.          Select "Forwards" from the "HyperTrack" entry on the "More" menu or 
  4825.       press <Cntrl>+<F>.  The SMART Editor will return the cursor to the 
  4826.       forward link in the hypertrack chain. 
  4827.  
  4828.       Chapter 7 - How To... 
  4829.       Table of Contents 
  4830.  
  4831.  
  4832. ΓòÉΓòÉΓòÉ 10.60. Startup Arguments ΓòÉΓòÉΓòÉ
  4833.  
  4834. Start The SMART Editor with Arguments 
  4835.  
  4836. You can start The SMART Editor with file arguments and The SMART Editor will 
  4837. open each of the specified files.  You can also start The SMART Editor 
  4838. minimized as an icon on your desktop. 
  4839.  
  4840. Running The SMART Editor From the Command Line 
  4841.  
  4842.          At the OS/2 command line, enter "SLSTART" followed by the names of 
  4843.       the files you want The SMART Editor to open.  You may wish to start The 
  4844.       SMART Editor with the "Tracks" file to selectively open the files from 
  4845.       the last session.  For example: 
  4846.  
  4847.                 SLSTART File1.C File2.C
  4848.                or
  4849.                SLSTART c:\SLINK2\LASTTRKS.LOG
  4850.  
  4851.          You will save a great deal of time using SLSTART to open new files 
  4852.       instead of closing and restarting The SMART Editor. 
  4853.  
  4854.  Starting The SMART Editor Minimized as an Icon 
  4855.  
  4856.          Start The SMART Editor with an argument of "/m" to begin the session 
  4857.       with the application minimized. 
  4858.  
  4859.  
  4860. ΓòÉΓòÉΓòÉ 11. Chapter 8 - Tips and Techniques ΓòÉΓòÉΓòÉ
  4861.  
  4862. Tips and Techniques 
  4863.  
  4864. These tips have come from many hours of use and experimentation with the 
  4865. product. Undoubtedly, you will find many more useful techniques that will make 
  4866. The SMART Editor more productive in your development and programming. 
  4867.  
  4868. Since the topics are not in alphabetical order in this chapter, a quick 
  4869. reference is listed below (see "Index" for alphabetical  reference): 
  4870.  
  4871.         Navigational Tips 
  4872.         Common Accelerator Keys 
  4873.         Scrolling 
  4874.         Memory Management 
  4875.         What is Saved and Where 
  4876.         Use of a 3 Button Mouse 
  4877.         File Drag and Drop 
  4878.         Text Selection 
  4879.         Split Screen and Selected Text 
  4880.         Displaying Columns 
  4881.         Information in the Status Box 
  4882.         Searching Changed Files 
  4883.         Undo 
  4884.         Tracks 
  4885.         HyperTracks 
  4886.         Place Markers 
  4887.         Compiling Source Code 
  4888.         Changing Directories 
  4889.         Building a Search File List 
  4890.         Code Snippet Library 
  4891.         Pseudo Source Files 
  4892.         File HouseKeeping 
  4893.         Left Justify Code 
  4894.         The Copy Function 
  4895.         Use Parameters for Incremental Backup 
  4896.         Selecting Files 
  4897.         Find an Item in a List Box 
  4898.         Finding the Size 
  4899.         'Delete' Warnings 
  4900.         Link to a Function 
  4901.         Link Database Update 
  4902.         Connect to View Help 
  4903.         Connect to Microsoft QuickHelp 
  4904.         Using SLSTART to Open Filesnames 
  4905.         Spawn OS/2 Command Files 
  4906.         Spawn DOS Command Files 
  4907.         Run 'Grep' 
  4908.         Qualify Make Filenames for Hyperlinking Errors 
  4909.         Assign Accelerator Keys 
  4910.         Create Project Oriented Instances 
  4911.         Multiple Instances of The SMART Editor 
  4912.  
  4913.       Table of Contents 
  4914.  
  4915.  
  4916. ΓòÉΓòÉΓòÉ 11.1. Navigational Tips ΓòÉΓòÉΓòÉ
  4917.  
  4918. Navigational Tips 
  4919.  
  4920. The SMART Editor conforms to the standard graphical control for Presentation 
  4921. Manager (PM) applications. The SMART Editor is also generally compliant with 
  4922. the IBM System Application Architecture (SAA) and CUA guidelines. If you are 
  4923. familiar with the PM interface, you should have no difficulty navigating about 
  4924. The SMART Editor. 
  4925.  
  4926. The SMART Editor makes extensive use of accelerator keys for control selection 
  4927. and text manipulation.  Many of the menu items can be selected by using an 
  4928. accelerator key sequence (eg. <ALT>+<P>) or simply using the standard PM 
  4929. convention of typing the underscored letter within the menu item name (the 
  4930. items in the main menu bar can be selected by first pressing the <ALT> key). 
  4931. The accelerator keys for the menu items are shown on the menus.  The 
  4932. accelerator keys for edit and text manipulation are shown in the "Keys Help" 
  4933. section of the on-line help for The SMART Editor (<F9>). You will also find 
  4934. Appendix B, "Keys Reference" useful as a reference.  You may wish to copy the 
  4935. Keys Reference page and keep the copy handy as a reference. 
  4936.  
  4937. You will find the following accelerator keys particularly helpful while viewing 
  4938. and editing files: 
  4939.  
  4940.       Chapter 8 - Tips and Techniques 
  4941.       Table of Contents 
  4942.  
  4943.  
  4944. ΓòÉΓòÉΓòÉ 11.2. Common Accelerator Keys ΓòÉΓòÉΓòÉ
  4945.  
  4946. Common Accelerator Keys 
  4947.  
  4948.          Control+End - Go to end of file. 
  4949.  
  4950.          Control+Home - Go to beginning of file. 
  4951.  
  4952.          Keypad Plus(+) - Place selected text in paste buffer. If text is not 
  4953.       selected, whole line in placed in paste buffer. 
  4954.  
  4955.          Keypad Minus(-) - Cut selected text and place in paste buffer. If 
  4956.       text is not selected, whole line is cut and placed in paste buffer. 
  4957.  
  4958.          Shift+Insert or (F12) - Insert text from paste buffer. 
  4959.  
  4960.          ALT+O - Selection panel for file open. 
  4961.  
  4962.          ALT+B or third mouse button - Return to last displayed file ("Back"). 
  4963.  
  4964.          F5 - String search in current file. (The "Current" file is the file 
  4965.       displayed on the screen. If the screen is split, the "Current" file has 
  4966.       the focus.) 
  4967.  
  4968.          F6 - String replacement in the current file. 
  4969.  
  4970.          Control+E - Toggle the Edit Mode in the current file between Read 
  4971.       Only and Edit. 
  4972.  
  4973.          Control+A - Close all files. 
  4974.  
  4975.          ALT+X - Close all files with save if changed. 
  4976.  
  4977.          ALT+Esc - Switch to the previous OS/2 screen group or application. 
  4978.  
  4979.          F1 - The SMART Editor On-Line Help. 
  4980.  
  4981.          ALT+Q - Help Window (Microsoft QuickHelp, if installed). 
  4982.  
  4983.          ALT+V - Context Sensitive IBM View Help (if installed). 
  4984.  
  4985.          Control+V - Enter and view a help topic (View Help). 
  4986.  
  4987.  There are many more useful accelerator keys.  Refer to Appendix B, Keys 
  4988.  Reference for the complete list.  A few moments exploring these key stroke 
  4989.  accelerators will provide you with a great deal of productivity.  You can 
  4990.  choose a comfortable balance between the use of the mouse on a menu selection 
  4991.  and an accelerator key sequence. 
  4992.  
  4993.       Chapter 8 - Tips and Techniques 
  4994.       Table of Contents 
  4995.  
  4996.  
  4997. ΓòÉΓòÉΓòÉ 11.3. Scrolling ΓòÉΓòÉΓòÉ
  4998.  
  4999. Scrolling 
  5000.  
  5001. Vertical scrolling through a file can be accomplished by various methods, with 
  5002. different results and speeds. 
  5003.  
  5004.          Arrow down or up moves the cursor a line at a time.  When the cursor 
  5005.       reaches the end (top or bottom) of the screen, the text will be scrolled 
  5006.       a line at a time. 
  5007.  
  5008.          Pressing <PgUp> or <PgDn> scrolls the text a page at a time.  A page 
  5009.       is defined as the number of text lines that can be displayed and will 
  5010.       depend upon the sizing of The SMART Editor Editor Application window. 
  5011.       When you scroll using these keys, the cursor always remains on the screen 
  5012.       and will be positioned at the upper left hand corner. 
  5013.  
  5014.          Using the scrollbar with the mouse will cause the text to scroll but 
  5015.       will keep the cursor stationary in its last position, even as it goes off 
  5016.       screen.  To reestablish the cursor position to an on-screen position you 
  5017.       will have to press the left mouse button on a character within the 
  5018.       visible screen. This may require a little practice to remember. 
  5019.  
  5020.          If you are going to the top of your file, press <Ctrl>+<Home>. 
  5021.  
  5022.          If you are going to the bottom of your file, press <Ctrl>+<End>. 
  5023.  
  5024.          If you know the line number, press <Alt>+<G> and enter the line 
  5025.       number. 
  5026.  
  5027.       Chapter 8 - Tips and Techniques 
  5028.       Table of Contents 
  5029.  
  5030.  
  5031. ΓòÉΓòÉΓòÉ 11.4. Memory Management ΓòÉΓòÉΓòÉ
  5032.  
  5033. Memory Management 
  5034.  
  5035. In order to achieve higher performance The SMART Editor will use as much of 
  5036. your system memory resource as practical.  You can reduce the amount of file 
  5037. buffer space utilized by reducing the number of files that are 'opened'.  The 
  5038. parameter that affects this allocation is the "Max Open Files" data in The 
  5039. SMART Editor Editor "Setup Options". 
  5040.  
  5041. When you are building a new link data base, updating an existing data base or 
  5042. creating Link reports, you should try and free up memory.  Please close all 
  5043. opened files and stop any applications that are not necessary.  In doing so, 
  5044. The SMART Editor will use this available memory to increase the performance of 
  5045. the data base processes. 
  5046.  
  5047. The "Build DB Buffersize" parameter in The SMART Editor Editor "Setup Options" 
  5048. panel will allow you to tune the performance of the Link database build and 
  5049. Link report generation.  This parameter will default to 1,024 kilobytes (KB). 
  5050. This is also the maximum value that this parameter can be set.  If you 
  5051. encounter severe memory swapping, this parameter should be set to a lower 
  5052. value. The minimum size is 16KB.  If you have a very large source base this 
  5053. parameter may greatly affect the time to build a Link data base and create 
  5054. report files. 
  5055.  
  5056. Saving edit steps for the Undo function also uses memory resources.  Up to 255 
  5057. edit events can be tracked for each opened file.  Setting this number to a 
  5058. lower value will conserve your system memory. 
  5059.  
  5060.       Chapter 8 - Tips and Techniques 
  5061.       Table of Contents 
  5062.  
  5063.  
  5064. ΓòÉΓòÉΓòÉ 11.5. What is Saved and Where ΓòÉΓòÉΓòÉ
  5065.  
  5066. What is Saved and Where 
  5067.  
  5068. Depending upon the setup options that you have chosen, The SMART Editor 
  5069. performs many save operations. 
  5070.  
  5071.          Each file that you open for edit, or you change from read-only to 
  5072.       edit mode will be copied to the directory you specified in the SL_BACKUP2 
  5073.       environment variable of your CONFIG.SYS file.  This will preserve the 
  5074.       state of the file before you can ever make a change. You can disabled 
  5075.       this function by checking "Disable File Backups" under "Setup Options". 
  5076.  
  5077.          An original file will not be overwritten by changes until you 
  5078.       specifically say to do so, either when you close the file, close The 
  5079.       SMART Editor, perform "HouseKeeping" or change to read-only mode.  There 
  5080.       will be no surprises here. 
  5081.  
  5082.          If you have chosen to activate the automatic "Snapshot" option, each 
  5083.       file in edit mode will be copied to the \BACKUP directory after a number 
  5084.       of edit events.  You specify the number of events.  An event is either an 
  5085.       insert or delete.  This can be a keystroke, or a complete, large text 
  5086.       section.  Each snapshot overwrites the previous snapshot of the same 
  5087.       file. You have access to this most current snapshot and can restore this 
  5088.       file at any time. The snapshot files are deleted at the end of a SMART 
  5089.       Editor Editor session.  They are available if The SMART Editor is 
  5090.       prematurely aborted as from a general system failure or system re-boot. 
  5091.  
  5092.          The data for edit Undo and Redo is maintained in your TEMP directory. 
  5093.       This data, and the ability to "Undo" or "Redo" is removed after the 
  5094.       closing of any file, or after The SMART Editor is terminated or closed 
  5095.       for any reason. 
  5096.  
  5097.       Chapter 8 - Tips and Techniques 
  5098.       Table of Contents 
  5099.  
  5100.  
  5101. ΓòÉΓòÉΓòÉ 11.6. Use of a 3 Button Mouse ΓòÉΓòÉΓòÉ
  5102.  
  5103. Use of a 3 Button Mouse 
  5104.  
  5105. The SMART Editor supports the use of a three button mouse.  The "Last File" 
  5106. function is activated by pressing the third button.  You can simulate the third 
  5107. button for the "Last File" function by pressing the left (button1) mouse button 
  5108. and, while still holding it down, press the right (button2) mouse button; then 
  5109. release both buttons.  You can simulate the action of a three button mouse with 
  5110. a two button mouse as follows. 
  5111.  
  5112. Hold the left button down and press the right button to simulate a 3Button 
  5113. mouse click. 
  5114.  
  5115.       Chapter 8 - Tips and Techniques 
  5116.       Table of Contents 
  5117.  
  5118.  
  5119. ΓòÉΓòÉΓòÉ 11.7. File Drag and Drop ΓòÉΓòÉΓòÉ
  5120.  
  5121. File Drag and Drop 
  5122.  
  5123. OS/2 versions 1.3 and higher support the file Drag and Drop operations.  Not 
  5124. all applications support this feature.  The SMART Editor will receive file 
  5125. names if compatible with the Direct Manipulation format for copying files. 
  5126.  
  5127. The SMART Editor will automatically open files that are dropped over The SMART 
  5128. Editor Editor Icon, when minimized, or over the main edit window. 
  5129.  
  5130. The SMART Editor will also automatically load filenames that are dropped in the 
  5131. "Contents" listbox of the "Maintain a List of Files" function. 
  5132.  
  5133. You can test the ability of The SMART Editor to receive filenames by selecting 
  5134. a file, or files, in another application then pressing the right (button2) 
  5135. mouse button and dragging the icon over The SMART Editor.  If The SMART Editor 
  5136. does not recognize the format, you will get an invalid drop icon. 
  5137.  
  5138.       Chapter 8 - Tips and Techniques 
  5139.       Table of Contents 
  5140.  
  5141.  
  5142. ΓòÉΓòÉΓòÉ 11.8. Text Selection ΓòÉΓòÉΓòÉ
  5143.  
  5144. Text Selection 
  5145.  
  5146. Besides mouse selection of text, there are many key strokes that will select 
  5147. text on your screen. These accelerator keys for text selection will provide you 
  5148. with alternate methods to choose your style of use for this product.  Please 
  5149. take a few moments and test the "Text Selection" keys shown in Appendix B, 
  5150. "Keys Reference". 
  5151.  
  5152. Here are some additional hints in text selection. 
  5153.  
  5154. If you use the mouse to select text to the end of a line, you may or may not 
  5155. want the carriage return at the end of the line.  This character does not 
  5156. display, but will appear as the last space on the line. 
  5157.  
  5158. The space to the right of the end-of-line cannot be selected.  This space may 
  5159. appear as blanks, but in fact it is nonexistent. If you 'mouse down' in this 
  5160. open space, the cursor will be placed preceding the carriage return character. 
  5161.  
  5162. If you perform a function that selects a string, such as "Current Searches", 
  5163. you can copy the whole line by pressing the keypad <+> two times.  The first 
  5164. time the selected string will be copied to the paste buffer.  The second time, 
  5165. you will copy the complete line to the paste buffer. 
  5166.  
  5167. If you type or insert over selected text, the selected text will be replaced by 
  5168. the typed, or inserted string.  This speeds the replacement process 
  5169. considerably. 
  5170.  
  5171. To replace one string with another string: 
  5172.  
  5173.          First select the string that will be the replacement by pressing 
  5174.       <F11>. 
  5175.  
  5176.          Press the keypad <+> key to place the selection in the buffer. 
  5177.  
  5178.          Now select the string that is to be replaced. Move the cursor to the 
  5179.       string and press <F11>. 
  5180.  
  5181.          Press <F12> or <Sft>+<Ins> to complete the replacement. 
  5182.  
  5183.  Select a line by pressing <Alt>+<L> or keypad <+> with nothing selected. 
  5184.  
  5185.  Select a number of lines by repeatedly pressing <Sft>+<Down Arrow> (or <Up 
  5186.  Arrow>).  The selection starts at the cursor position. 
  5187.  
  5188.  Normally a single mouse click over a word, variable, function or whatever will 
  5189.  place the parsed string in a special The SMART Editor Editor buffer which 
  5190.  automatically becomes the object of a search (either in the current file or 
  5191.  globally across multiple files).  If the parsing algorithm does not suit your 
  5192.  need for a specific occasion execute the following alternative steps: 
  5193.  
  5194.          Select the complete string to be searched with either your mouse, or 
  5195.       by using accelerator key strokes. 
  5196.  
  5197.          Once the string is selected and highlighted on your screen, select 
  5198.       "Select String" or press <F11> to place the selected string in the search 
  5199.       buffer. 
  5200.  
  5201.       Chapter 8 - Tips and Techniques 
  5202.       Table of Contents 
  5203.  
  5204.  
  5205. ΓòÉΓòÉΓòÉ 11.9. Split Screen and Selected Text ΓòÉΓòÉΓòÉ
  5206.  
  5207. Split Screen and Selected Text 
  5208.  
  5209. If you have a split screen displayed and you wish to save the display of 
  5210. selected text, select "Swap Focus" from the "Window Control" entry under the 
  5211. "More" menu to change the focus (and cursor) between the two screens.  If you 
  5212. use the mouse to change the focus from one of the split panels to the other, 
  5213. you will loose the previous selection, since the mouse down function will 
  5214. automatically select the word at the mouse position. 
  5215.  
  5216.       Chapter 8 - Tips and Techniques 
  5217.       Table of Contents 
  5218.  
  5219.  
  5220. ΓòÉΓòÉΓòÉ 11.10. Displaying Columns ΓòÉΓòÉΓòÉ
  5221.  
  5222. Displaying Columns 
  5223.  
  5224. The SMART Editor "Setup Options" allows you to choose displaying cursor column 
  5225. position or not. The cursor column number is displayed following the line 
  5226. number to the left of the horizontal scroll bars. 
  5227.  
  5228. The calculation of the cursor position on a line with (considering tabs) 
  5229. requires a moment that you may not wish to spare, particularly if you are 
  5230. scrolling through a large file. 
  5231.  
  5232. The calculation of the position may not be accurate unless you are using the 
  5233. system monofaced font for the file display. 
  5234.  
  5235. The choice of displaying the column position is up to you and your 
  5236. requirements. 
  5237.  
  5238. Information in the Title Bar 
  5239.  
  5240. The information in The SMART Editor Editor Application Title Bar identifies the 
  5241. currently displayed file.  The data in this line  may contain an assortment of 
  5242. the following items: 
  5243.  
  5244.          The application name "The SMART Editor". 
  5245.  
  5246.          The project name, if applicable. 
  5247.  
  5248.          The current filename in parenthesis.  Typically this is the fully 
  5249.       qualified filename, unless the path is excessively long. 
  5250.  
  5251.       Chapter 8 - Tips and Techniques 
  5252.       Table of Contents 
  5253.  
  5254.  
  5255. ΓòÉΓòÉΓòÉ 11.11. Information in the Status Box ΓòÉΓòÉΓòÉ
  5256.  
  5257. Information in the Status Box 
  5258.  
  5259. The File Status bar appears to the left of the horizontal scroll bars for each 
  5260. window. The information in The SMART Editor Editor File Status bar identifies 
  5261. the current status of the file.  The data in this line  may contain an 
  5262. assortment of the following items: 
  5263.  
  5264.          The current line number position of the cursor will be displayed 
  5265.       first. 
  5266.  
  5267.          If chosen as an option, the next item on this status bar line will be 
  5268.       the column position of the cursor. 
  5269.  
  5270.          The edit mode will be displayed next.  The code will be "r" for 
  5271.       read-only, or "e" for edit mode. 
  5272.  
  5273.          The word wrap mode will be displayed next.  If the file has word wrap 
  5274.       active, a code of "w" will appear next. 
  5275.  
  5276.          If the file is in edit mode and it has been changed the code "c" with 
  5277.       be shown. 
  5278.  
  5279.          If the file is in character insert mode, an "i" will appear, 
  5280.       otherwise an "o" will be displayed for overwrite mode. 
  5281.  
  5282.       Chapter 8 - Tips and Techniques 
  5283.       Table of Contents 
  5284.  
  5285.  
  5286. ΓòÉΓòÉΓòÉ 11.12. Searching Changed Files ΓòÉΓòÉΓòÉ
  5287.  
  5288. Searching Changed Files 
  5289.  
  5290. Please note that the "Multi-File String Search" function on the "More" menu 
  5291. scans disk files.  If you have changed files in your The SMART Editor buffers, 
  5292. you may want to save these files before the search, or understand that the 
  5293. found locations may be different than the displayed files. 
  5294.  
  5295.       Chapter 8 - Tips and Techniques 
  5296.       Table of Contents 
  5297.  
  5298.  
  5299. ΓòÉΓòÉΓòÉ 11.13. Undo ΓòÉΓòÉΓòÉ
  5300.  
  5301. Undo 
  5302.  
  5303. The edit events are tracked by the Undo processor, and tracks each file 
  5304. separately. 
  5305.  
  5306. If have chosen the option to save 99 events for undo and redo, then you will be 
  5307. saving that number of events for each opened file.  Once you close a file or 
  5308. save a file the undo counter will be reset to zero.  Also, after you have 
  5309. performed one or more undos, you will have the opportunity for redo until the 
  5310. next edit event occurs for the file, at which time all available redos are 
  5311. discarded. 
  5312.  
  5313.       Chapter 8 - Tips and Techniques 
  5314.       Table of Contents 
  5315.  
  5316.  
  5317. ΓòÉΓòÉΓòÉ 11.14. Tracks ΓòÉΓòÉΓòÉ
  5318.  
  5319. Tracks 
  5320.  
  5321. The "Tracks" reference file is a useful way to go back to previously displayed 
  5322. files, whether they have been closed or not.  The tracks process keeps a stack 
  5323. of the last 35 file positions.  Every time you display a new file the top of 
  5324. display, line number and file name are saved in the tracks file.  At any time 
  5325. you can display these history tracks by selecting "Tracks" under the "Ref" 
  5326. menu. 
  5327.  
  5328. At the close of a SMART Editor Editor session, this tracks data is saved in a 
  5329. file by the name of LASTTRKS.LOG in the directory containing the current INI 
  5330. file.  If you wish to start a new session and open the files from a previous 
  5331. session: open the LASTTRKS.LOG file and double click on the files you wish to 
  5332. open.  These files will be opened at the previous line number and will be 
  5333. opened in the edit mode or read-only as they were in the previous session. 
  5334.  
  5335. If you perform this restart often, you may wish to define the LASTTRKS.LOG file 
  5336. as one of the user defined files under the "Ref" menu for quick access. 
  5337.  
  5338.       Chapter 8 - Tips and Techniques 
  5339.       Table of Contents 
  5340.  
  5341.  
  5342. ΓòÉΓòÉΓòÉ 11.15. HyperTracks ΓòÉΓòÉΓòÉ
  5343.  
  5344. HyperTracks 
  5345.  
  5346. HyperTrack is the ability to go backward and forward along an established 
  5347. hyperlink path. You can hot key your way back from a hyperlink trip. 
  5348.  
  5349. The SMART Editor keeps track of all hyperlinks. The SMART Editor allows you to 
  5350. go backward and forward along an established hyperlink path.  Hypertracking is 
  5351. like the multiple Undo/Redo function. After you have double clicked (or opened 
  5352. files) on your way through your source code, you may traverse backward along 
  5353. this path by selecting to hyperlink in the reverse direction. You then have the 
  5354. option of moving forward along the previously created hyperpath by selecting to 
  5355. hyperlink in the forward direction. 
  5356.  
  5357. Use the "HyperTracks" entry on the "More" menu or press <CTRL>+<B> or 
  5358. <CTRL>+<F> to go backwards and forwards along the hyperlink path. 
  5359.  
  5360.       Chapter 8 - Tips and Techniques 
  5361.       Table of Contents 
  5362.  
  5363.  
  5364. ΓòÉΓòÉΓòÉ 11.16. Place Markers ΓòÉΓòÉΓòÉ
  5365.  
  5366. Place Markers 
  5367.  
  5368. You can save you place within a file with the use of place markers.  Although 
  5369. The SMART Editor will save your place as you switch the display from one file 
  5370. to another, you are responsible for saving you place as you move about within a 
  5371. file. 
  5372.  
  5373. Since The SMART Editor only uses one buffer for each different file, you may 
  5374. loose your current place (if that is important) when you double click on a 
  5375. function to access the source of the function.  The source may be the same file 
  5376. that you are currently displaying.  In this case you will change locations in 
  5377. the same file and loose your original place. 
  5378.  
  5379. Place Markers are available when you need them. 
  5380.  
  5381.       Chapter 8 - Tips and Techniques 
  5382.       Table of Contents 
  5383.  
  5384.  
  5385. ΓòÉΓòÉΓòÉ 11.17. Compiling Source Code ΓòÉΓòÉΓòÉ
  5386.  
  5387. Compiling Source Code 
  5388.  
  5389. Here are a few helpful hints that you might find useful if you are using The 
  5390. SMART Editor in conjunction with a compiler for your program development. 
  5391.  
  5392. You may wish to build a compile command file containing an output pipe to save 
  5393. all error messages to a filename of your choice.  You can register this command 
  5394. file under The SMART Editor Editor Menu "Start". When you want to launch a 
  5395. compile just select this command under "Start". 
  5396.  
  5397. To spawn a compile (or make) from The SMART Editor, and have the error file 
  5398. automatically appear at the doorstep of The SMART Editor create the following 
  5399. command file (NOTE: the first line of the command file changes the directory of 
  5400. MAKEFILE for NMAKE and sets the directory path for "mak.err"): 
  5401.  
  5402.     C: & CD \YourDir
  5403.    NMAKE.EXE YourProg.exe > mak.err
  5404.    SLSTART.EXE mak.err
  5405.  
  5406. Once the compilation is completed, SLSTART will place the error file in a 
  5407. buffer and you will be notified ("FILES WAITING" will be displayed in the title 
  5408. bar). 
  5409.  
  5410. Select "Open Waiting Files" under the "File" menu to open all waiting files. 
  5411. You can also specify "Notify Received File" if you want The SMART Editor to 
  5412. beep when a file(s) is sent by SLSTART and waiting to be opened. 
  5413.  
  5414. If you double click on the error location (filename, line number) the file in 
  5415. error will be displayed with the error line at the top of your display. 
  5416.  
  5417. If the file in error is not in the current directory, you may need to change 
  5418. the current The SMART Editor directory.  If there are many files in many 
  5419. different directories, you may wish to convert all of the filenames to be fully 
  5420. qualified. 
  5421.  
  5422.       Chapter 8 - Tips and Techniques 
  5423.       Table of Contents 
  5424.  
  5425.  
  5426. ΓòÉΓòÉΓòÉ 11.18. Changing Directories ΓòÉΓòÉΓòÉ
  5427.  
  5428. Changing Directories 
  5429.  
  5430. If you use the "Directory Tracking" option as set in the "Setup Options...", 
  5431. The SMART Editor will keep track of your current directory as you move from 
  5432. function to function.  If you do not choose for The SMART Editor to track your 
  5433. directory, each function will retain the directory that you chose while using 
  5434. the function. 
  5435.  
  5436. If you wish to change the pointer to the Link data base, select "Current DB 
  5437. Path" under the "Link" menu. 
  5438.  
  5439. If you need to change The SMART Editor Editor current directory: select "File" 
  5440. "Open/New..."; select the desired directory path; then press "Cancel".  This 
  5441. step will change the directory path without opening a new file. 
  5442.  
  5443. You can also make good use of the "Directories" button above each directory 
  5444. list box. Pressing this button will popup a dialog and list panel to mainatin a 
  5445. list of common directories.  You will want to add A:\ to this list. 
  5446.  
  5447.       Chapter 8 - Tips and Techniques 
  5448.       Table of Contents 
  5449.  
  5450.  
  5451. ΓòÉΓòÉΓòÉ 11.19. Building a Search File List ΓòÉΓòÉΓòÉ
  5452.  
  5453. Building a Search File List 
  5454.  
  5455. The SMART Editor provides immediate access to all linked definitions and 
  5456. function references within the Link data base created for your source files. 
  5457. If you also wish to have ready access to other objects within your source code, 
  5458. you can do so by saving the "Search" files for these strings. 
  5459.  
  5460.          Make a list of the strings that you access often. 
  5461.  
  5462.          Perform a "Multi-String String Search..." from the "More" menu or by 
  5463.       pressing <ALT>+<S> for each string. 
  5464.  
  5465.          Once the display file of the found occurrences is on your screen, 
  5466.       select "Save As" under the "Save" entry under the "File" menu to save the 
  5467.       search list file.  You can name this file to identify the string search 
  5468.       that it contains. 
  5469.  
  5470.  After you have completed your list of searches and saves, you will have an 
  5471.  excellent source of reference for future use. 
  5472.  
  5473.  When you wish to access the references for these special strings, you need 
  5474.  simply to open the appropriate search list file, and double click on the 
  5475.  location of the desired reference. 
  5476.  
  5477.  Please note that these references, as with the Link database, are only as 
  5478.  accurate as the number of changes within the source code.  As you make changes 
  5479.  to the source code, you will eventually need to re-"Search" the strings and 
  5480.  build new search string list files. 
  5481.  
  5482.  If you really want to get efficient, you can create a file containing all of 
  5483.  the strings that you searched, with their corresponding string list file names 
  5484.  (similar to the "Current Function Def. List" created as part of the Link 
  5485.  creation by The SMART Editor).  With this file, you have a hyperlink cross 
  5486.  reference of all of the searched strings their occurrence files. 
  5487.  
  5488.       Chapter 8 - Tips and Techniques 
  5489.       Table of Contents 
  5490.  
  5491.  
  5492. ΓòÉΓòÉΓòÉ 11.20. Code Snippet Library ΓòÉΓòÉΓòÉ
  5493.  
  5494. Code Snippet Library 
  5495.  
  5496. If you wish to save your favorite code segments for immediate access you can 
  5497. build a clip library. 
  5498.  
  5499. Select the code snippet that you wish to save.  This piece of code can be a 
  5500. sequence of calls to perform a given function that may be required to be 
  5501. inserted throughout your code. This snippet may be the structure of a 
  5502. complicated call with alternate arguments, completely commented. 
  5503.  
  5504. In any case, Select "Rename Clip File" under "Clip" on the main menu and name 
  5505. this snippet so that you will be able to easily recognize the file in your clip 
  5506. library. 
  5507.  
  5508. Now select "Select to Clip File" to save the text selection in your designated 
  5509. file. Don't forget, you can place the Clip File mode into "Append" and select 
  5510. non contiguous text segments to be stored in one clip file. 
  5511.  
  5512. Once your clip library is built, you can insert the clip files at the cursor 
  5513. position in your text by selecting "Paste Clip File at Cursor" or placing the 
  5514. file into the paste buffer by selecting "Clip File to Paste". 
  5515.  
  5516. You can also create a Rexx Macro to insert the code snippet into your source. 
  5517.  
  5518.       Chapter 8 - Tips and Techniques 
  5519.       Table of Contents 
  5520.  
  5521.  
  5522. ΓòÉΓòÉΓòÉ 11.21. Pseudo Source File ΓòÉΓòÉΓòÉ
  5523.  
  5524. Pseudo Source File 
  5525.  
  5526. A Pseudo Source File is simply a simple 'C' file that is not part of your 
  5527. compiled source code but is used to create the "Call Tree Report". 
  5528.  
  5529. If you are creating a Dynamic Link Library or a program library, you may not 
  5530. have the concept of a "Main" function for the root of your call tree. 
  5531.  
  5532. To create a root for your source call tree simply create a source "C" file with 
  5533. a "Main" procedure that calls each of the functions in your library.  Be sure 
  5534. to add this new source file to the List-of-Files file for your data Link 
  5535. database construction. 
  5536.  
  5537.    Main()
  5538.      {
  5539.      GetUshort();
  5540.      AsciiEditProc();
  5541.      MultiTypeProc();
  5542.      }
  5543.  
  5544. You may also think of other ways to use Pseudo Source Files to solve other 
  5545. "Call Tree" difficulties. 
  5546.  
  5547.       Chapter 8 - Tips and Techniques 
  5548.       Table of Contents 
  5549.  
  5550.  
  5551. ΓòÉΓòÉΓòÉ 11.22. File HouseKeeping ΓòÉΓòÉΓòÉ
  5552.  
  5553. File HouseKeeping 
  5554.  
  5555. If you are opening and changing a number of file during a SMART Editor Editor 
  5556. edit session, you may need to use the "File Housekeeping" function often. 
  5557. Select "File Housekeeping" under the "File" Menu and perform the necessary 
  5558. saves or closes as required. 
  5559.  
  5560. If you are using The SMART Editor in a read-only mode for all files (for source 
  5561. code analysis), files will automatically be discarded from The SMART Editor 
  5562. Editor buffers once the maximum open files number is reached. 
  5563.  
  5564.       Chapter 8 - Tips and Techniques 
  5565.       Table of Contents 
  5566.  
  5567.  
  5568. ΓòÉΓòÉΓòÉ 11.23. Left Justify ΓòÉΓòÉΓòÉ
  5569.  
  5570. Left Justify 
  5571.  
  5572. You can quickly reformat you code using the "Left Justify Line at Cursor" 
  5573. function under the "Edit" menu. 
  5574.  
  5575. Just place the cursor where you wish the first character of a code line to 
  5576. start and press <F7>.  Please note that you cannot place the cursor past the 
  5577. end of the line.  You may need to type spaces or tabs in the line to initially 
  5578. get the line long enough to justify at the desired column. 
  5579.  
  5580.       Chapter 8 - Tips and Techniques 
  5581.       Table of Contents 
  5582.  
  5583.  
  5584. ΓòÉΓòÉΓòÉ 11.24. The Copy Function ΓòÉΓòÉΓòÉ
  5585.  
  5586. The Copy Function 
  5587.  
  5588. The The SMART Editor "Copy Files..." function is indeed flexible.  Here a few 
  5589. hints that may not be totally apparent as you read instructions for this 
  5590. function in other parts of this manual. 
  5591.  
  5592. You can quickly create a new sub-directory as follows: 
  5593.  
  5594.          Select the base path for the sub-directory and insure that it is 
  5595.       displayed as the "To" "Dir:" path. 
  5596.  
  5597.          Type the name of the sub-directory to be created in the "To" "File:" 
  5598.       entry box. 
  5599.  
  5600.          Press "Make Dir".  The directory will be created and the "To" path 
  5601.       will automatically be changed to this new sub-directory. 
  5602.  
  5603.  There is also another clever way to create a new sub-directory.  If you press 
  5604.  "Make Dir" with "*.*" showing in the "To" "File" entry box, you will create a 
  5605.  sub-directory from the "To" "Dir: that has the same name as the last directory 
  5606.  name in the "From" "Dir: path. 
  5607.  
  5608.  This is most useful when you are copying a set of files from your hard disk to 
  5609.  a diskette on your floppy drive, or you are creating a new directory tree 
  5610.  identical to an existing tree. (This saves typing in the directory name). 
  5611.  
  5612.  If you make an error in the directory creation, skip over to The SMART Editor 
  5613.  Editor "Delete Files..." function and remove the sub-directory in error. 
  5614.  
  5615.  Remember, sub-directories are automatically created as necessary in the 
  5616.  destination directory when you have chosen "Include all Sub-Dirs". 
  5617.  
  5618.       Chapter 8 - Tips and Techniques 
  5619.       Table of Contents 
  5620.  
  5621.  
  5622. ΓòÉΓòÉΓòÉ 11.25. Use Parameters for Incremental Backup ΓòÉΓòÉΓòÉ
  5623.  
  5624. Use Parameters for Incremental Backup 
  5625.  
  5626. The The SMART Editor "Copy Files..." function takes on a different character 
  5627. when you set the "Parameters" panel with a time/date argument.  Now you can use 
  5628. the "Copy Files..." function to copy all files in a particular directory tree 
  5629. that have changed after a specific date/time as specified by you. 
  5630.  
  5631.       Chapter 8 - Tips and Techniques 
  5632.       Table of Contents 
  5633.  
  5634.  
  5635. ΓòÉΓòÉΓòÉ 11.26. Selecting Files ΓòÉΓòÉΓòÉ
  5636.  
  5637. Selecting Files 
  5638.  
  5639. Whenever you need to select multiple files in a list box, you may find it 
  5640. quicker to select ALL files (if a pushbutton is available), then deselect the 
  5641. unwanted files. 
  5642.  
  5643.       Chapter 8 - Tips and Techniques 
  5644.       Table of Contents 
  5645.  
  5646.  
  5647. ΓòÉΓòÉΓòÉ 11.27. Finding an Item in a List Box ΓòÉΓòÉΓòÉ
  5648.  
  5649. Finding an Item in a List Box 
  5650.  
  5651. Most of The SMART Editor Editor listboxes are loaded alphabetically.  You may 
  5652. skip to the items starting with a specific letter by simply placing the focus 
  5653. on the list box and typing in the first letter of the item desired.  If there 
  5654. are multiple items all starting with the same letter, at least you will be 
  5655. positioned to the first occurrence of the items having the same first letter. 
  5656.  
  5657. Also, you may have noted the back slash "\" character in the directory list 
  5658. boxes. Selecting this item will place you directly at the root of the current 
  5659. drive, without having to walk up a directory tree. 
  5660.  
  5661.       Chapter 8 - Tips and Techniques 
  5662.       Table of Contents 
  5663.  
  5664.  
  5665. ΓòÉΓòÉΓòÉ 11.28. Finding File Size ΓòÉΓòÉΓòÉ
  5666.  
  5667. Finding File Size 
  5668.  
  5669. You can quickly determine a file size (and date stamp) by simply selecting the 
  5670. file (single mouse click) in the "Open/New..." dialog panel under the "File" 
  5671. menu.  This information is displayed near the top of the panel. 
  5672.  
  5673. You can get the size of a number of files and the total space of a specified 
  5674. directory or directory tree by using the "Find Files..." function.  Enter the 
  5675. wildcard file specification which will give you the desired results and press 
  5676. "Ok". 
  5677.  
  5678.       Chapter 8 - Tips and Techniques 
  5679.       Table of Contents 
  5680.  
  5681.  
  5682. ΓòÉΓòÉΓòÉ 11.29. 'Delete' Warnings ΓòÉΓòÉΓòÉ
  5683.  
  5684. The "Delete" function is very powerful, but requires some attention if you 
  5685. don't wish to make an erroneous deletion. 
  5686.  
  5687. Please make your deletion specifications carefully.  And most of all, read the 
  5688. advisory messages that are displayed before any deletions are made.  These 
  5689. messages will tell you what is to be deleted.  The most common error is 
  5690. starting a wildcard deletion in the wrong directory path. 
  5691.  
  5692. This "Delete Files..." function makes cleaning your disk of unused files a much 
  5693. easier operation than using the command line.  However some care and caution is 
  5694. advised. 
  5695.  
  5696.       Chapter 8 - Tips and Techniques 
  5697.       Table of Contents 
  5698.  
  5699.  
  5700. ΓòÉΓòÉΓòÉ 11.30. Link to a Function ΓòÉΓòÉΓòÉ
  5701.  
  5702. Link to a Function 
  5703.  
  5704. If you have built a Link database you can display the source of a function 
  5705. definition or a list of its references to be displayed with the double click of 
  5706. the left or second mouse button. 
  5707.  
  5708. However, if you are not quite sure of the spelling, or the case of the Function 
  5709. name, you can find the function in one of two ways. 
  5710.  
  5711. You can display the "Functions Definitions List" report and use the "Current 
  5712. String Searches" functions to locate the function name.  Once found in this 
  5713. report display, you can double click to display the desired information. 
  5714.  
  5715. An alternative method to locate a function is to pull down the  "Link To..." 
  5716. selection under the "Link" menu and type in the leading characters of the 
  5717. desired function name.  If multiple functions are found that satisfy the name 
  5718. criteria, you will be given a list to choose from. 
  5719.  
  5720. This same mechanism works for any items built in the Link database. There are 
  5721. separate reports listing symbols, variables, dialog templates, unreferenced 
  5722. functions, and user defined items. 
  5723.  
  5724.       Chapter 8 - Tips and Techniques 
  5725.       Table of Contents 
  5726.  
  5727.  
  5728. ΓòÉΓòÉΓòÉ 11.31. Link Database Update ΓòÉΓòÉΓòÉ
  5729.  
  5730. Link Database Update 
  5731.  
  5732. When you create a Link database the link pointers are accurate until you make a 
  5733. change to the source code.  Minor changes over a few number of files may remain 
  5734. tolerable for some time, but eventually the pointers are off far enough to 
  5735. require an update. 
  5736.  
  5737. You may choose to completely rebuild the database. 
  5738.  
  5739. You may also choose to perform an "Incremental Update" of the Link database. 
  5740.  
  5741. The "Incremental Update" checks the date stamp on each of the files listed in 
  5742. the List-of-Files file against the time stamp of the database and will change 
  5743. all of the links associated with a source file that have been changed. 
  5744.  
  5745. Due to the overhead required in this update, you may find it quicker to 
  5746. re-create the database rather than update the database.  Your own testing on 
  5747. your data will provide you with the answer to this question. 
  5748.  
  5749. Use S_Listbox for Quick Access to Frequently Used Directories 
  5750.  
  5751. You can create a Rexx Macro which builds or displays a listbox of commonly used 
  5752. directories.  You can register this macro so that it is easily accessible. 
  5753.  
  5754. The SMART Editor provides a listbox API as a SMART Editor Editor function for 
  5755. Rexx.  This is a VERY useful function.  Now you can bring up a list box of any 
  5756. items that you wish to select.  Within the listbox function you can add and 
  5757. delete lines of the listbox.  If you select an item within the list, the 
  5758. selected item will be returned to your Rexx macro. All you need to do is 
  5759. specify a file that will contain the text items for the listbox. 
  5760.  
  5761. The SMART Editor provides a macro, "ChgDir.Rex", which contains the S_LISTBOX 
  5762. command and the S_CD command.  The contents of the listbox is contained in the 
  5763. file "ChgDir.Lst". The S_LISTBOX command displays the listbox, enables you to 
  5764. update it and select an entry. The S_CD command then changes the directory to 
  5765. the selected entry. 
  5766.  
  5767. The SMART Editor supplies a macro, "Listbox.Rex", which contains the S_LISTBOX 
  5768. command and the S_SET_DB_PATH command.  The contents of the listbox is 
  5769. contained in the file "CHGB.REX". The S_LISTBOX command displays the listbox, 
  5770. enables you to update it and select an entry. The S_SET_DB_PATH command then 
  5771. changes the link database directory to the selected entry. 
  5772.  
  5773. You can register the macros under the "Macro" menu so that they appear in the 
  5774. User Defined Macros drop down list and can optionally be accessed by an 
  5775. accelerator key. 
  5776.  
  5777.       Chapter 8 - Tips and Techniques 
  5778.       Table of Contents 
  5779.  
  5780.  
  5781. ΓòÉΓòÉΓòÉ 11.32. Connect to View Help ΓòÉΓòÉΓòÉ
  5782.  
  5783. Connect to View Help 
  5784.  
  5785. To insure that you are properly "connected" to the IBM Help facility please 
  5786. verify the following: 
  5787.  
  5788.          Insure that the paths for all .NDX files are either listed in the 
  5789.       CONFIG.SYS "SET DPATH= " statement or the \HELPINDX directory path. 
  5790.  
  5791.          Insure that your CONFIG.SYS contains an entry "SET 
  5792.       BOOKSHELF=[Path1];[Path2];"  where [Path] is the path for any .INF Files. 
  5793.  
  5794.       Chapter 8 - Tips and Techniques 
  5795.       Table of Contents 
  5796.  
  5797.  
  5798. ΓòÉΓòÉΓòÉ 11.33. Connect to Microsoft Quick Help ΓòÉΓòÉΓòÉ
  5799.  
  5800. Connect to Microsoft Quick Help 
  5801.  
  5802. To insure that you are properly "connected" to the Microsoft Quick Help 
  5803. facility, verify the following: 
  5804.  
  5805.          Insure that your CONFIG.SYS file has an entry "SET 
  5806.       HELPFILES=[Path1]\*.HLP;[PATH2]\*.HLP..." where [Path] is the path for 
  5807.       any QuickHelp .HLP files. 
  5808.  
  5809.          NOTE: help files for specific applications (such as DLGEDT.HLP) are 
  5810.       NOT Quick help files and are not in a compatible format for QuickHelp. 
  5811.       These files should not appear in the same path as the QuickHelp files. 
  5812.  
  5813.          Insure that the QuickHelp executable "QH.EXE" is in a path defined in 
  5814.       CONFIG.SYS. 
  5815.  
  5816.       Chapter 8 - Tips and Techniques 
  5817.       Table of Contents 
  5818.  
  5819.  
  5820. ΓòÉΓòÉΓòÉ 11.34. Using SLSTART to Open Filenames ΓòÉΓòÉΓòÉ
  5821.  
  5822. Using SLSTART to Open Filenames 
  5823.  
  5824. SLSTART is a SMART Editor Editor monitor program used to pass filenames for The 
  5825. SMART Editor to open. 
  5826.  
  5827. You can specify SLSTART as the editor of choice in the  IBM WorkFrame/2; you 
  5828. can then open multiple files without creating multiple instances. 
  5829.  
  5830. You can use SLSTART in make or compile command files to send an error file 
  5831. automatically back to The SMART Editor. 
  5832.  
  5833.       SLStart Utility 
  5834.       Chapter 8 - Tips and Techniques 
  5835.       Table of Contents 
  5836.  
  5837.  
  5838. ΓòÉΓòÉΓòÉ 11.35. Spawn OS/2 Command File ΓòÉΓòÉΓòÉ
  5839.  
  5840. Spawn OS/2 Command File 
  5841.  
  5842. You can easily spawn a command file from The SMART Editor.  First create a 
  5843. command file, such as to compile or make an project.  Next, register this 
  5844. command file as a menu item under "Start" by selecting "Define Command Menu 
  5845. Item", and then "Add".  To spawn this command, simply select the menu item. 
  5846.  
  5847. These processes are independent (detached) from The SMART Editor.  You may 
  5848. close The SMART Editor and the processes running will not be terminated. 
  5849.  
  5850.       Chapter 8 - Tips and Techniques 
  5851.       Table of Contents 
  5852.  
  5853.  
  5854. ΓòÉΓòÉΓòÉ 11.36. Spawn Dos Command File ΓòÉΓòÉΓòÉ
  5855.  
  5856. Spawn Dos Command File 
  5857.  
  5858. You can run a Dos program and send the results back to The SMART Editor. Write 
  5859. a Dos command file ".BAT" to perform your Dos function like the following: 
  5860.  
  5861.     C:
  5862.    CD \DOSAPPS
  5863.    ** any environment settings available from the command line**
  5864.  
  5865.    DOSPROG.EXE > outfil.txt
  5866.    EXIT
  5867.  
  5868. Let's say the name of this file is "DOSDOO.BAT". 
  5869.  
  5870. Now write a OS/2 command file that you will spawn from The SMART Editor as 
  5871. follows: 
  5872.  
  5873.    COMMAND.COM /C DOSDOO.BAT
  5874.    SLSTART C:\DOSAPPS\outfil.txt
  5875.    EXIT
  5876.  
  5877. This command file invokes the Dos command processor on your Dos command file. 
  5878. SLSTART gets the results back to The SMART Editor. 
  5879.  
  5880. NOTE:  This works real fine unless you have to have special DOS switch settings 
  5881. that must be made from a DOS object window. 
  5882.  
  5883.       Chapter 8 - Tips and Techniques 
  5884.       Table of Contents 
  5885.  
  5886.  
  5887. ΓòÉΓòÉΓòÉ 11.37. Run a "Grep" from The SMART Editor ΓòÉΓòÉΓòÉ
  5888.  
  5889. Run "Grep" from The SMART Editor 
  5890.  
  5891. The SMART Editor supplies a "GrepFind.Rex" macro file which allows you to run 
  5892. Grep from within The SMART Editor. 
  5893.  
  5894. This macro assumes that you have a "GREP.EXE" in your PATH. 
  5895.  
  5896.       Chapter 8 - Tips and Techniques 
  5897.       Table of Contents 
  5898.  
  5899.  
  5900. ΓòÉΓòÉΓòÉ 11.38. Qualify Make File Filenames for Hyperlinking Errors ΓòÉΓòÉΓòÉ
  5901.  
  5902. Qualify Make File Filenames for Hyperlinking Errors 
  5903.  
  5904. To insure that your source code files are fully qualified in the compile error 
  5905. output, you will want to place the fully qualified filename of the source file 
  5906. at the end of the compile options as follows: 
  5907.  
  5908.     icc /Sm ... /c  $(SRCPATH)\filename.c
  5909.  
  5910. Note that the example above uses a symbol for the source path.  This symbol 
  5911. must be previously defined in the make file as follows: 
  5912.  
  5913.     SRCPATH = c:\slink2\sample
  5914.  
  5915. If your source code, make file and object files are all in the same directory 
  5916. this qualification is not necessary.  However, if you wish to insure the proper 
  5917. hyperlink to the source file you will want to qualify the filename of the 
  5918. source file in the make compile. 
  5919.  
  5920.       Chapter 8 - Tips and Techniques 
  5921.       Table of Contents 
  5922.  
  5923.  
  5924. ΓòÉΓòÉΓòÉ 11.39. Assign Accelerator Keys ΓòÉΓòÉΓòÉ
  5925.  
  5926. Assign Accelerator Keys 
  5927.  
  5928. Assign Accelerator Keys 
  5929.  
  5930. You can assign your own accelerator key sequences to your macros in the process 
  5931. of registering your macros with The SMART Editor ("Macro" menu) or commands in 
  5932. the process of registering your commands with The SMART Editor ("Start" menu). 
  5933.  
  5934. Any accelerator key sequence you choose will override any The SMART Editor 
  5935. assignment, For example, I choose to define the start up macro to "F3" because 
  5936. I use this display a lot.  This assignment overrides the CUA definition for 
  5937. "F3" to close the application. Also note that the assignment of accelerator 
  5938. keys is limited to F1-F12, 0-9 (on the keyboard) and a-z.  You cannot assign 
  5939. "SHIFT" alone with a keyboard key ("F" keys are Ok). 
  5940.  
  5941. If you duplicate an assignment for both a macro and a command menu item, the 
  5942. macro item overrides the command item. If you override a system or application 
  5943. accelerator key sequence, the default will automatically return when you 
  5944. de-assign the key sequence from the Macro or Command menu item. 
  5945.  
  5946.       Chapter 8 - Tips and Techniques 
  5947.       Table of Contents 
  5948.  
  5949.  
  5950. ΓòÉΓòÉΓòÉ 11.40. Create Project Oriented Instances ΓòÉΓòÉΓòÉ
  5951.  
  5952. Create Project Oriented SMART Editor Instances 
  5953.  
  5954. You can configure The SMART Editor for specific projects.  In this way each 
  5955. instance of The SMART Editor can maintain a Project identity.  Each instance 
  5956. can maintain its own command files, macro files, tracks file, directories, 
  5957. reference files and pointer to the project link database.  The procedure is 
  5958. quite simple. 
  5959.  
  5960.        (1)  In a directory that you wish to be "home base" for the project, 
  5961.       drop a SMART Editor Editor configuration file (SLINK2.INI).  Select 
  5962.       "Store The SMART Editor .INI..." from the Options menu. 
  5963.  
  5964.        (2)  Copy an icon of The SMART Editor and create a project desktop 
  5965.       folder, or display another The SMART Editor icon object on your desktop. 
  5966.  
  5967.        (3)  Select "settings" and name this instance of The SMART Editor as 
  5968.       your project. Also, specify the default directory as the directory that 
  5969.       you dropped a copy of SLINK2.INI into from step (1) above. 
  5970.  
  5971.        (4)  Now when you start The SMART Editor, it will look into the default 
  5972.       startup directory for the configuration file for this specific instance. 
  5973.       When you close this instance of The SMART Editor, a LASTRKS.LOG file will 
  5974.       be stored in the same directory as the project INI file, ready to pick up 
  5975.       where you left off the next time you open this instance of The SMART 
  5976.       Editor. 
  5977.  
  5978.  If The SMART Editor starts and cannot find a configuration file in the default 
  5979.  directory, the configuration file in the \SLINK2 directory will be used. 
  5980.  
  5981.  As another important part of this Project Configuration, SLSTART and The SMART 
  5982.  Editor provide close hand-holding. If you have multiple instances of The SMART 
  5983.  Editor running, and you wish to insure that files are directed from SLSTART to 
  5984.  a specific instance o The SMART Editor you can use a special identification 
  5985.  parameter. In the setting for your project The SMART Editor specify a startup 
  5986.  parameter of "/p:ID" where ID is any short project identification code such as 
  5987.  "COMM". 
  5988.  
  5989.  Now any time you wish to direct a file from SLSTART, place this same parameter 
  5990.  as an argument to SLSTART, along with the filename to open. You can turn off 
  5991.  The SMART Editor Editor Project ID after The SMART Editor has been started by 
  5992.  simply selecting the "Disable Project ID" menu item under "Options". If you 
  5993.  run with only one instance of The SMART Editor at a time, this ID is not 
  5994.  necessary. 
  5995.  
  5996.  Remember, when you have an instance of The SMART Editor identified with a 
  5997.  project ID, that instance will ONLY receive filenames from an SLSTART with a 
  5998.  corresponding project ID.  All others will be ignored. 
  5999.  
  6000.       Chapter 8 - Tips and Techniques 
  6001.       Table of Contents 
  6002.  
  6003.  
  6004. ΓòÉΓòÉΓòÉ 11.41. Multiple Instances of The SMART Editor ΓòÉΓòÉΓòÉ
  6005.  
  6006. Multiple Instances of The SMART Editor 
  6007.  
  6008. There may be times when you wish to have more than one instance of The SMART 
  6009. Editor running. Each instance of The SMART Editor will maintain its own 
  6010. instance data. 
  6011.  
  6012.       Chapter 8 - Tips and Techniques 
  6013.       Table of Contents 
  6014.  
  6015.  
  6016. ΓòÉΓòÉΓòÉ 12. Chapter 9 - Macros ΓòÉΓòÉΓòÉ
  6017.  
  6018. The SMART Editor S_Macros 
  6019.  
  6020. The S_Macros provide windows into the SMART Editor functions from your Rexx 
  6021. Macro calls.  These callable functions have been implemented as part of the 
  6022. Rexx Interface. 
  6023.  
  6024.         S_Macros - Alphabetically 
  6025.         S_Macros - Functional Groups 
  6026.         S_Macros - Reference Definitions 
  6027.  
  6028.       Table of Contents 
  6029.  
  6030.  
  6031. ΓòÉΓòÉΓòÉ 12.1. S_Macros - Alphabetically ΓòÉΓòÉΓòÉ
  6032.  
  6033. S_ Macros Listed Alphabetically 
  6034.  
  6035. S_BEG_OF_FILE 
  6036.  
  6037.   Move the cursor to the beginning of the current file. 
  6038.  
  6039. S_BEG_OF_LINE 
  6040.  
  6041.   Move the cursor to the beginning of the current line. 
  6042.  
  6043. S_BEG_OF_SCREEN 
  6044.  
  6045.   Move the cursor to the beginning of the current page. 
  6046.  
  6047. S_CAN_I_WRITE (Filename, ReturnVariable) 
  6048.  
  6049.   Can the specified file be written to. 
  6050.  
  6051. S_CD (New_pathname) 
  6052.  
  6053.   Change the current directory. 
  6054.  
  6055. S_CHG_CASE (Case_mode) 
  6056.  
  6057.   Change the case of the selected text. 
  6058.  
  6059. S_CHG_CLIP_MODE 
  6060.  
  6061.   Change the mode of the clip file. 
  6062.  
  6063. S_CHG_EDITMODE 
  6064.  
  6065.   Change the edit mode of the current file. 
  6066.  
  6067. S_CHG_WORDWRAP 
  6068.  
  6069.   Change the word wrap mode of the current file. 
  6070.  
  6071. S_CLEAR_MACRO_OUTPUT 
  6072.  
  6073.   Clear the macro output file. 
  6074.  
  6075. S_CLOSE_ALL_FILES 
  6076.  
  6077.   Close all The SMART Editor files. 
  6078.  
  6079. S_CLOSE_CURR_FILE 
  6080.  
  6081.   Close The SMART Editor current file. 
  6082.  
  6083. S_CLOSE_FILE (File_handle) 
  6084.  
  6085.   Close the specified non-The SMART Editor file. 
  6086.  
  6087. S_CLOSE_SL_FILE (Buffer_number) 
  6088.  
  6089.   Close The SMART Editor file contained in the specified buffer. 
  6090.  
  6091. S_COPY_CLIP_TO_PASTE 
  6092.  
  6093.   Copy the clip file to the paste buffer. 
  6094.  
  6095. S_COPY_PASTE_TO_CLIP 
  6096.  
  6097.   Copy the paste buffer to the clip file. 
  6098.  
  6099. S_COPY_SEL_TO_CLIP 
  6100.  
  6101.   Copy the selected text to the clip file. 
  6102.  
  6103. S_COPY_SEL_TO_PASTE 
  6104.  
  6105.   Copy the selected text to the paste buffer. 
  6106.  
  6107. S_CUT_SEL_TO_PASTE 
  6108.  
  6109.   Cut the selected text to the paste buffer. 
  6110.  
  6111. S_DEL_CHAR 
  6112.  
  6113.   Delete the current character. 
  6114.  
  6115. S_DEL_LINE 
  6116.  
  6117.   Delete the current line. 
  6118.  
  6119. S_DEL_SELECTED 
  6120.  
  6121.   Delete the selected text. 
  6122.  
  6123. S_DEL_TO_EOL 
  6124.  
  6125.   Delete to end of line. 
  6126.  
  6127. S_DEL_WORD 
  6128.  
  6129.   Delete the current word. 
  6130.  
  6131. S_DISPLAY_CLIP 
  6132.  
  6133.   Display the clip file. 
  6134.  
  6135. S_DISPLAY_REF_FILE (Reference_file_id) 
  6136.  
  6137.   Display the specified reference file. 
  6138.  
  6139. S_DOES_FILE_EXIST (Filename, ReturnVariable) 
  6140.  
  6141.   Does the specified file exist. 
  6142.  
  6143. S_END_OF_FILE 
  6144.  
  6145.   Move the cursor to the end of the current file. 
  6146.  
  6147. S_END_OF_LINE 
  6148.  
  6149.   Move the cursor to the end of the current line. 
  6150.  
  6151. S_END_OF_SCREEN 
  6152.  
  6153.   Move the cursor to the end of the current page. 
  6154.  
  6155. S_GET_BUFF_COL_NUM (Buffer_number, ReturnVariable) 
  6156.  
  6157.   Get the column number of the specified The SMART Editor file. 
  6158.  
  6159. S_GET_BUFF_EDITMODE (Buffer_number, ReturnVariable) 
  6160.  
  6161.   Get the edit mode of the specified The SMART Editor file. 
  6162.  
  6163. S_GET_BUFF_FILENAME (Buffer_number, ReturnVariable) 
  6164.  
  6165.   Get the file name of the specified The SMART Editor file. 
  6166.  
  6167. S_GET_BUFF_LINE_NUM (Buffer_number, ReturnVariable) 
  6168.  
  6169.   Get the current line number of the specified The SMART Editor file. 
  6170.  
  6171. S_GET_BUFF_WORDWRAP (Buffer_number, ReturnVariable) 
  6172.  
  6173.   Get the word wrap mode of the specified The SMART Editor file. 
  6174.  
  6175. S_GET_CLIP_FILENAME (ReturnVariable) 
  6176.  
  6177.   Get the clip file name. 
  6178.  
  6179. S_GET_COL_NUM (ReturnVariable) 
  6180.  
  6181.   Get the current column number. 
  6182.  
  6183. S_GET_CURR_CHAR (ReturnVariable) 
  6184.  
  6185.   Get the character at the cursor. 
  6186.  
  6187. S_GET_CURR_CHGSTATUS (ReturnVariable) 
  6188.  
  6189.   Get the change status of The SMART Editor current file. 
  6190.  
  6191. S_GET_CURR_EDITMODE (ReturnVariable) 
  6192.  
  6193.   Get the edit mode of The SMART Editor current file. 
  6194.  
  6195. S_GET_CURR_FILENAME (ReturnVariable) 
  6196.  
  6197.   Get the filename of The SMART Editor current file. 
  6198.  
  6199. S_GET_CURR_SL_DIR (ReturnVariable) 
  6200.  
  6201.   Get The SMART Editor current directory. 
  6202.  
  6203. S_GET_CURR_STRING (ReturnVariable) 
  6204.  
  6205.   Get the 'C' keyword at the cursor. 
  6206.  
  6207. S_GET_CURR_WORD (ReturnVariable) 
  6208.  
  6209.   Get the word at the cursor. 
  6210.  
  6211. S_GET_CURR_WORDWRAP (ReturnVariable) 
  6212.  
  6213.   Get the word wrap mode of The SMART Editor current file. 
  6214.  
  6215. S_GET_CURSOR_POS (ReturnVariable) 
  6216.  
  6217.   Get the cursor position of The SMART Editor current file. 
  6218.  
  6219. S_GET_DISK_SPACE (DriveNum, ReturnVariable) 
  6220.  
  6221.   Get the available disk space for the specified drive. 
  6222.  
  6223. S_GET_ENV_INFO (EnvironmentVariable, ReturnVariable) 
  6224.  
  6225.   Get the environment information for the specified environment variable. 
  6226.  
  6227. S_GET_FILE_BUFFNUM (Filename, ReturnVariable) 
  6228.  
  6229.   Get the buffer number for the specified The SMART Editor file. 
  6230.  
  6231. S_GET_FILE_INFO (Filename, ReturnVariable) 
  6232.  
  6233.   Get the file size and date and time for the specified file. 
  6234.  
  6235. S_GET_LINE_LEN (ReturnVariable) 
  6236.  
  6237.   Get the length of the current line. 
  6238.  
  6239. S_GET_LINE_NUM (ReturnVariable) 
  6240.  
  6241.   Get the current line number. 
  6242.  
  6243. S_GET_NUM_SL_FILES (ReturnVariable) 
  6244.  
  6245.   Get the number of opened The SMART Editor files. 
  6246.  
  6247. S_GET_REF_FILENAME (ReferenceFileId, ReturnVariable) 
  6248.  
  6249.   Get the file name of the specified reference file. 
  6250.  
  6251. S_GET_SELECTED_SIZE (ReturnVariable) 
  6252.  
  6253.   Get the length of the selected text. 
  6254.  
  6255. S_GET_SELECTED_TEXT (ReturnVariable) 
  6256.  
  6257.   Get the selected text. 
  6258.  
  6259. S_GET_SL_INI_PATH (ReturnVariable) 
  6260.  
  6261.   Get the path of the current SLINK2.INI file. 
  6262.  
  6263. S_GOTO_BEG_BRACE 
  6264.  
  6265.   Move the cursor to the beginning brace. 
  6266.  
  6267. S_GOTO_BUFF (Buffer_number) 
  6268.  
  6269.   Display The SMART Editor file contained in the specified buffer. 
  6270.  
  6271. S_GOTO_COL (Column_number) 
  6272.  
  6273.   Move the cursor to the specified column number. 
  6274.  
  6275. S_GOTO_END_BRACE 
  6276.  
  6277.   Move the cursor to the ending brace. 
  6278.  
  6279. S_GOTO_LINE (Line_number) 
  6280.  
  6281.   Move the cursor to the specified line number. 
  6282.  
  6283. S_GOTO_MARK (Marker_number) 
  6284.  
  6285.   Move the cursor to the specified marker. 
  6286.  
  6287. S_GOTO_POS 
  6288.  
  6289.   Move the cursor to the saved cursor position. 
  6290.  
  6291. S_INDENT 
  6292.  
  6293.   Indent the current line to the beginning of the previous line. 
  6294.  
  6295. S_INSERT_CLIP 
  6296.  
  6297.   Insert the clip file at the current cursor position. 
  6298.  
  6299. S_INSERT_FILE (Filename) 
  6300.  
  6301.   Insert the specified file at the current cursor position. 
  6302.  
  6303. S_INSERT_LINE (String) 
  6304.  
  6305.   Insert the specified string at the current cursor position and append a 
  6306. carriage return. 
  6307.  
  6308. S_INSERT_PASTE 
  6309.  
  6310.   Insert the paste buffer at the current cursor position. 
  6311.  
  6312. S_INSERT_STRING (String) 
  6313.  
  6314.   Insert the specified string at the current cursor position. 
  6315.  
  6316. S_IS_DRIVE_PROTECTED (Drive, ReturnVariable) 
  6317.  
  6318.   Is the specified drive write protected. 
  6319.  
  6320. S_IS_FILE_BINARY (Filename, ReturnVariable) 
  6321.  
  6322.   Is the specified file contain non_ascii data. 
  6323.  
  6324. S_LISTBOX (Listbox_filename, Title, ReturnVariable) 
  6325.  
  6326.   Display, update and select from a listbox. 
  6327.  
  6328. S_MARK_CURR_POS (Marker_number) 
  6329.  
  6330.   Set the specified marker to the current cursor position. 
  6331.  
  6332. S_MSG (Line1, Line2,Line3, ReturnVariable) 
  6333.  
  6334.   Display a message and wait for the user to respond. 
  6335.  
  6336. S_NEXT_CHAR 
  6337.  
  6338.   Move the cursor right one character. 
  6339.  
  6340. S_NEXT_LINE 
  6341.  
  6342.   Move the cursor down one line. 
  6343.  
  6344. S_NEXT_PAGE 
  6345.  
  6346.   Move the cursor down one page. 
  6347.  
  6348. S_NEXT_WORD 
  6349.  
  6350.   Move the cursor right one word. 
  6351.  
  6352. S_OPEN_FILE (Exists_mode, Newfile_mode, Filename, ReturnVariable) 
  6353.  
  6354.   Open the specified non-The SMART Editor file. 
  6355.  
  6356. S_OPEN_SL_FILE (Open_mode, Edit_mode, Wrap_mode, Filename) 
  6357.  
  6358.   Open the specified The SMART Editor file. 
  6359.  
  6360. S_PREV_BUFFER 
  6361.  
  6362.   Display the file previously displayed in The SMART Editor current window. 
  6363.  
  6364. S_PREV_CHAR 
  6365.  
  6366.   Move the cursor left one character. 
  6367.  
  6368. S_PREV_LINE 
  6369.  
  6370.   Move the cursor up one line. 
  6371.  
  6372. S_PREV_PAGE 
  6373.  
  6374.   Move the cursor up one page. 
  6375.  
  6376. S_PREV_WORD 
  6377.  
  6378.   Move the cursor left one word. 
  6379.  
  6380. S_PRINT_CURR_FILE 
  6381.  
  6382.   Print the current file. 
  6383.  
  6384. S_PRINT_SELECTED 
  6385.  
  6386.   Print the selected text. 
  6387.  
  6388. S_PROMPT (Prompt_msg, ReturnVariable) 
  6389.  
  6390.   Display a Message and return the user's string response. 
  6391.  
  6392. S_READ_FILE (file_handle, length, ReturnVariable) 
  6393.  
  6394.   Read the specified non-The SMART Editor file. 
  6395.  
  6396. S_REDO 
  6397.  
  6398.   Redo the last undo edit function. 
  6399.  
  6400. S_RENAME_CLIP_FILE (New_clipname) 
  6401.  
  6402.   Rename the clip file. 
  6403.  
  6404. S_REPLACE (Search_string, Replace_string, ReturnVariable) 
  6405.  
  6406.   Replace all occurrences of the search string with the replace string within 
  6407. the current file. 
  6408.  
  6409. S_SEARCH_BACK (Case_sensitive, String) 
  6410.  
  6411.   Search backwards within the current file for the specified string. 
  6412.  
  6413. S_SEARCH_FWD (Case_sensitive, Top_of_file, String) 
  6414.  
  6415.   Search forwards within the current file for the specified string. 
  6416.  
  6417. S_SEARCH_NEXT 
  6418.  
  6419.   Search for the next occurrence of the previously defined string. 
  6420.  
  6421. S_SET_DB_PATH (DBpath) 
  6422.  
  6423.   Set the path for the link database. 
  6424.  
  6425. S_SAVE_ALL_FILES 
  6426.  
  6427.   Save all changed The SMART Editor files. 
  6428.  
  6429. S_SAVE_CURR_FILE 
  6430.  
  6431.   Save The SMART Editor current file. 
  6432.  
  6433. S_SAVE_POS 
  6434.  
  6435.   Save the current cursor position. 
  6436.  
  6437. S_SAVE_SL_FILE (Buffer_number) 
  6438.  
  6439.   Save the specified The SMART Editor file. 
  6440.  
  6441. S_SAVEAS_CURR_FILE (New_filename) 
  6442.  
  6443.   Save the current file with the specified file name. 
  6444.  
  6445. S_SELECT_BRACED_CODE 
  6446.  
  6447.   Select the code within braces. 
  6448.  
  6449. S_SELECT_LINE 
  6450.  
  6451.   Select the current line. 
  6452.  
  6453. S_SELECT_PAGEDOWN 
  6454.  
  6455.   Select the next page. 
  6456.  
  6457. S_SELECT_PAGEUP 
  6458.  
  6459.   Select the previous page. 
  6460.  
  6461. S_SELECT_WORD 
  6462.  
  6463.   Select the current word. 
  6464.  
  6465. S_SPLIT_SCREEN (Split_mode) 
  6466.  
  6467.   Split the screen. 
  6468.  
  6469. S_SWAP_FOCUS 
  6470.  
  6471.   Swap the focus to the other window in a split screen. 
  6472.  
  6473. S_SWAP_WINDOWS 
  6474.  
  6475.   Swap the files in a split screen. 
  6476.  
  6477. S_SYNC_SCROLL 
  6478.  
  6479.   Synch scroll the files in a split screen. 
  6480.  
  6481. S_WRITE_FILE (Handle, Length, Data_to_write, ResultVariable) 
  6482.  
  6483.   Write to the specified non-The SMART Editor file. 
  6484.  
  6485. S_UNDO 
  6486.  
  6487.   Undo the last edit function. 
  6488.  
  6489.       Chapter 9 - Macros 
  6490.       Table of Contents 
  6491.  
  6492.  
  6493. ΓòÉΓòÉΓòÉ 12.2. S_Macros - Functional Groups ΓòÉΓòÉΓòÉ
  6494.  
  6495. S_ Macros Listed by Functionality 
  6496.  
  6497. Cursor Movement 
  6498.  
  6499. The Cursor Movement macros permit the control of the cursor within the opened 
  6500. The SMART Editor files. 
  6501.  
  6502.        S_BEG_OF_FILE 
  6503.        S_BEG_OF_LINE 
  6504.        S_BEG_OF_SCREEN 
  6505.        S_END_OF_FILE 
  6506.        S_END_OF_LINE 
  6507.        S_END_OF_SCREEN 
  6508.        S_GOTO_BEG_BRACE 
  6509.        S_GOTO_COL 
  6510.        S_GOTO_END_BRACE 
  6511.        S_GOTO_LINE 
  6512.        S_GOTO_MARK 
  6513.        S_GOTO_POS 
  6514.        S_INDENT 
  6515.        S_MARK_CURR_POS 
  6516.        S_NEXT_CHAR 
  6517.        S_NEXT_LINE 
  6518.        S_NEXT_PAGE 
  6519.        S_NEXT_WORD 
  6520.        S_PREV_CHAR 
  6521.        S_PREV_LINE 
  6522.        S_PREV_PAGE 
  6523.        S_PREV_WORD 
  6524.        S_SAVE_POS 
  6525.  
  6526.  The SMART Editor Files 
  6527.  
  6528.  The The SMART Editor File macros control the manipulation of  The SMART Editor 
  6529.  files. 
  6530.  
  6531.        S_CHG_EDITMODE 
  6532.        S_CHG_WORDWRAP 
  6533.        S_CLOSE_ALL_FILES 
  6534.        S_CLOSE_CURR_FILE 
  6535.        S_CLOSE_SL_FILE 
  6536.        S_DISPLAY_REF_FILE 
  6537.        S_GOTO_BUFF 
  6538.        S_INSERT_FILE 
  6539.        S_OPEN_SL_FILE 
  6540.        S_PREV_BUFFER 
  6541.        S_PRINT_CURR_FILE 
  6542.        S_SAVE_ALL_FILES 
  6543.        S_SAVE_CURR_FILE 
  6544.        S_SAVE_SL_FILE 
  6545.        S_SAVEAS_CURR_FILE 
  6546.  
  6547.  External Files 
  6548.  
  6549.  The External File macros control the manipulation of external files. 
  6550.  
  6551.        S_CAN_I_WRITE 
  6552.        S_CD 
  6553.        S_CLOSE_FILE 
  6554.        S_DOES_FILE_EXIST 
  6555.        S_IS_FILE_BINARY 
  6556.        S_OPEN_FILE 
  6557.        S_READ_FILE 
  6558.        S_WRITE_FILE 
  6559.  
  6560.  Edit 
  6561.  
  6562.  The Edit macros allow the editing of a The SMART Editor file. 
  6563.  
  6564.        S_CHG_CASE 
  6565.        S_DEL_CHAR 
  6566.        S_DEL_LINE 
  6567.        S_DEL_SELECTED 
  6568.        S_DEL_TO_EOL 
  6569.        S_DEL_WORD 
  6570.        S_INSERT_LINE 
  6571.        S_INSERT_STRING 
  6572.        S_PRINT_SELECTED 
  6573.        S_REDO 
  6574.        S_SELECT_BRACED_CODE 
  6575.        S_SELECT_LINE 
  6576.        S_SELECT_PAGEDOWN 
  6577.        S_SELECT_PAGEUP 
  6578.        S_SELECT_WORD 
  6579.        S_UNDO 
  6580.  
  6581.  Paste 
  6582.  
  6583.  The Paste macros allow the movement of data from a The SMART Editor file to 
  6584.  the paste buffer and back. 
  6585.  
  6586.        S_COPY_SEL_TO_PASTE 
  6587.        S_CUT_SEL_TO_PASTE 
  6588.        S_INSERT_PASTE 
  6589.  
  6590.  Clip 
  6591.  
  6592.  The Clip macros manipulate data into and out of The SMART Editor current clip 
  6593.  file. 
  6594.  
  6595.        S_CHG_CLIP_MODE 
  6596.        S_COPY_CLIP_TO_PASTE 
  6597.        S_COPY_PASTE_TO_CLIP 
  6598.        S_COPY_SEL_TO_CLIP 
  6599.        S_DISPLAY_CLIP 
  6600.        S_INSERT_CLIP 
  6601.        S_RENAME_CLIP_FILE 
  6602.  
  6603.  Get 
  6604.  
  6605.  The Get macros retrieve information and data. 
  6606.  
  6607.        S_GET_BUFF_COL_NUM 
  6608.        S_GET_BUFF_EDITMODE 
  6609.        S_GET_BUFF_FILENAME 
  6610.        S_GET_BUFF_LINE_NUM 
  6611.        S_GET_BUFF_WORDWRAP 
  6612.        S_GET_CLIP_FILENAME 
  6613.        S_GET_COL_NUM 
  6614.        S_GET_CURR_CHAR 
  6615.        S_GET_CURR_CHGSTATUS 
  6616.        S_GET_CURR_EDITMODE 
  6617.        S_GET_CURR_FILENAME 
  6618.        S_GET_CURR_SL_DIR 
  6619.        S_GET_CURR_WORD 
  6620.        S_GET_CURR_STRING 
  6621.        S_GET_CURR_WORDWRAP 
  6622.        S_GET_CURSOR_POS 
  6623.        S_GET_DISK_SPACE 
  6624.        S_GET_ENV_INFO 
  6625.        S_GET_FILE_BUFFNUM 
  6626.        S_GET_FILE_INFO 
  6627.        S_GET_LINE_LEN 
  6628.        S_GET_LINE_NUM 
  6629.        S_GET_NUM_SL_FILES 
  6630.        S_GET_REF_FILENAME 
  6631.        S_GET_SELECTED_SIZE 
  6632.        S_GET_SELECTED_TEXT 
  6633.        S_GET_SL_INI_PATH 
  6634.  
  6635.  Search and Replace 
  6636.  
  6637.  The Search and Replace macros search The SMART Editor current file for the 
  6638.  specified string and optionally replace that data. 
  6639.  
  6640.        S_REPLACE 
  6641.        S_SEARCH_BACK 
  6642.        S_SEARCH_FWD 
  6643.        S_SEARCH_NEXT 
  6644.  
  6645.  Windows 
  6646.  
  6647.  The Windows macros allow the manipulation of files in a split screen. 
  6648.  
  6649.        S_SPLIT_SCREEN 
  6650.        S_SWAP_FOCUS 
  6651.        S_SWAP_WINDOWS 
  6652.        S_SYNC_SCROLL 
  6653.  
  6654.  Misc 
  6655.  
  6656.  The Misc macros define the remaining built in The SMART Editor macros. 
  6657.  
  6658.        S_CLEAR_MACRO_OUTPUT 
  6659.        S_IS_DRIVE_PROTECTED 
  6660.        S_LISTBOX 
  6661.        S_MSG 
  6662.        S_PROMPT 
  6663.        S_SET_DB_PATH 
  6664.  
  6665.       Chapter 9 - Macros 
  6666.       Table of Contents 
  6667.  
  6668.  
  6669. ΓòÉΓòÉΓòÉ 12.3. S_Macros - Reference Definitions ΓòÉΓòÉΓòÉ
  6670.  
  6671. S_Macros - Reference Definitions 
  6672.  
  6673. S_BEG_OF_FILE 
  6674.  
  6675. Move the cursor to the beginning of the current file. 
  6676.  
  6677. Reference 
  6678.  
  6679.    <Ctrl>+<Home> 
  6680.  
  6681. S_BEG_OF_LINE 
  6682.  
  6683. Move the cursor to the beginning of the current line within the current file. 
  6684.  
  6685. Reference 
  6686.  
  6687.    <Home> 
  6688.  
  6689. S_BEG_OF_SCREEN 
  6690.  
  6691. Move the cursor to the beginning of the current page within the current file. 
  6692. <Sft>+<Home> 
  6693.  
  6694. S_CAN_I_WRITE 
  6695.  
  6696. Check if the specified file can be written to and return the result. 
  6697.  
  6698. Arguments 
  6699.  
  6700.    Filename - the name of the file to check 
  6701.  
  6702.    ReturnVariable - the name of the variable to contain the the results 
  6703.  
  6704. Return Values 
  6705.  
  6706.    "TRUE" if the specified file can be written to 
  6707.  
  6708.    "FALSE" if the specified file cannot be written to 
  6709.  
  6710. Examples 
  6711.  
  6712.    S_CAN_I_WRITE MyFilename WriteIsOK 
  6713.  
  6714.    S_CAN_I_WRITE 'C:\MYFILES\FILEA.TXT' Result 
  6715.  
  6716. S_CD 
  6717.  
  6718. Change the directory to the specified path. 
  6719.  
  6720. Arguments 
  6721.  
  6722.    Path - the new directory path 
  6723.  
  6724. Examples 
  6725.  
  6726.    S_CD 'C:\OS2\SYSTEM' 
  6727.  
  6728.    S_CD '..' 
  6729.  
  6730. S_CHG_CASE 
  6731.  
  6732. Change the case of the selected text. 
  6733.  
  6734. Arguments 
  6735.  
  6736.    Case Mode 
  6737.  
  6738.        1 = all upper case 
  6739.        2 = all lower case 
  6740.        3 = first character of each word upper case, rest lower 
  6741.        4 = reverse case 
  6742.  
  6743.  Examples 
  6744.  
  6745.     S_CHG_CASE 2 
  6746.  
  6747.  Reference 
  6748.  
  6749.     "Edit" menu, "Cases" 
  6750.  
  6751.  S_CHG_CLIP_MODE 
  6752.  
  6753.  Changes the state of the file mode of The SMART Editor current clip file. The 
  6754.  file modes are "Replace" or "Append". 
  6755.  
  6756.  Reference 
  6757.  
  6758.     "Clip" menu, "Clip File Mode - Append" 
  6759.  
  6760.  S_CHG_EDITMODE 
  6761.  
  6762.  Change the file edit mode of the current file. The file edit modes are 
  6763.  read-only and edit. 
  6764.  
  6765.  The file mode will not be changed for hex files. 
  6766.  
  6767.  The file mode will not be changed if the file has been updated. 
  6768.  
  6769.  Reference 
  6770.  
  6771.     "Edit" menu, "Change File Edit Mode" 
  6772.  
  6773.  S_CHG_WORDWRAP 
  6774.  
  6775.  Change the word wrap mode of the current file. 
  6776.  
  6777.  Reference 
  6778.  
  6779.     "Edit" menu, "Word Wrap" 
  6780.  
  6781.  S_CLEAR_MACRO_OUTPUT 
  6782.  
  6783.  Clear the macro output file. 
  6784.  
  6785.  The macro output file contains all output generated from non-interactive Rexx 
  6786.  macros. 
  6787.  
  6788.  The Macro Output is stored in the file SL_@##.Out in the SL_TEMP2 directory 
  6789.  defined in CONFIG.SYS; @ defines the day of the week, ## identifies the 
  6790.  current instance of The SMART Editor. 
  6791.  
  6792.  The "Ref" menu "Macro Output" reference file displays the macro output file. 
  6793.  
  6794.  Reference 
  6795.  
  6796.     "Macro" menu, "Clear Macro Output" 
  6797.  
  6798.  S_CLOSE_ALL_FILES 
  6799.  
  6800.  Close all The SMART Editor files. 
  6801.  
  6802.  If the file has changed, it will be saved first. If the file is in hex mode, 
  6803.  it will not be saved. 
  6804.  
  6805.  Reference 
  6806.  
  6807.     "File" menu, "Close All Files with Save" 
  6808.  
  6809.  S_CLOSE_CURR_FILE 
  6810.  
  6811.  Close The SMART Editor current file. 
  6812.  
  6813.  If the file has been changed, it will be saved first. 
  6814.  
  6815.  Reference 
  6816.  
  6817.     "File" menu, "Close Current File" 
  6818.  
  6819.  S_CLOSE_FILE 
  6820.  
  6821.  Close the specified external (non-The SMART Editor) file. 
  6822.  
  6823.  Arguments 
  6824.  
  6825.     File Handle - this is returned to the user by the "S_OPEN_FILE" macro 
  6826.  
  6827.  Examples 
  6828.  
  6829.     S_CLOSE_FILE MyFileHandle 
  6830.  
  6831.  S_CLOSE_SL_FILE 
  6832.  
  6833.  Close The SMART Editor file specified by Buffer_Number, the buffer number 
  6834.  containing the file to be closed. 
  6835.  
  6836.  If the file has been changed, it will be saved first. 
  6837.  
  6838.  Arguments 
  6839.  
  6840.     Buffer_Number - the buffer number containing the file to be closed. This 
  6841.  can be 0 through the maximum number of files opened. The buffer number relates 
  6842.  to the position of the file in the files list (displayed at the end of the 
  6843.  "File" menu). 
  6844.  
  6845.  Examples 
  6846.  
  6847.     S_CLOSE_SL_FILE MyFileBuffernum 
  6848.  
  6849.     S_CLOSE_SL_FILE 3 
  6850.  
  6851.  S_COPY_CLIP_TO_PASTE 
  6852.  
  6853.  Copy The SMART Editor current clip file to the paste buffer. 
  6854.  
  6855.  The clip file must be less than 64k. 
  6856.  
  6857.  Reference 
  6858.  
  6859.     "Clip" menu, "Clip File to Paste" 
  6860.  
  6861.  S_COPY_PASTE_TO_CLIP 
  6862.  
  6863.  Copy the paste buffer to The SMART Editor current clip file. 
  6864.  
  6865.  Reference 
  6866.  
  6867.     "Clip" menu, "Paste to Clip File" 
  6868.  
  6869.  S_COPY_SEL_TO_CLIP 
  6870.  
  6871.  Copy the selected text in The SMART Editor current file to The SMART Editor 
  6872.  current clip file. 
  6873.  
  6874.  Reference 
  6875.  
  6876.     "Clip" menu, "Select to Clip File" 
  6877.  
  6878.  S_COPY_SEL_TO_PASTE 
  6879.  
  6880.  Copy the current selection to the paste buffer. If there is no selection, the 
  6881.  current line will be copied to the paste buffer. 
  6882.  
  6883.  Reference 
  6884.  
  6885.     "Edit" menu, "Copy" 
  6886.  
  6887.  S_CUT_SEL_TO_PASTE 
  6888.  
  6889.  Copy the current selection to the paste buffer. If there is no selection, the 
  6890.  current line will be copied to the paste buffer. The copied text is then 
  6891.  deleted from The SMART Editor file. 
  6892.  
  6893.  The current file must be in edit mode. 
  6894.  
  6895.  Reference 
  6896.  
  6897.     "Edit" menu, "Cut" 
  6898.  
  6899.  S_DEL_CHAR 
  6900.  
  6901.  Delete the character at the current cursor position in the current file. 
  6902.  
  6903.  S_DEL_LINE 
  6904.  
  6905.  Delete the line containing the cursor in the current file. 
  6906.  
  6907.  Reference 
  6908.  
  6909.     <Ctrl>+<D> 
  6910.  
  6911.  S_DEL_SELECTED 
  6912.  
  6913.  Delete the selected text in the current file. Reference 
  6914.  
  6915.     "Edit" menu, "Delete" 
  6916.  
  6917.  S_DEL_TO_EOL 
  6918.  
  6919.  Delete the text from the current cursor position to the end of the line in the 
  6920.  current file. 
  6921.  
  6922.  Reference 
  6923.  
  6924.     <Ctrl>+<K> 
  6925.  
  6926.  S_DEL_WORD 
  6927.  
  6928.  Delete the word containing the cursor in the current file. 
  6929.  
  6930.  S_DISPLAY_CLIP 
  6931.  
  6932.  Display The SMART Editor current clip file. The clip file becomes The SMART 
  6933.  Editor current file. 
  6934.  
  6935.  Reference 
  6936.  
  6937.     "Clip" menu, "Display Clip File" 
  6938.  
  6939.  S_DISPLAY_REF_FILE 
  6940.  
  6941.  Display the specified reference file. This pertains to the "Ref" pull down 
  6942.  menu. 
  6943.  
  6944.  Arguments 
  6945.  
  6946.     Reference File - the id of the reference file to be displayed 
  6947.  
  6948.        0 Find Files List 
  6949.        1 String Search List 
  6950.        2 Multiple Definitions List 
  6951.        3 Multiple XRef List 
  6952.        4 Clip File 
  6953.        5 Current Hexadecimal Format 
  6954.        6 Tracks 
  6955.        7 Macro Output 
  6956.        A-H User Define Reference File 
  6957.  Examples 
  6958.  
  6959.     S_DISPLAY_REF_FILE RefFileNum 
  6960.  
  6961.     S_DISPLAY_REF_FILE A 
  6962.  
  6963.  Reference 
  6964.  
  6965.     "Ref" menu 
  6966.  
  6967.  S_DOES_FILE_EXIST 
  6968.  
  6969.  Check if the specified non_The SMART Editor file exists and return the result. 
  6970.  
  6971.  Arguments 
  6972.  
  6973.     Filename - the name of the file to check 
  6974.  
  6975.     ReturnVariable - the name of the variable to contain the the results 
  6976.  
  6977.  Return Values 
  6978.  
  6979.     "TRUE" if the specified file exists 
  6980.  
  6981.     "FALSE" if the specified file does not exist 
  6982.  
  6983.  Examples 
  6984.  
  6985.     S_DOES_FILE_EXIST MyFilename FileExists 
  6986.  
  6987.     S_DOES_FILE_EXIST 'C:\MYFILES\FILEA.TXT' Result 
  6988.  
  6989.  S_END_OF_FILE 
  6990.  
  6991.  Move the cursor to the end of the current file. 
  6992.  
  6993.  Reference 
  6994.  
  6995.      <Ctrl>+<End> 
  6996.  
  6997.  S_END_OF_LINE 
  6998.  
  6999.  Move the cursor to the end of the current line within the current file. 
  7000.  
  7001.  Reference 
  7002.  
  7003.      <End> 
  7004.  
  7005.  S_END_OF_SCREEN 
  7006.  
  7007.  Move the cursor to the end of the current page within the current file. 
  7008.  
  7009.  S_GET_BUFF_COL_NUM 
  7010.  
  7011.  Retrieve the current column number of the current line in The SMART Editor 
  7012.  file contained in the specified buffer. 
  7013.  
  7014.  Arguments 
  7015.  
  7016.     Buffer_number - the buffer number containing the desired file. This can be 
  7017.  0 through the maximum number of files opened. The buffer number relates to the 
  7018.  position of the file in the files list (displayed at the end of the "File" 
  7019.  menu). 
  7020.  
  7021.     ReturnVariable - the name of the variable to contain the results 
  7022.  
  7023.  Return Values 
  7024.  
  7025.     Column number 
  7026.  
  7027.  Examples 
  7028.  
  7029.     S_GET_BUFF_COL_NUM 2 ColumnNumber 
  7030.  
  7031.     S_GET_BUFF_COL_NUM MasterFileBufferNum ColNumInMaster 
  7032.  
  7033.  S_GET_BUFF_EDITMODE 
  7034.  
  7035.  Retrieve the edit mode of The SMART Editor file contained in the specified 
  7036.  buffer. 
  7037.  
  7038.  Arguments 
  7039.  
  7040.     Buffer_number - the buffer number containing the desired file. This can be 
  7041.  0 through the maximum number of files opened. The buffer number relates to the 
  7042.  position of the file in the files list (displayed at the end of the "File" 
  7043.  menu). 
  7044.  
  7045.     ReturnVariable - the name of the variable to contain the results 
  7046.  
  7047.  Return Values 
  7048.  
  7049.     "READONLY" or "EDIT" 
  7050.  
  7051.  Examples 
  7052.  
  7053.     S_GET_BUFF_EDITMODE 2 EditMode 
  7054.  
  7055.     S_GET_BUFF_EDITMODE MasterFileBufferNum EditModeOfMaster 
  7056.  
  7057.  S_GET_BUFF_FILENAME 
  7058.  
  7059.  Retrieve the filename of The SMART Editor file contained in the specified 
  7060.  buffer. 
  7061.  
  7062.  Arguments 
  7063.  
  7064.     Buffer_number - the buffer number containing the desired file. This can be 
  7065.  0 through the maximum number of files opened. The buffer number relates to the 
  7066.  position of the file in the files list (displayed at the end of the "File" 
  7067.  menu). 
  7068.  
  7069.     ReturnVariable - the name of the variable to contain the results 
  7070.  
  7071.  Return Values 
  7072.  
  7073.     Filename 
  7074.  
  7075.  Examples 
  7076.  
  7077.     S_GET_BUFF_FILENAME 2 Name2 
  7078.  
  7079.     S_GET_BUFF_FILENAME LinkedBufferNum LinkedFilename 
  7080.  
  7081.  S_GET_BUFF_LINE_NUM 
  7082.  
  7083.  Retrieve the current line number in The SMART Editor file contained in the 
  7084.  specified buffer. 
  7085.  
  7086.  Arguments 
  7087.  
  7088.     Buffer_number - the buffer number containing the desired file. This can be 
  7089.  0 through the maximum number of files opened. The buffer number relates to the 
  7090.  position of the file in the files list (displayed at the end of the "File" 
  7091.  menu). 
  7092.  
  7093.     ReturnVariable - the name of the variable to contain the results 
  7094.  
  7095.  Return Values 
  7096.  
  7097.     Line number 
  7098.  
  7099.  Examples 
  7100.  
  7101.     S_GET_BUFF_LINE_NUM 2 ColumnNumber 
  7102.  
  7103.     S_GET_BUFF_LINE_NUM MasterFileBufferNum LineNumInMaster 
  7104.  
  7105.  S_GET_BUFF_WORDWRAP 
  7106.  
  7107.  Retrieve the word wrap mode of The SMART Editor file contained in the 
  7108.  specified buffer. 
  7109.  
  7110.  Arguments 
  7111.  
  7112.     Buffer_number - the buffer number containing the desired file. This can be 
  7113.  0 through the maximum number of files opened. The buffer number relates to the 
  7114.  position of the file in the files list (displayed at the end of the "File" 
  7115.  menu). 
  7116.  
  7117.     ReturnVariable - the name of the variable to contain the results 
  7118.  
  7119.  Return Values 
  7120.  
  7121.     "WRAP" or "NOWRAP" 
  7122.  
  7123.  Examples 
  7124.  
  7125.     S_GET_BUFF_WORDWRAP 2 WrapMode 
  7126.  
  7127.     S_GET_BUFF_WORDWRAP MasterFileBufferNum WrapModeOfMaster 
  7128.  
  7129.  S_GET_CLIP_FILENAME 
  7130.  
  7131.  Retrieve the filename of The SMART Editor current clip file. 
  7132.  
  7133.  Arguments 
  7134.  
  7135.     ReturnVariable - the name of the variable to contain the results 
  7136.  
  7137.  Return Values 
  7138.  
  7139.     Path and Filename of the clip file 
  7140.  
  7141.  Examples 
  7142.  
  7143.     S_GET_CLIP_FILENAME Clipfile 
  7144.  
  7145.  S_GET_COL_NUM 
  7146.  
  7147.  Retrieve the column number of the cursor within The SMART Editor current file. 
  7148.  
  7149.  Arguments 
  7150.  
  7151.     ReturnVariable - the name of the variable to contain the results 
  7152.  
  7153.  Return Values 
  7154.  
  7155.     Column Number 
  7156.  
  7157.  Examples 
  7158.  
  7159.     S_GET_COL_NUM ColumnNumber 
  7160.  
  7161.  S_GET_CURR_CHAR 
  7162.  
  7163.  Retrieve the character at the cursor in The SMART Editor current file. 
  7164.  
  7165.  Arguments 
  7166.  
  7167.     ReturnVariable - the name of the variable to contain the results 
  7168.  
  7169.  Return Values 
  7170.  
  7171.     Character pointed to by cursor in current The SMART Editor file 
  7172.  
  7173.  Examples 
  7174.  
  7175.     S_GET_CURR_CHAR CurrCharacter 
  7176.  
  7177.  S_GET_CURR_CHGSTATUS 
  7178.  
  7179.  Retrieve the change status of The SMART Editor current file. 
  7180.  
  7181.  Arguments 
  7182.  
  7183.     ReturnVariable - the name of the variable to contain the results 
  7184.  
  7185.  Return Values 
  7186.  
  7187.     "TRUE" if the current file has been changed 
  7188.  
  7189.     "FALSE" if the current file has not been changed 
  7190.  
  7191.  Examples 
  7192.  
  7193.     S_GET_CURR_CHGSTATUS ChangeStatus 
  7194.  
  7195.  S_GET_CURR_EDITMODE 
  7196.  
  7197.  Retrieve the the edit mode of The SMART Editor current file. 
  7198.  
  7199.  Arguments 
  7200.  
  7201.     ReturnVariable - the name of the variable to contain the results 
  7202.  
  7203.  Return Values 
  7204.  
  7205.     "READONLY" or "EDIT" 
  7206.  
  7207.  Examples 
  7208.  
  7209.     S_GET_CURR_EDITMODE EditMode 
  7210.  
  7211.  S_GET_CURR_FILENAME 
  7212.  
  7213.  Retrieve the filename of The SMART Editor current file. 
  7214.  
  7215.  Arguments 
  7216.  
  7217.     ReturnVariable - the name of the variable to contain the results 
  7218.  
  7219.  Return Values 
  7220.  
  7221.     Filename of The SMART Editor current file 
  7222.  
  7223.  Examples 
  7224.  
  7225.     S_GET_CURR_FILENAME CurrentFilename 
  7226.  
  7227.  S_GET_CURR_SL_DIR 
  7228.  
  7229.  Retrieve the name of The SMART Editor current directory. 
  7230.  
  7231.  Arguments 
  7232.  
  7233.     ReturnVariable - the name of the variable to contain the results 
  7234.  
  7235.  Return Values 
  7236.  
  7237.     Pathname of The SMART Editor current directory 
  7238.  
  7239.  Examples 
  7240.  
  7241.     S_GET_CURR_SL_DIR CurrentDirectory 
  7242.  
  7243.  S_GET_CURR_STRING 
  7244.  
  7245.  Retrieve the current string in the current file. 
  7246.  
  7247.  A string is delimited by a 'C' coding keyword delimiters as implemented by The 
  7248.  SMART Editor. 
  7249.  
  7250.  Arguments 
  7251.  
  7252.     ReturnVariable - the name of the variable to contain the results 
  7253.  
  7254.  Return Values 
  7255.  
  7256.     Keyword String pointed to by cursor in current file 
  7257.  
  7258.  Examples 
  7259.  
  7260.     S_GET_CURR_STRING CurrentWord 
  7261.  
  7262.  S_GET_CURR_WORD 
  7263.  
  7264.  Retrieve the current word in The SMART Editor current file. 
  7265.  
  7266.  A word is a string delimited by a space, or a newline. 
  7267.  
  7268.  Arguments 
  7269.  
  7270.     ReturnVariable - the name of the variable to contain the results 
  7271.  
  7272.  Return Values 
  7273.  
  7274.     Word pointed to by cursor in current The SMART Editor file 
  7275.  
  7276.  Examples 
  7277.  
  7278.     S_GET_CURR_WORD CurrentWord 
  7279.  
  7280.  S_GET_CURR_WORDWRAP 
  7281.  
  7282.  Retrieve the the word wrap mode of The SMART Editor current file. 
  7283.  
  7284.  Arguments 
  7285.  
  7286.     ReturnVariable - the name of the variable to contain the results 
  7287.  
  7288.  Return Values 
  7289.  
  7290.     "WRAP" or "NOWRAP" 
  7291.  
  7292.  Examples 
  7293.  
  7294.     S_GET_CURR_WORDWRAP WordwrapMode 
  7295.  
  7296.  S_GET_CURSOR_POS 
  7297.  
  7298.  Retrieve the offset of the cursor in The SMART Editor current file. This is 
  7299.  relative to the beginning of the file. 
  7300.  
  7301.  Arguments 
  7302.  
  7303.     ReturnVariable - the name of the variable to contain the results 
  7304.  
  7305.  Return Values 
  7306.  
  7307.     Cursor position 
  7308.  
  7309.  Examples 
  7310.  
  7311.     S_GET_CURSOR_POS CursorPosition 
  7312.  
  7313.  S_GET_DISK_SPACE 
  7314.  
  7315.  Retrieve the available disk space on the specified disk. 
  7316.  
  7317.  Arguments 
  7318.  
  7319.     Drive - the letter of the specified drive 
  7320.  
  7321.     ReturnVariable - the name of the variable to contain the results 
  7322.  
  7323.  Return Values 
  7324.  
  7325.     Available Space 
  7326.  
  7327.  Examples 
  7328.  
  7329.     S_GET_DISK_SPACE C SpaceOnDriveC 
  7330.  
  7331.     S_GET_DISK_SPACE CurrentDrive SpaceOnCurrDrive 
  7332.  
  7333.  S_GET_ENV_INFO 
  7334.  
  7335.  Retrieve the information for the specified environment variable. 
  7336.  
  7337.  Arguments 
  7338.  
  7339.     Environment Variable - the environment variable contained in CONFIG.SYS 
  7340.  
  7341.     ReturnVariable - the name of the variable to contain the results 
  7342.  
  7343.  Return Values 
  7344.  
  7345.     String containing the environment data from CONFIG.SYS 
  7346.  
  7347.  Examples 
  7348.  
  7349.     S_GET_ENV_VAR PathEnvironmentVariable PathEnvironmentData 
  7350.  
  7351.     S_GET_ENV_VAR 'SL_BACKUP2' BackupDirectory 
  7352.  
  7353.  S_GET_FILE_BUFFNUM 
  7354.  
  7355.  Retrieve The SMART Editor buffer number containing the specified The SMART 
  7356.  Editor file. 
  7357.  
  7358.  Arguments 
  7359.  
  7360.     Filename - the name of The SMART Editor file 
  7361.  
  7362.     ReturnVariable - the name of the variable to contain the results 
  7363.  
  7364.  Return Values 
  7365.  
  7366.     Buffer number containing the specified The SMART Editor file 
  7367.  
  7368.  Examples 
  7369.  
  7370.     S_GET_FILE_BUFFNUM SearchFilename SearchBufferNum 
  7371.  
  7372.     S_GET_FILE_BUFFNUM 'C:\text\Search.lst' SearchBufferNum 
  7373.  
  7374.  S_GET_FILE_INFO 
  7375.  
  7376.  Retrieve the date, time and size of the specified file. 
  7377.  
  7378.  Arguments 
  7379.  
  7380.     Filename - the name of The SMART Editor file 
  7381.  
  7382.     ReturnVariable - the name of the variable to contain the results 
  7383.  
  7384.  Return Values 
  7385.  
  7386.     File information - "Size: nnnnnnn Date: mm/dd/yy hh:mm:ss" 
  7387.  
  7388.  Examples 
  7389.  
  7390.     S_GET_FILE_INFO MyFile FileInfo 
  7391.  
  7392.     S_GET_FILE_INFO 'C:\CONFIG.SYS' ConfigFileInfo 
  7393.  
  7394.  S_GET_LINE_LEN 
  7395.  
  7396.  Retrieve the length of the current line in The SMART Editor current file. 
  7397.  
  7398.  Arguments 
  7399.  
  7400.     ReturnVariable - the name of the variable to contain the results 
  7401.  
  7402.  Return Values 
  7403.  
  7404.     Length 
  7405.  
  7406.  Examples 
  7407.  
  7408.     S_GET_LINE_LEN LineLength 
  7409.  
  7410.  S_GET_LINE_NUM 
  7411.  
  7412.  Retrieve the current line number in The SMART Editor current file. 
  7413.  
  7414.  Arguments 
  7415.  
  7416.     ReturnVariable - the name of the variable to contain the results 
  7417.  
  7418.  Return Values 
  7419.  
  7420.     Line number 
  7421.  
  7422.  Examples 
  7423.  
  7424.     S_GET_LINE_NUM LineNumber 
  7425.  
  7426.  S_GET_NUM_SL_FILES 
  7427.  
  7428.  Retrieve the number of opened files. 
  7429.  
  7430.  Arguments 
  7431.  
  7432.     ReturnVariable - the name of the variable to contain the results 
  7433.  
  7434.  Return Values 
  7435.  
  7436.     Number of files 
  7437.  
  7438.  Examples 
  7439.  
  7440.     S_GET_NUM_SL_FILES NumberOfOpenedFiles 
  7441.  
  7442.  S_GET_REF_FILENAME 
  7443.  
  7444.  Retrieve the filename of the specified reference file. 
  7445.  
  7446.  Arguments 
  7447.  
  7448.     Reference File Number 
  7449.  
  7450.        1 = Find File 
  7451.        2 = Search File 
  7452.        3 = Multiple Definitions File 
  7453.        4 = Multiple References File 
  7454.        5 = Macro Output File 
  7455.  
  7456.     ReturnVariable - the name of the variable to contain the results 
  7457.  
  7458.  Return Values 
  7459.  
  7460.     Filename 
  7461.  
  7462.  Examples 
  7463.  
  7464.     S_GET_REF_FILENAME 5 MacroOutputFilename 
  7465.  
  7466.     S_GET_REF_FILENAME 2 FindFileList 
  7467.  
  7468.  S_GET_SELECTED_SIZE 
  7469.  
  7470.  Retrieve the length of the selected text in The SMART Editor current file. 
  7471.  
  7472.  Arguments 
  7473.  
  7474.     ReturnVariable - the name of the variable to contain the results 
  7475.  
  7476.  Return Values 
  7477.  
  7478.     Length 
  7479.  
  7480.  Examples 
  7481.  
  7482.     S_GET_SELECTED_SIZE LengthOfSelectedText 
  7483.  
  7484.  S_GET_SELECTED_TEXT 
  7485.  
  7486.  Retrieve the selected text within The SMART Editor current file. 
  7487.  
  7488.  Arguments 
  7489.  
  7490.     ReturnVariable - the name of the variable to contain the results 
  7491.  
  7492.  Return Values 
  7493.  
  7494.     String containing the selected text 
  7495.  
  7496.  Examples 
  7497.  
  7498.     S_GET_SELECTED_TEXT SelectedText 
  7499.  
  7500.  S_GET_SL_INI_PATH 
  7501.  
  7502.  Retrieve the path containing The SMART Editor current INI file. 
  7503.  
  7504.  Arguments 
  7505.  
  7506.     ReturnVariable - the name of the variable to contain the results 
  7507.  
  7508.  Return Values 
  7509.  
  7510.     Path of the current INI file 
  7511.  
  7512.  Examples 
  7513.  
  7514.     S_GET_SL_INI_PATH PathOfINI 
  7515.  
  7516.  S_GOTO_BEG_BRACE 
  7517.  
  7518.  Move the cursor to the preceding beginning brace ( { ) and highlight it. 
  7519.  
  7520.  Reference 
  7521.  
  7522.     "Edit" menu, "Braces", "Find Beginning Brace" 
  7523.  
  7524.  S_GOTO_BUFF 
  7525.  
  7526.  Make the file in the indicated buffer The SMART Editor current file. 
  7527.  
  7528.  Arguments 
  7529.  
  7530.     Buffer_Number - the buffer number containing the file to be made current. 
  7531.  This can be 0 through the maximum number of files opened. The buffer number 
  7532.  relates to the position of the file in the files list (displayed at the end of 
  7533.  the "File" menu). 
  7534.  
  7535.  Examples 
  7536.  
  7537.     S_GOTO_BUFF BufferContainingMasterFile 
  7538.  
  7539.     S_GOTO_BUFF 2 
  7540.  
  7541.  S_GOTO_COL 
  7542.  
  7543.  Move the cursor to the specified column number within the current file. 
  7544.  
  7545.  If the desired column is contained within a TAB, the cursor will be positioned 
  7546.  at the next tab location; this macro does not replace tabs with spaces. 
  7547.  
  7548.  Arguments 
  7549.  
  7550.     Column number 
  7551.  
  7552.  Examples 
  7553.  
  7554.     S_GOTO_COL 40 
  7555.  
  7556.     S_GOTO_COL CommentPosition 
  7557.  
  7558.  S_GOTO_END_BRACE 
  7559.  
  7560.  Move the cursor to the following ending brace ( } ) and highlight it. 
  7561.  
  7562.  Reference 
  7563.  
  7564.     "Edit" menu, "Braces", "Find Ending Brace" 
  7565.  
  7566.  S_GOTO_LINE 
  7567.  
  7568.  Move the cursor to the specified line number within the current file. 
  7569.  
  7570.  Arguments 
  7571.  
  7572.     Line number 
  7573.  
  7574.  Examples 
  7575.  
  7576.     S_GOTO_LINE 123 
  7577.  
  7578.     S_GOTO_LINE LineOfSavedFunction 
  7579.  
  7580.  Reference 
  7581.  
  7582.     "Edit" menu, "GoTo Line" 
  7583.  
  7584.  S_GOTO_MARK (Marker_number) 
  7585.  
  7586.  Move the cursor to the position saved by the specified marker number. 
  7587.  
  7588.  The marker must have been previously set by the "S_MARK_CURR_POS" macro or by 
  7589.  "Set Marker" in the "Place Markers" submenu under the "More" menu. 
  7590.  
  7591.  Arguments 
  7592.  
  7593.     Marker number - this can be 0 through 9 
  7594.  
  7595.  Examples 
  7596.  
  7597.     S_GOTO_MARK MarkForFunctionX 
  7598.  
  7599.     S_GOTO_MARK 2 
  7600.  
  7601.  Reference 
  7602.  
  7603.     "More" menu, "Place Markers", "GoTo Marker" 
  7604.  
  7605.  S_GOTO_POS 
  7606.  
  7607.  Move the cursor to the last saved position. 
  7608.  
  7609.  The saved position is defined by the S_SAVE_POS macro. 
  7610.  
  7611.  The saved position is set by The SMART Editor automatically when the following 
  7612.  commands are executed: "Find Beginning Brace", "Find Ending Brace", "Goto 
  7613.  Marker", "Goto Line", and "Link-To". 
  7614.  
  7615.  Reference 
  7616.  
  7617.     "More" menu, "Cursor", "GoTo Cursor Position" 
  7618.  
  7619.  S_INDENT 
  7620.  
  7621.  Move the cursor to the position on the current line so that it is lined up 
  7622.  with the left justified position of the previous line. 
  7623.  
  7624.  This command is used when you create a new line and want to position at the 
  7625.  indention of the previous line. 
  7626.  
  7627.  Reference 
  7628.  
  7629.     "Options", "Setup Options", "Auto Indent" 
  7630.  
  7631.  S_INSERT_CLIP 
  7632.  
  7633.  Copy The SMART Editor current clip file to the current position in The SMART 
  7634.  Editor current file. 
  7635.  
  7636.  The clip file must be less than 64k. 
  7637.  
  7638.  The current The SMART Editor file must be in edit mode. 
  7639.  
  7640.  Reference 
  7641.  
  7642.     "Clip" menu, "Paste Clip File at Cursor" 
  7643.  
  7644.  S_INSERT_FILE 
  7645.  
  7646.  Open the specified file and read it into the current file at the current 
  7647.  cursor position. 
  7648.  
  7649.  A binary file cannot be inserted. 
  7650.  
  7651.  The current The SMART Editor file must be in edit mode. 
  7652.  
  7653.  The filesize of the inserted file is limited to 64k. 
  7654.  
  7655.  Arguments 
  7656.  
  7657.     Filename - the name of the file to be inserted 
  7658.  
  7659.  Examples 
  7660.  
  7661.     S_INSERT_FILE FileToBeInserted 
  7662.  
  7663.     S_INSERT_FILE 'F:\SLINK2\TEMP\SL_CLIP.TXT' 
  7664.  
  7665.  Reference 
  7666.  
  7667.     "Edit" menu, "Paste File at Cursor" 
  7668.  
  7669.  S_INSERT_LINE 
  7670.  
  7671.  Insert the designated string into the current file at the current cursor 
  7672.  position and append a carriage return. 
  7673.  
  7674.  The maximum string length is 80 characters. 
  7675.  
  7676.  The current file must be in edit mode. 
  7677.  
  7678.  Arguments 
  7679.  
  7680.     String to insert 
  7681.  
  7682.  Examples 
  7683.  
  7684.     S_INSERT_LINE 'This is a new line of text' 
  7685.  
  7686.     S_INSERT_LINE CommonLineOfData 
  7687.  
  7688.  S_INSERT_PASTE 
  7689.  
  7690.  Copy the paste buffer to the current cursor position within the current file. 
  7691.  
  7692.  The current file must be in edit mode. 
  7693.  
  7694.  Reference 
  7695.  
  7696.     "Edit" menu, "Paste" 
  7697.  
  7698.  S_INSERT_STRING 
  7699.  
  7700.  Insert the designated string into the current file at the current cursor 
  7701.  position. 
  7702.  
  7703.  The maximum string length is 80 characters. 
  7704.  
  7705.  The current file must be in edit mode. 
  7706.  
  7707.  Arguments 
  7708.  
  7709.     String to insert 
  7710.  
  7711.  Examples 
  7712.  
  7713.     S_INSERT_STRING 'Programmed by Joe' 
  7714.  
  7715.     S_INSERT_STRING CommonStringToInsert 
  7716.  
  7717.  S_IS_DRIVE_PROTECTED 
  7718.  
  7719.  Check if the specified drive is write protected. 
  7720.  
  7721.  Arguments 
  7722.  
  7723.     Drive - the letter of the specified drive 
  7724.  
  7725.     ReturnVariable - the name of the variable to contain the results 
  7726.  
  7727.  Return Values 
  7728.  
  7729.     "TRUE" if the drive is write protected 
  7730.  
  7731.     "FALSE" if the drive is not write protected 
  7732.  
  7733.  Examples 
  7734.  
  7735.     S_IS_DRIVE_PROTECTED A ItIsProtected 
  7736.  
  7737.     S_IS_DRIVE_PROTECTED Drive ItIsProtected 
  7738.  
  7739.  S_IS_FILE_BINARY 
  7740.  
  7741.  Check if the specified file is binary (contains non-ascii data). 
  7742.  
  7743.  Arguments 
  7744.  
  7745.     Filename - the name of the file to check 
  7746.  
  7747.     ReturnVariable - the name of the variable to contain the results 
  7748.  
  7749.  Return Values 
  7750.  
  7751.     "TRUE" if the file is binary 
  7752.  
  7753.     "FALSE" if the file is not binary 
  7754.  
  7755.  Examples 
  7756.  
  7757.     S_IS_FILE_BINARY MyFilename IsBinary 
  7758.  
  7759.     S_IS_FILE_BINARY 'D:\User\File.def' IsBinary 
  7760.  
  7761.  S_LISTBOX 
  7762.  
  7763.  Display a listbox and allow the user to update it. The listbox entries are 
  7764.  contained in a file which is updated with the user's additions and deletions. 
  7765.  
  7766.  The arguments must be separated by a comma. 
  7767.  
  7768.  The listbox entries will be read from the listbox file and the listbox will be 
  7769.  displayed. 
  7770.  
  7771.  The user can press the "ADD" pushbutton to add entries to the listbox. 
  7772.  
  7773.  The user can press the "DELETE" pushbutton to delete entries from the listbox. 
  7774.  
  7775.  To select an entry, click on an entry in the listbox and press the "OK" 
  7776.  pushbutton, or double-click on an entry in the listbox. This entry will be 
  7777.  returned to the calling macro. 
  7778.  
  7779.  The user can press the "STORE" pushbutton to update the listbox file with all 
  7780.  added and deleted entries and then exit the listbox with no selected entries. 
  7781.  
  7782.  The user can press the "OK" pushbutton, or double-click on an entry in the 
  7783.  listbox, to update the listbox file with all added and deleted entries and 
  7784.  then exit the listbox with the currently selected entry. 
  7785.  
  7786.  Arguments 
  7787.  
  7788.     ListFilename - the name of the file containing the listbox entries, each 
  7789.  entry is contained on a separate line within the file. 
  7790.  
  7791.     ListboxTitle - the title of the listbox 
  7792.  
  7793.     ReturnVariable - the name of the variable to contain the the results 
  7794.  
  7795.  Return Values 
  7796.  
  7797.     "CANCEL" - returned when the user presses the "Cancel" pushbutton 
  7798.  
  7799.     "NOSEL" - returned when the user presses the "Store" pushbutton 
  7800.  
  7801.     Entry selected from the listbox 
  7802.  
  7803.  Examples 
  7804.  
  7805.     S_LISTBOX ListFilename', Title of the Listbox, SelectedItem' 
  7806.  
  7807.  S_MARK_CURR_POS 
  7808.  
  7809.  Set the specified marker number to the current cursor position within the 
  7810.  current file. 
  7811.  
  7812.  If the marker is already set, it will be reset. 
  7813.  
  7814.  Arguments 
  7815.  
  7816.     Marker number - this can be 0 through 9 
  7817.  
  7818.  Examples 
  7819.  
  7820.     S_MARK_CURR_POS 2 
  7821.  
  7822.     S_MARK_CURR_POS LocationOfFunctionX 
  7823.  
  7824.  Reference 
  7825.  
  7826.     "More" menu, "Place Markers", "Set Marker" 
  7827.  
  7828.  S_MSG 
  7829.  
  7830.  Display a specified message and allow the user to respond OK or CANCEL. 
  7831.  
  7832.  The message is limited to three lines, each a maximum of 59 characters, each 
  7833.  terminated with a comma. 
  7834.  
  7835.  Arguments 
  7836.  
  7837.     Message line 1 - maximum length 59, terminated with a comma 
  7838.  
  7839.     Message line 2 - maximum length 59, terminated with a comma 
  7840.  
  7841.     Message line 3 - maximum length 59, terminated with a comma 
  7842.  
  7843.     ReturnVariable - the name of the variable to contain the the results 
  7844.  
  7845.  Return Values 
  7846.  
  7847.     "OK" or "CANCEL" 
  7848.  
  7849.  Examples 
  7850.  
  7851.     S_MSG 'First Line, , Third Line, UserResult' 
  7852.  
  7853.  S_NEXT_CHAR 
  7854.  
  7855.  Move the cursor to the next character in the current file. 
  7856.  
  7857.  Reference 
  7858.  
  7859.     <Right Arrow> 
  7860.  
  7861.  S_NEXT_LINE 
  7862.  
  7863.  Move the cursor to the next line in the current file. <SubTopic>Reference 
  7864.  
  7865.     <Down Arrow> 
  7866.  
  7867.  S_NEXT_PAGE 
  7868.  
  7869.  Move the cursor to the next page in the current file. <SubTopic>Reference 
  7870.  
  7871.     <PageDown> 
  7872.  
  7873.  S_NEXT_WORD 
  7874.  
  7875.  Move the cursor to the next word in the current file. <SubTopic>Reference 
  7876.  
  7877.     <Ctrl>+<Right Arrow> 
  7878.  
  7879.  S_OPEN_FILE 
  7880.  
  7881.  Open the specified non-The SMART Editor file and return the file handle. 
  7882.  
  7883.  Arguments 
  7884.  
  7885.     File exists mode 
  7886.  
  7887.        O = Open the file if it exists 
  7888.        R = Replace the file if it exists 
  7889.  
  7890.     New file mode 
  7891.  
  7892.        C = Create the file if it does not exist 
  7893.        F = Error if the file does not exist 
  7894.  
  7895.     Filename - the name of the file to be opened 
  7896.  
  7897.     ReturnVariable - the name of the variable to contain the the results 
  7898.  Return Values 
  7899.  
  7900.     File handle Examples 
  7901.  
  7902.     S_OPEN_FILE R C NewFilename NewFileHandle 
  7903.  
  7904.     S_OPEN_FILE O F 'C:\CONFIG.SYS' ConfigHandle 
  7905.  
  7906.  S_OPEN_SL_FILE 
  7907.  
  7908.  Opens the specified file, read it into The SMART Editor buffer, and make it 
  7909.  available to The SMART Editor for editing. 
  7910.  
  7911.  If the file exists, it is opened in the default file mode (edit or read-only); 
  7912.  otherwise it is opened in edit mode. 
  7913.  
  7914.  If the file is binary, it will be opened in hexadecimal mode. 
  7915.  
  7916.  The SMART Editor current drive and directory are updated. 
  7917.  
  7918.  Arguments 
  7919.  
  7920.     Open mode 
  7921.  
  7922.        0 = error if the file doesn't exist 
  7923.        1 = create the file if it doesn't exist 
  7924.  
  7925.     Edit mode 
  7926.  
  7927.        R = read-only 
  7928.        E = edit 
  7929.        D = default edit mode 
  7930.  
  7931.     Word wrap mode 
  7932.  
  7933.        Y = wrap 
  7934.        N = no wrap 
  7935.  
  7936.     Filename - the name of the file to be opened 
  7937.  
  7938.  Examples 
  7939.  
  7940.     S_OPEN_SL_FILE 1 E N MyFile 
  7941.  
  7942.     S_OPEN_SL_FILE 0 R Y 'E:\CONFIG.SYS' 
  7943.  
  7944.  Reference 
  7945.  
  7946.     "File" menu, "Open/New" 
  7947.  
  7948.  S_PREV_BUFFER 
  7949.  
  7950.  Display and make current the file that was previously displayed in the current 
  7951.  window. 
  7952.  
  7953.  Reference 
  7954.  
  7955.     "More" menu, "File Buffers", "Last File" 
  7956.  
  7957.  S_PREV_CHAR 
  7958.  
  7959.  Move the cursor to the previous character in the current file. 
  7960.  
  7961.  Reference 
  7962.  
  7963.     <Left Arrow> 
  7964.  
  7965.  S_PREV_LINE 
  7966.  
  7967.  Move the cursor to the previous line in the current file. 
  7968.  
  7969.  Reference 
  7970.  
  7971.     <Up Arrow> 
  7972.  
  7973.  S_PREV_PAGE 
  7974.  
  7975.  Move the cursor to the previous page in the current file. 
  7976.  
  7977.  Reference 
  7978.  
  7979.     <PageUp> 
  7980.  
  7981.  S_PREV_WORD 
  7982.  
  7983.  Move the cursor to the previous word in the current file. 
  7984.  
  7985.  Reference 
  7986.  
  7987.     <Cntl>+<Left Arrow> 
  7988.  
  7989.  S_PRINT_CURR_FILE 
  7990.  
  7991.  Print the current file. 
  7992.  
  7993.  Hexadecimal files are not printed. 
  7994.  
  7995.  Reference 
  7996.  
  7997.     "More" menu, "Printing", "Print Current File/Select" 
  7998.  
  7999.  S_PRINT_SELECTED 
  8000.  
  8001.  Print the selected text in the current file. 
  8002.  
  8003.  Hexadecimal files are not printed. 
  8004.  
  8005.  Reference 
  8006.  
  8007.     "More" menu, "Printing", "Print Current File/Select" 
  8008.  
  8009.  S_PROMPT 
  8010.  
  8011.  Display a specified prompt message, allow the user to enter a response and 
  8012.  press OK, or press CANCEL. 
  8013.  
  8014.  The prompt message is limited to 60 characters and must be terminated with a 
  8015.  comma. 
  8016.  
  8017.  The return data is limited to 255 characters. 
  8018.  
  8019.  Arguments 
  8020.  
  8021.     Prompt message - the prompt message to be displayed 
  8022.  
  8023.     ReturnVariable - the name of the variable to contain the the results 
  8024.  
  8025.  Return Values 
  8026.  
  8027.     If the user enters a response and presses OK, the response is returned. 
  8028.  
  8029.     If the user presses CANCEL, then "CANCEL" is returned. 
  8030.  
  8031.  Examples 
  8032.  
  8033.     S_PROMPT 'Enter the Filename,' NewFilename 
  8034.  
  8035.     S_PROMPT PromptMessage, UserResponse 
  8036.  
  8037.  S_READ_FILE 
  8038.  
  8039.  Read the specified non-The SMART Editor file and return the data read. 
  8040.  
  8041.  Arguments 
  8042.  
  8043.     File handle - this is returned to the user by the "S_OPEN_FILE" macro 
  8044.  
  8045.     Length - the number of bytes to read (max 255) 
  8046.  
  8047.     ReturnVariable - the name of the variable to contain the the results 
  8048.  
  8049.  Return Values 
  8050.  
  8051.  Examples 
  8052.  
  8053.     S_READ_FILE MyFileHandle LenToRead DataBuffer 
  8054.  
  8055.     S_READ_FILE MyFileHandle 100 DataBuffer 
  8056.  
  8057.  S_REDO 
  8058.  
  8059.  Restore the current file to the state prior to the last "Undo" function. 
  8060.  
  8061.  Reference 
  8062.  
  8063.     "Edit" menu, "Undo/Redo", "Redo" 
  8064.  
  8065.  S_RENAME_CLIP_FILE 
  8066.  
  8067.  Rename The SMART Editor current clip file. 
  8068.  
  8069.  Arguments 
  8070.  
  8071.     Filename - the path and filename of the clip file 
  8072.  
  8073.  Examples 
  8074.  
  8075.     S_RENAME_CLIP_FILE 'F:\WORKFILE.TXT' 
  8076.  
  8077.     S_RENAME_CLIP_FILE TempClipFile 
  8078.  
  8079.  Reference 
  8080.  
  8081.     "Clip" menu, "Rename Clip File" 
  8082.  
  8083.  S_REPLACE 
  8084.  
  8085.  Search The SMART Editor current file for the specified search string and 
  8086.  replace it with the specified replace string. 
  8087.  
  8088.  The maximum search string length is 80 characters. 
  8089.  
  8090.  The maximum replace string length is 255 characters. 
  8091.  
  8092.  There is no verification permitted - all strings found will be replaced. 
  8093.  
  8094.  The count of replacements made will be returned. 
  8095.  
  8096.  Arguments 
  8097.  
  8098.     Search string - the string to search for terminated with a comma 
  8099.  
  8100.     Replace string - the replace string terminated with a comma 
  8101.  
  8102.     ReturnVariable - the name of the variable to contain the the results 
  8103.  
  8104.  Return Values 
  8105.  
  8106.     Number of replacements made 
  8107.  
  8108.  Examples 
  8109.  
  8110.     S_REPLACE 'LookingFor, ReplacedBy, NumberReplaced' 
  8111.  
  8112.     S_REPLACE 'String to Find, Replace String,' NumberReplaced 
  8113.  
  8114.  Reference 
  8115.  
  8116.     "Edit" menu, "Replace String" 
  8117.  
  8118.  S_SEARCH_BACK 
  8119.  
  8120.  Search backwards in The SMART Editor current file for the specified string and 
  8121.  highlight the found text. 
  8122.  
  8123.  The maximum string length is 79 characters. 
  8124.  
  8125.  Arguments 
  8126.  
  8127.     Case Sensitive 
  8128.  
  8129.        0 = not case sensitive 
  8130.        1 = case sensitive 
  8131.  
  8132.     String - the string to search for 
  8133.  
  8134.  Examples 
  8135.  
  8136.     S_SEARCH_BACK 1 LookingFor 
  8137.  
  8138.     S_SEARCH_BACK CASE_SENSITIVE 'MyFunction' 
  8139.  
  8140.  Reference 
  8141.  
  8142.     "Edit" menu, "Current Searches", "Search Backward" 
  8143.  
  8144.  S_SEARCH_FWD 
  8145.  
  8146.  Search The SMART Editor current file for the specified string and highlight 
  8147.  the found text. 
  8148.  
  8149.  The maximum string length is 79 characters. 
  8150.  
  8151.     Case Sensitive 
  8152.  
  8153.        0 = not case sensitive 
  8154.        1 = case sensitive 
  8155.  
  8156.     Top 
  8157.  
  8158.        0 = search from the current position 
  8159.        1 = search from the top of the file 
  8160.  
  8161.     String - the string to search for 
  8162.  
  8163.  Examples 
  8164.  
  8165.     S_SEARCH_FWD 1 0 LookingFor 
  8166.  
  8167.     S_SEARCH_FWD CASE_SENSITIVE TOP 'MyFunction' 
  8168.  
  8169.  Reference 
  8170.  
  8171.     "Edit" menu, "Current Searches", "Search Current File" 
  8172.  
  8173.  Examples 
  8174.  
  8175.     S_SEARCH_FWD 1 0 looking_for 
  8176.  
  8177.  S_SEARCH_NEXT 
  8178.  
  8179.  Search again The SMART Editor current file for the predefined string and 
  8180.  highlight the found text. 
  8181.  
  8182.  The string must have been defined by the "S_SEARCH_FWD" or "S_SEARCH_BACK" 
  8183.  macro. 
  8184.  
  8185.  Reference 
  8186.  
  8187.     "Edit" menu, "Current Searches", "Continue Search" 
  8188.  
  8189.  S_SET_DB_PATH 
  8190.  
  8191.  Set the path for the link database. 
  8192.  
  8193.  Arguments 
  8194.  
  8195.     Path - the path for the link database. 
  8196.  
  8197.  Examples 
  8198.  
  8199.     S_SET_DB_PATH MyProject 
  8200.  
  8201.     S_SET_DB_PATH 'D:\Work\CurrentDB' 
  8202.  
  8203.  S_SAVE_ALL_FILES 
  8204.  
  8205.  Save all The SMART Editor files. 
  8206.  
  8207.  Any file in hexadecimal mode will not be saved. 
  8208.  
  8209.  Reference 
  8210.  
  8211.     "File" menu, "Save", "Save All" 
  8212.  
  8213.  S_SAVE_CURR_FILE 
  8214.  
  8215.  Save The SMART Editor current file. 
  8216.  
  8217.  If the file is in hexadecimal mode, it will not be saved. 
  8218.  
  8219.  Reference 
  8220.  
  8221.     "File" menu, "Save", "Save Current" 
  8222.  
  8223.  S_SAVE_POS 
  8224.  
  8225.  Save the position of the cursor within the current file. 
  8226.  
  8227.  This should be used for saving the position of the cursor on a temporary 
  8228.  basis. 
  8229.  
  8230.  The SMART Editor automatically saves the cursor (and overwrites your saved 
  8231.  position) when the following commands are executed: "Find Beginning Brace", 
  8232.  "Find Ending Brace", "Goto Marker", "Goto Line", and "Link-To". 
  8233.  
  8234.  Use "S_MARK_CURR_POS" to save the cursor position for a longer period. 
  8235.  
  8236.  Reference 
  8237.  
  8238.     "More" menu, "Cursor", "Save Cursor Position" 
  8239.  
  8240.  S_SAVE_SL_FILE 
  8241.  
  8242.  Save the file specified by Buffer Number, the buffer number containing the 
  8243.  file to be saved. 
  8244.  
  8245.  If the file is in hexadecimal mode, it will not be saved. 
  8246.  
  8247.  Arguments 
  8248.  
  8249.     Buffer_Number - the buffer number containing the file to be saved. This 
  8250.  can be 0 through the maximum number of files opened. The buffer number relates 
  8251.  to the position of the file in the files list (displayed at the end of the 
  8252.  "File" menu). 
  8253.  
  8254.  Examples 
  8255.  
  8256.     S_SAVE_SL_FILE BufferNumOfMyFile 
  8257.  
  8258.  S_SAVEAS_CURR_FILE 
  8259.  
  8260.  Save the current file with a new filename. If the file is in hexadecimal mode, 
  8261.  it will not be saved. 
  8262.  
  8263.  Arguments 
  8264.  
  8265.     Filename - the new name of the file 
  8266.  
  8267.  Examples 
  8268.  
  8269.     S_SAVEAS_CURR_FILE UpdatedFile 
  8270.  
  8271.     S_SAVEAS_CURR_FILE 'D:\Slink2\Temp\OrigFile.C' 
  8272.  
  8273.  Reference 
  8274.  
  8275.     "File" menu, "Save As" 
  8276.  
  8277.  S_SELECT_BRACED_CODE 
  8278.  
  8279.  Select the text contained by the next higher level of braces ( {...} ) in The 
  8280.  SMART Editor current file. 
  8281.  
  8282.  Reference 
  8283.  
  8284.     "Edit" menu, "Braces", "Select Braced Code" 
  8285.  
  8286.  S_SELECT_LINE 
  8287.  
  8288.  Select the line containing the cursor in The SMART Editor current file. 
  8289.  
  8290.  S_SELECT_PAGEDOWN 
  8291.  
  8292.  Select the next page in the current file. 
  8293.  
  8294.  Reference 
  8295.  
  8296.     <Sft>+<PageDown> 
  8297.  
  8298.  S_SELECT_PAGEUP 
  8299.  
  8300.  Select the previous page in the current file. 
  8301.  
  8302.  Reference 
  8303.  
  8304.     <Sft>+<PageUp> 
  8305.  
  8306.  S_SELECT_WORD 
  8307.  
  8308.  Select the word containing the cursor in The SMART Editor current file. 
  8309.  
  8310.  A word is a string delimited by a space, or a newline. 
  8311.  
  8312.  S_SPLIT_SCREEN 
  8313.  
  8314.  This macro defines a full window or split screen for displaying The SMART 
  8315.  Editor files. 
  8316.  
  8317.  Arguments 
  8318.  
  8319.     Split screen mode 
  8320.  
  8321.        0 = full screen 
  8322.        1 = horizontal split - 2 equal halves 
  8323.        2 = horizontal split - smaller on top 
  8324.        3 = horizontal split - smaller on bottom 
  8325.        4 = vertical split - 2 equal halves 
  8326.        5 = vertical split - smaller on left 
  8327.        6 = vertical split - smaller on right 
  8328.  
  8329.  Examples 
  8330.  
  8331.     S_SPLIT_SCREEN 2 
  8332.  
  8333.  Reference 
  8334.  
  8335.     "More" menu, "Window Configuration" 
  8336.  
  8337.  S_SWAP_FOCUS 
  8338.  
  8339.  Swap the focus on a split screen. The focus is moved from the active window to 
  8340.  the inactive window, thereby activating the inactive window and making it The 
  8341.  SMART Editor current file. 
  8342.  
  8343.  Reference 
  8344.  
  8345.     "More" menu, "Window Control", "Swap Focus" 
  8346.  
  8347.  S_SWAP_WINDOWS 
  8348.  
  8349.  Swap the files displayed on a split screen; each file is moved to the other 
  8350.  display window. 
  8351.  
  8352.  Reference 
  8353.  
  8354.     "More" menu, "Window Control", "Swap Windows" 
  8355.  
  8356.  S_SYNC_SCROLL 
  8357.  
  8358.  Lock two The SMART Editor files together so they will scroll together. 
  8359.  
  8360.  The display must be in a split screen mode. 
  8361.  
  8362.  Reference 
  8363.  
  8364.     "More" menu, "Window Control", "Sync Scroll" 
  8365.  
  8366.  S_WRITE_FILE (Handle, Length, Data_to_write, ResultVariable) 
  8367.  
  8368.  Write the specified data to the specified file and return the actual count of 
  8369.  data written. 
  8370.  
  8371.  Arguments 
  8372.  
  8373.     File handle - this is returned to the user by the "S_OPEN_FILE" macro 
  8374.  
  8375.     Length - the number of bytes to write (max 255) 
  8376.  
  8377.     Data to write 
  8378.  
  8379.     ReturnVariable - the name of the variable to contain the the results 
  8380.  
  8381.  Return Values 
  8382.  
  8383.     Number of bytes written. 
  8384.  
  8385.  Examples 
  8386.  
  8387.     S_WRITE_FILE MyFileHandle 14 'This is a File' Count 
  8388.  
  8389.     S_WRITE_FILE MyFileHandle LENGTH(DATA) DATA BytesWritten 
  8390.  
  8391.  S_UNDO 
  8392.  
  8393.  Restores the current file to the state prior to the last edit function. 
  8394.  
  8395.  Reference 
  8396.  
  8397.   "Edit" menu, "Undo/Redo", "Undo" 
  8398.  
  8399.       Chapter 9 - Macros 
  8400.       Table of Contents 
  8401.  
  8402.  
  8403. ΓòÉΓòÉΓòÉ 13. Glossary of Terms ΓòÉΓòÉΓòÉ
  8404.  
  8405. Glossary of Terms 
  8406.  
  8407.  
  8408. accelerator key 
  8409.       A key combination that carries out a function in The SMART Editor. 
  8410.  
  8411.  active window 
  8412.       The window which has the focus and where the next keystroke will apply. 
  8413.       The file in the active window is The SMART Editor current file. The name 
  8414.       of the file in the active window is displayed on The SMART Editor banner. 
  8415.  
  8416.  auto-indent 
  8417.       A feature that positions the cursor on the new line at a position which 
  8418.       lines up with the left justified position of the previous line whenever 
  8419.       <ENTER> is pressed. 
  8420.  
  8421.  B 
  8422.  
  8423.  back 
  8424.       The SMART Editor command which displays the previous file in the window 
  8425.       which has the focus. 
  8426.  
  8427.  base directory 
  8428.       The starting or highest level directory.  This must be defined for The 
  8429.       SMART Editor "Find" and "Search" commands. 
  8430.  
  8431.  buffer 
  8432.       A portion of storage to hold temporary input or output data. 
  8433.  
  8434.  button 
  8435.       A button in a dialog box, when pressed, carries out or cancels the 
  8436.       defined action. 
  8437.  
  8438.  C 
  8439.  
  8440.  Call Tree 
  8441.       A graphic display of the calling relationships of the functions defined 
  8442.       in a The SMART Editor database.  The functions are shown as a branching 
  8443.       structure that resembles a tree.  Functions are shown as branches off of 
  8444.       the top-level function, known as the call tree root.  A Call Tree report 
  8445.       is automatically generated every time you create or update a The SMART 
  8446.       Editor database. 
  8447.  
  8448.  case sensitive 
  8449.       A feature that specifies that the associated function or string is to be 
  8450.       considered a match only if the item matches exactly on upper and lower 
  8451.       case. 
  8452.  
  8453.  Cases 
  8454.       The The SMART Editor commands supporting upper and lower case text 
  8455.       conversions. 
  8456.  
  8457.  check box 
  8458.       A small square box that appears in a dialog box and can be set or 
  8459.       cleared. When the check box is set, an X or check mark appears in the 
  8460.       box. 
  8461.  
  8462.  click 
  8463.       To press and release a mouse button quickly.  When you click on a word in 
  8464.       a The SMART Editor file, the word is selected and becomes the default for 
  8465.       the next search or link-to command. 
  8466.  
  8467.  clip file 
  8468.       An easily accessible file used to store data.  The SMART Editor defines a 
  8469.       default clip file. You can maintain multiple clip files by renaming the 
  8470.       active clip file. 
  8471.  
  8472.  close 
  8473.       To remove a file from The SMART Editor.  You can choose to save an 
  8474.       updated file before closing it. 
  8475.  
  8476.  current Call Tree 
  8477.       The Call Tree report for The SMART Editor current database.  It can be 
  8478.       accessed from The SMART Editor Reference menu. 
  8479.  
  8480.  current DB path 
  8481.       The SMART Editor current database path.  You can define the current DB 
  8482.       path from The SMART Editor Link menu. 
  8483.  
  8484.  current Function Def List 
  8485.       The Function Definition List for The SMART Editor current database.  It 
  8486.       can be accessed from The SMART Editor Reference menu. 
  8487.  
  8488.  current Hexadecimal Format 
  8489.       A view of the current file in hexadecimal format.  This display can be 
  8490.       accessed from The SMART Editor Reference menu. 
  8491.  
  8492.  current Mod/Functions List 
  8493.       The Module/Function List for The SMART Editor current database.  It can 
  8494.       be accessed from The SMART Editor Reference menu. 
  8495.  
  8496.  current database 
  8497.       The The SMART Editor database which resides in the current DB path. 
  8498.  
  8499.  current file 
  8500.       The file which is contained in The SMART Editor active window.  The name 
  8501.       of the current The SMART Editor file is displayed on The SMART Editor 
  8502.       banner. 
  8503.  
  8504.  cut 
  8505.       To move text from a The SMART Editor file to the paste buffer. 
  8506.  
  8507.  D 
  8508.  
  8509.  database 
  8510.       An organized collection of related files and data. 
  8511.  
  8512.  data entry box 
  8513.       A box within a dialog panel where you type information needed to carry 
  8514.       out the chosen command.  The data entry box may be blank when the dialog 
  8515.       panel appears or it may contain default data. 
  8516.  
  8517.  #define list 
  8518.       A report generated from The SMART Editor database when #defines are 
  8519.       included in the database. This report lists each #define item defined in 
  8520.       the database. This list is in alphabetical order. 
  8521.  
  8522.  de-selected 
  8523.       A de-selected listbox is a listbox which has no selections highlighted. 
  8524.  
  8525.  dialog list 
  8526.       A report generated from The SMART Editor database when dialogs are 
  8527.       included in the database. This report lists each dialog item (DLGTEMPLATE 
  8528.       or WINDOWTEMPLATE) defined in the database. This list is in alphabetical 
  8529.       order. 
  8530.  
  8531.  dialog panel 
  8532.       A rectangular box that either requests or provides information. 
  8533.  
  8534.  directory 
  8535.       A collection of files and subdirectories that are stored on the same 
  8536.       location on a disk. 
  8537.  
  8538.  directory tracking 
  8539.       A feature that defines whether a directory is maintained between The 
  8540.       SMART Editor commands.  For example, the directory defined for a Copy 
  8541.       command would become the default directory for the next command (e.g. 
  8542.       "Search", "Delete", etc). 
  8543.  
  8544.  disabled 
  8545.       A disabled option is an option which is not selected or is not active. 
  8546.  
  8547.  double click 
  8548.       To rapidly press and release a mouse button twice without moving the 
  8549.       mouse. If you double click on a word in a Sourcelink file with the left 
  8550.       button, The SMART Editor will execute the link-to-definition command; If 
  8551.       you double click on a word in a Sourcelink file with the right button, 
  8552.       The SMART Editor will execute the link-to-reference command. 
  8553.  
  8554.  drive 
  8555.       A device used for storing and retrieving data. 
  8556.  
  8557.  E 
  8558.  
  8559.  edit mode 
  8560.       A file display mode which allows a file to be changed. 
  8561.  
  8562.  enabled 
  8563.       An enabled option is an option which has been selected or is active. 
  8564.  
  8565.  environment variable 
  8566.       A programmer-specified operating system parameter that is used to 
  8567.       identify configuration information to the runtime system.  These are 
  8568.       contained in the CONFIG.SYS file. 
  8569.  
  8570.  F 
  8571.  
  8572.  file attribute 
  8573.       A characteristic of a file. For example, a file can be assigned a Read 
  8574.       Only attribute which specifies that the file cannot be updated. 
  8575.  
  8576.  find 
  8577.       The SMART Editor command that locates all of the copies of the specified 
  8578.       file(s). 
  8579.  
  8580.  Find Files List 
  8581.       The SMART Editor reference file which contains the results of the last 
  8582.       Find Files command. Each file found is listed with its size and date/time 
  8583.       stamp. 
  8584.  
  8585.  focus 
  8586.       The window that has the focus is the window containing The SMART Editor 
  8587.       current file.  It is the active window. 
  8588.  
  8589.  font 
  8590.       A graphic design applied to all numbers, symbols and characters in the 
  8591.       alphabet.  A font comes in different sizes and provides different styles 
  8592.       such as bold and italic. 
  8593.  
  8594.  full path 
  8595.       The directions to a file. This includes the drive, directories, and 
  8596.       filename.  For example, C:\MYAPP\SLDB\DOCCALL.RPT contains the file 
  8597.       DOCCALL.RPT which resides in the SLDB subdirectory under the MYAPP 
  8598.       directory on drive C. 
  8599.  
  8600.  function definition 
  8601.       A function definition is the source for a function; e.g. myfunc( int, int 
  8602.       ). 
  8603.  
  8604.  Function Definition List 
  8605.       A report generated from The SMART Editor database which lists each of the 
  8606.       functions defined in the associated The SMART Editor database in 
  8607.       alphabetical order.  Each function is displayed with the path of the 
  8608.       module in which it resides and the line number within that module. 
  8609.       Double-clicking on an entry opens the source file and moves the cursor to 
  8610.       the desired function definition.  A Function Definition List is 
  8611.       automatically generated every time you create or update a The SMART 
  8612.       Editor database. 
  8613.  
  8614.  function reference 
  8615.       A function reference is a reference to a function; e.g. myfunc( 
  8616.       iFirstInt, iSecondInt ). 
  8617.  
  8618.  G 
  8619.  
  8620.  global list 
  8621.       A report generated from The SMART Editor database when globals are 
  8622.       included in the database. This report lists each global item defined in 
  8623.       the database. This list is in alphabetical order. 
  8624.  
  8625.  H 
  8626.  
  8627.  hexadecimal format 
  8628.       Each character in the file is displayed with its hexadecimal value. There 
  8629.       are 16 characters displayed per line; the ASCII characters are also 
  8630.       displayed on the right (if the character is printable). 
  8631.  
  8632.  highlighted 
  8633.       Selected text that may be affected by your next action. Highlighted text 
  8634.       appears in a different color. 
  8635.  
  8636.  hyperlink path 
  8637.       A path saved by The SMART Editor which includes all hyper-text linkage 
  8638.       within the current session. You can walk this path by hypertracking. 
  8639.  
  8640.  hyper-text linkage 
  8641.       A feature that allows you to go to an item by double-clicking on it. For 
  8642.       example, if you double click on a full path, that file will be opened and 
  8643.       displayed as the current The SMART Editor window.  If you double click on 
  8644.       a function, The SMART Editor will search the current The SMART Editor 
  8645.       database for a match on that function definition or reference depending 
  8646.       on which button was clicked.  If only one match is found, the source file 
  8647.       will be opened and the cursor will be positioned at that function.  If 
  8648.       multiple matches were found, a file containing a listing of the matches 
  8649.       will be displayed and you can double click on the specific entry and the 
  8650.       source file will be opened and the cursor will be positioned at that 
  8651.       function. 
  8652.  
  8653.  hypertrack 
  8654.       A feature that allows you to go forwards and backwards along a hyperlink 
  8655.       path. After you have double clicked (or opened files), you can traverse 
  8656.       backwards along this path by hypertracking in the reverse direction 
  8657.       (hyertrack backwards). You then have the option of retracing your steps 
  8658.       and moving forward along the previously created hyperpath by 
  8659.       hypertracking forwards. 
  8660.  
  8661.  I 
  8662.  
  8663.  IFDEF 
  8664.       A preprocessor compiler command that allows source code to be ignored. 
  8665.       When building The SMART Editor database with IFDEFs, The SMART Editor 
  8666.       will prompt you to set the desired preprocessor variables, and then skip 
  8667.       the functions contained within the ignored code.  The #if, #ifdef, #if 
  8668.       defined, #else and #endif preprocessor commands are processed by The 
  8669.       SMART Editor. 
  8670.  
  8671.  IFDEF defines 
  8672.       The variables found on the IFDEF preprocessor statements are considered 
  8673.       by The SMART Editor to be IFDEF defines.  For example, the preprocessor 
  8674.       statement "#if defined MODE_A || !defined MODE_B" would generate the 
  8675.       IFDEF defines MODE_A and MODE_B.  When building a The SMART Editor 
  8676.       database with IFDEFs, you would be prompted to define the value of MODE_A 
  8677.       and MODE_B (whether or not they are set). 
  8678.  
  8679.  L 
  8680.  
  8681.  last file 
  8682.       The SMART Editor command which displays and makes current the file that 
  8683.       was previously current in the window which has the focus. 
  8684.  
  8685.  left justify at cursor 
  8686.       The SMART Editor command which moves the current line of data to begin at 
  8687.       the location of the cursor. 
  8688.  
  8689.  link 
  8690.       To interconnect items of data or portions of one or more programs. 
  8691.  
  8692.  linked function 
  8693.       A function which resides in The SMART Editor database. 
  8694.  
  8695.  link-to-item 
  8696.       The SMART Editor command which prompts for the search function(s), then 
  8697.       searches The SMART Editor current database for all functions that match 
  8698.       the search function.  Item refers to either definitions or references. 
  8699.       Multiple matches are stored in the Multiple Definition List or Multiple 
  8700.       XRef List reference file. 
  8701.  
  8702.  link-to-definition 
  8703.       The SMART Editor command which searches The SMART Editor current database 
  8704.       for all definitions of the previously defined function. Multiple matches 
  8705.       are stored in the Multiple Definition List reference file. 
  8706.  
  8707.  link-to-reference 
  8708.       The SMART Editor command which searches The SMART Editor current database 
  8709.       for all references to the previously defined function. Multiple matches 
  8710.       are stored in the Multiple XRef List reference file. 
  8711.  
  8712.  listbox 
  8713.       Within a dialog panel a box listing available choices.  If all the 
  8714.       choices won't display, the listbox has a vertical scroll bar. 
  8715.  
  8716.  list-of-files 
  8717.       The SMART Editor file which contains a list of full path filenames.  This 
  8718.       file is created with the "Maintain a List of Files" command. This file is 
  8719.       needed when creating a The SMART Editor database, when copying files and 
  8720.       the source is defined as a list, and when doing a multiple file string 
  8721.       replace. 
  8722.  
  8723.  lock 
  8724.       A file attribute that controls access to the file. 
  8725.  
  8726.  M 
  8727.  
  8728.  macro language 
  8729.       A command programming language which extends the power of an application. 
  8730.       The SMART Editor uses IBM's Rexx macro language. 
  8731.  
  8732.  macro output 
  8733.       The output generated from a Rexx macro which was run from The SMART 
  8734.       Editor. 
  8735.  
  8736.  main function 
  8737.       A program entry named 'main' that is the first user function to obtain 
  8738.       control when program execution begins. 
  8739.  
  8740.  marker 
  8741.       A number associated with a saved position within a The SMART Editor file. 
  8742.  
  8743.  mask 
  8744.       A pattern of characters that control the testing or selection of another 
  8745.       pattern of characters. 
  8746.  
  8747.  menu 
  8748.       A list of items, most of which are The SMART Editor commands. Menu names 
  8749.       appear in the menu bar below The SMART Editor banner. 
  8750.  
  8751.  Microsoft QuickHelp 
  8752.       A help system which enables you to reference multiple libraries from 
  8753.       Microsoft; e.g. help on the Microsoft C compiler, OS/2. 
  8754.  
  8755.  minimize 
  8756.       To temporarily exit The SMART Editor and save it as an icon. 
  8757.  
  8758.  module 
  8759.       A source file containing functions linked in a The SMART Editor database. 
  8760.  
  8761.  Module/Function List 
  8762.       The SMART Editor report which lists the function definitions for each 
  8763.       module defined in The SMART Editor database.  The modules are listed in 
  8764.       alphabetical order.  The functions are listed in the order they appear 
  8765.       within the source module.  Each function is displayed with the path of 
  8766.       the module in which it resides and the line number within that module. 
  8767.       Double clicking on an entry opens the source file and moves the cursor to 
  8768.       the desired function definition.  A Module/Function List is automatically 
  8769.       generated every time you create or update a The SMART Editor database. 
  8770.  
  8771.  Multi-File Search List 
  8772.       The SMART Editor reference file containing the matches found from the 
  8773.       last Multi-file string search command.  Each match found is listed with 
  8774.       the full path of the file containing the match, the line number where the 
  8775.       string was found, and the line containing the matched string.  Double 
  8776.       clicking on an entry opens the source file and moves the cursor to the 
  8777.       matched string. 
  8778.  
  8779.  Multiple Definition List 
  8780.       The SMART Editor reference file containing the results from the last 
  8781.       link-to-definition command when multiple definitions are found in the 
  8782.       database.  This list can also be generated by double-clicking on a 
  8783.       function with the left button.  Each file satisfying the link is listed 
  8784.       with the full path of the file containing the match, the line number 
  8785.       where the function definition was found, and the line number containing 
  8786.       the matched function definition.  Double clicking on an entry opens the 
  8787.       source file and moves the cursor to the desired function definition. 
  8788.  
  8789.  Multiple XRef List 
  8790.       The SMART Editor reference file containing the results from the last 
  8791.       link-to-reference command when multiple definitions are found in the 
  8792.       database.  This list can also be generated by double clicking on a 
  8793.       function with the right button.  Each file satisfying the link is listed 
  8794.       with the full path of the file containing the match, the line number 
  8795.       where the function definition was found, and the line number containing 
  8796.       the matched function definition.  Double-clicking on an entry opens the 
  8797.       source file and moves the cursor to the desired function. 
  8798.  
  8799.  N 
  8800.  
  8801.  navigation 
  8802.       The process of moving. You can navigate within a file or between The 
  8803.       SMART Editor files. 
  8804.  
  8805.  next file 
  8806.       The SMART Editor command that makes the next file in The SMART Editor 
  8807.       open file list the current The SMART Editor file.  The list of opened The 
  8808.       SMART Editor files appears at the end of the file menu. 
  8809.  
  8810.  O 
  8811.  
  8812.  online help 
  8813.       The SMART Editor help information that can be retrieved interactively by 
  8814.       way of the <F1> key or by clicking on the "Help" button contained within 
  8815.       a dialog panel. 
  8816.  
  8817.  open 
  8818.       To display the contents of a file on the screen.  When you open a file it 
  8819.       is refered to as a The SMART Editor file. 
  8820.  
  8821.  P 
  8822.  
  8823.  paste 
  8824.       A command to transfer the contents of The SMART Editor buffer to the 
  8825.       current The SMART Editor file or clip file. 
  8826.  
  8827.  path name 
  8828.       The sequence of directories in a hierarchical file system that must be 
  8829.       traversed to locate a particular file. 
  8830.  
  8831.  project 
  8832.       An instance of The SMART Editor for a specific project having its own 
  8833.       identity. In this manner a specific instance of The SMART Editor can have 
  8834.       its own command files, macro files, reference files, directories, and 
  8835.       default database. You can use the project identifier to direct files from 
  8836.       SLStart to this specific instance of The SMART Editor. 
  8837.  
  8838.  R 
  8839.  
  8840.  read only mode 
  8841.       The file mode that specifies that a file can be opened but not edited. 
  8842.  
  8843.  received files 
  8844.       Files passed to The SMART Editor from other applications (e.g. 
  8845.       WorkFrame/2) or command files via the SLStart program. 
  8846.  
  8847.  redo 
  8848.       A command to restore the last undo edit function. 
  8849.  
  8850.  reference file 
  8851.       A system file or quick access file retrieved from The SMART Editor 
  8852.       reference menu. 
  8853.  
  8854.  refresh 
  8855.       The SMART Editor command to replace the current file with a clean copy 
  8856.       from disk. 
  8857.  
  8858.  Rexx 
  8859.       The 'RE'structured e'X'tended e'X'ecutor language is a general purpose 
  8860.       programming macro language supported by OS/2 and The SMART Editor. 
  8861.  
  8862.  root directory 
  8863.       The highest directory of a drive. 
  8864.  
  8865.  S 
  8866.  
  8867.  save 
  8868.       To write The SMART Editor updated file to disk. 
  8869.  
  8870.  search 
  8871.       To scan for a match on a defined string. 
  8872.  
  8873.  scroll bars 
  8874.       The bars at the bottom and right edge of the screen with which you can 
  8875.       move text up or down, left or right, in order to see parts of a file that 
  8876.       cannot fit on the screen. 
  8877.  
  8878.  select 
  8879.       To highlight an item by clicking it with the mouse or using key 
  8880.       combinations.  Selecting does not initiate an action; it defines the text 
  8881.       that will be acted upon by a future action. 
  8882.  
  8883.  SLStart 
  8884.       A monitor and loading program used for passing files for Sourcelink to 
  8885.       open. This is used with the IBM WorkFrame/2 program to open multiple 
  8886.       files without creating multiple instances. This is also used in command 
  8887.       files (e.g. make or compile) to send a file automatically back to The 
  8888.       SMART Editor. 
  8889.  
  8890.  snapshot 
  8891.       A copy of The SMART Editor file saved automatically if specified on The 
  8892.       SMART Editor options menu. 
  8893.  
  8894.  The SMART Editor banner 
  8895.       The title bar on the top of The SMART Editor screen which displays the 
  8896.       name and status of The SMART Editor current file. 
  8897.  
  8898.  The SMART Editor buffer 
  8899.       A temporary storage area that holds selected text. 
  8900.  
  8901.  The SMART Editor backup directory 
  8902.       The SMART Editor directory where files opened in edit mode are copied 
  8903.       when they are opened. 
  8904.  
  8905.  The SMART Editor file 
  8906.       A file opened by The SMART Editor and available for display and/or 
  8907.       editing. 
  8908.  
  8909.  The SMART Editor Link database 
  8910.       A database containing all of the linked function definitions and 
  8911.       references, and all of the defines from the IFDEF preprocessor 
  8912.       statements.  The source files contained within the database are listed in 
  8913.       a The SMART Editor List-of-Files file which resides in the same directory 
  8914.       as the generated database. 
  8915.  
  8916.  split screen 
  8917.       The The SMART Editor screen divided into two windows; each window can 
  8918.       contain a different file. 
  8919.  
  8920.  string 
  8921.       A word or group of words containing ASCII characters. 
  8922.  
  8923.  sync scroll 
  8924.       To lock two files together so they scroll together; you must have a split 
  8925.       screen to activate this The SMART Editor command.  The active window 
  8926.       becomes the master.  When the master window is scrolled, the other window 
  8927.       scrolls too.  When the other window is scrolled, the master window does 
  8928.       not follow. 
  8929.  
  8930.  T 
  8931.  
  8932.  template 
  8933.       A pattern of characters that control the testing or selection of another 
  8934.       pattern of characters. 
  8935.  
  8936.  Template Macro 
  8937.       The SMART Editor has provided automated 'C' templates which identify the 
  8938.       word at the current cursor position and replace the word with generated 
  8939.       code. For example, f is replaced by for( ; ; ). This macro can be 
  8940.       customized by the user. 
  8941.  
  8942.  thread 
  8943.       A unit of execution within a program. 
  8944.  
  8945.  trace 
  8946.       The ability to get information about the current Rexx command when 
  8947.       running a Rexx macro. 
  8948.  
  8949.  tracks 
  8950.       A history of The SMART Editor file accesses.  Each time a The SMART 
  8951.       Editor file is moved out of a The SMART Editor window, an entry is made 
  8952.       into the tracks The SMART Editor history reference file.  Each entry 
  8953.       contains the file name and the last line number referenced.  The latest 
  8954.       entry is stored on the top of the list. 
  8955.  
  8956.  U 
  8957.  
  8958.  undo 
  8959.       A command to delete the last edit command. If the previous edit function 
  8960.       is a redo, the previous redo edit function is deleted. 
  8961.  
  8962.  Unreferenced Function List 
  8963.       A report generated from The SMART Editor database which lists each 
  8964.       function defined in the database but not referenced. This list is in 
  8965.       alphabetical order. 
  8966.  
  8967.  User Defined List 
  8968.       A list of items to be included in The SMART Editor database. 
  8969.  
  8970.  User Specified Link List 
  8971.       A report generated from The SMART Editor database which lists each item 
  8972.       that matches the User Defined List and is referenced in the database. 
  8973.       This list is in alphabetical order. 
  8974.  
  8975.  V 
  8976.  
  8977.  verify 
  8978.       An option which creates a confirmation message prior to executing the 
  8979.       specified command.  For example, when executing a replace with verify 
  8980.       enabled,  The SMART Editor displays a confirmation prior to replacing the 
  8981.       matched string. 
  8982.  
  8983.  W 
  8984.  
  8985.  Waiting Files 
  8986.       Files passed to The SMART Editor from other applications (e.g. 
  8987.       WorkFrame/2) or command files via the SLStart program 
  8988.  
  8989.  wildcard 
  8990.       A character that represent other characters.  For example, The SMART 
  8991.       Editor refers to the *.* wildcard which indicates any filename with any 
  8992.       file extension; the *.C wildcard indicates any filename with a C file 
  8993.       extension.  The SMART Editor allows you to define your own wildcard.  For 
  8994.       example, if you wanted all files beginning with db, you could specify a 
  8995.       wildcard of db*.*. 
  8996.  
  8997.  word wrap 
  8998.       A feature that moves text from the end of a line to the next line when 
  8999.       the right edge of the screen is reached.  You do not press <ENTER> at the 
  9000.       end of each line of a paragraph. 
  9001.  
  9002.  WorkFrame/2 The IBM Workframe/2 application. 
  9003.  
  9004.       Table of Contents 
  9005.  
  9006.  
  9007. ΓòÉΓòÉΓòÉ 14. Appendix A - Specifications ΓòÉΓòÉΓòÉ
  9008.  
  9009. Appendix A - Specifications 
  9010.  
  9011. The SMART Editor Version 2.0 Specifications 
  9012.  
  9013.        Operating System - OS/2 Version 2 or higher (32 Bit versions) 
  9014.        Supports 3 button mouse ("Back" function) - such as Mouse Systems White 
  9015.       Mouse and Mouse Systems PC Mouse III 
  9016.        Language Support for linking - 'C', C++* and ASM source code 
  9017.  
  9018.  Max Values 
  9019.  
  9020.        Maximum Number of Files 'open'- 22 
  9021.        Maximum file pathlength - 127 
  9022.        Number of path directory levels - 10 
  9023.        Maximum function name length - 40 
  9024.        Maximum ifdef name length - 40 
  9025.        Maximum entries in tracks file - 35 
  9026.        Maximum levels in Call Tree - 50 
  9027.        Size of paste buffer (KB) - 64 
  9028.        Maximum string length (search buffer) - 80 
  9029.        Minimum edit events for snapshot - 10 
  9030.        Maximum edit events for snapshot - 63,999 
  9031.        Maximum undo edit events/file - 255 
  9032.        Maximum size of file for Hex Display (bytes) - 150,000 
  9033.        Number of place markers - 10 
  9034.        Maximum functions and references - virtually unlimited 
  9035.        Maximum size of inserted file (KB) - 64 
  9036.        Maximum size of List-of-Files file (KB) - 64 
  9037.        Maximum size of listbox data (KB) - 64 
  9038.        Maximum size of selected text (KB) - 64 
  9039.        Maximum text line length - 254 
  9040.        Maximum ViewHelp environment variable - 1,064 
  9041.        Maximum Undos saved per opened, edit file - 255 
  9042.        Minimum Build Buffersize (KB) - 16 
  9043.        Maximum Build Buffersize (KB) - 1,024 
  9044.        The SMART Editor (SLINK) database path length - 47 
  9045.        Number of The SMART Editor databases per directory - 1 
  9046.        Number of concurrent users per database - 1 
  9047.        Number of preprocessor variables per database - 1000 
  9048.        Number of preprocessor constants per database - 500 
  9049.        (when a number resides on a preprocessor statement; (e.g. #if pp_value > 
  9050.       1 || pp_value < 5 ... 1 and 5 are preprocessor constants) 
  9051.        Maximum number of User Macro menu items - 16 
  9052.        Maximum number of User Command menu items - 16 
  9053.        Maximum number of characters in Command menu item - 127 
  9054.        Maximum number of concurrent running macros - 1 
  9055.        Number of hours Snapshots are retained - 24 
  9056.  
  9057.  Supported preprocessor statements 
  9058.  
  9059.        (C and C++ Source)  #if #ifdef #if defined #else #elif #endif 
  9060.        (ASM Source) if ife ifdef ifndef else elseif elseife elseifdef 
  9061.       elseifndef endif 
  9062.  
  9063.  Supported preprocessor operators 
  9064.  
  9065.        (C and C++ Source) || ! > => < <= != == 
  9066.        (ASM Source) AND OR GT GE LT LE EQ NE 
  9067.  
  9068.  Supported #define operators 
  9069.  
  9070.        (C, C++ Source) #define 
  9071.        (ASM Source) EXTRN ABS EQU 
  9072.  
  9073.  Supported Global operators 
  9074.  
  9075.        (C, C++ Source) 
  9076.        (ASM Source) EXTRN BYTE WORD DWORD FWORD QWORD TBYTE 
  9077.  
  9078.  Supported dialog keywords 
  9079.  
  9080.        (C, C++ Source) DLGTEMPLATE WINDOWTEMPLATE 
  9081.  
  9082.  NOTES 
  9083.  
  9084.        C++ support does not include function overloading, class scope, and 
  9085.       class inheritance with this version. 
  9086.        Member functions (methods) will be parsed as functions but not 
  9087.       associated with a specific class. 
  9088.        Structures, typedefs, enums are not supported by automatic hyperlinks. 
  9089.        If 0 is used as a preprocessor argument, the remaining preprocessor line 
  9090.       is ignored (e.g. #if 0 || pp_value == 5 ... pp_value is not processed by 
  9091.       The SMART Editor) 
  9092.  
  9093.       Table of Contents 
  9094.  
  9095.  
  9096. ΓòÉΓòÉΓòÉ 15. Appendix B - Keys Reference ΓòÉΓòÉΓòÉ
  9097.  
  9098. Appendix B - Keys Reference 
  9099.  
  9100. ====|=================|===============|==============|
  9101.   | ALT or Key    | CONTROL    | SHIFT     |
  9102.   | * = ALT menu   |        |        |
  9103.   | # = key alone  |        |        |
  9104. ====|=================|===============|==============|
  9105.  A | Attributes    | CloseAll    |        |
  9106. ----|-----------------|---------------|--------------|
  9107.  B | *Back/Last file |        |        |
  9108. ----|-----------------|---------------|--------------|
  9109.  C | *Copy      | Close     |        |
  9110. ----|-----------------|---------------|--------------|
  9111.  D | *Delete     | Del Line    |        |
  9112. ----|-----------------|---------------|--------------|
  9113.  E | *Edit      | ChgEditMode  |        |
  9114. ----|-----------------|---------------|--------------|
  9115.  F | *File      | MaintainList  |        |
  9116. ----|-----------------|---------------|--------------|
  9117.  G | Goto Line    | Goto Cursor  |        |
  9118. ----|-----------------|---------------|--------------|
  9119.  H | *Help      | Hsk      |        |
  9120. ----|-----------------|---------------|--------------|
  9121.  I | *Clip      |        |        |
  9122. ----|-----------------|---------------|--------------|
  9123.  J |         |        |        |
  9124. ----|-----------------|---------------|--------------|
  9125.  K | *Link      | Del to EOL   |        |
  9126. ----|-----------------|---------------|--------------|
  9127.  L | Select Line   | LinkTo Item  |        |
  9128. ----|-----------------|---------------|--------------|
  9129.  M | GotoMarker    |        |        |
  9130. ----|-----------------|---------------|--------------|
  9131.  N | *Find      | RenameClip   |        |
  9132. ----|-----------------|---------------|--------------|
  9133.  O | Open       | Options    |        |
  9134. ----|-----------------|---------------|--------------|
  9135.  P | Print      | Curr DB Path  |        |
  9136. ----|-----------------|---------------|--------------|
  9137.  Q | DisplayHelp   | Start Help   |        |
  9138. ----|-----------------|---------------|--------------|
  9139.  R | *Ref       |        |        |
  9140. ----|-----------------|---------------|--------------|
  9141.  S | *Search     | SaveCursor   |        |
  9142. ----|-----------------|---------------|--------------|
  9143.  T | *ToolSet     | SnapShot    |        |
  9144. ----|-----------------|---------------|--------------|
  9145.  U | Undo       | Redo      |        |
  9146. ----|-----------------|---------------|--------------|
  9147.  V |         |        |        |
  9148. ----|-----------------|---------------|--------------|
  9149.  W | *Window     | WordWrap    |        |
  9150. ----|-----------------|---------------|--------------|
  9151.  X | Close/Min    | Close/Exit   |        |
  9152.  ---|-----------------|---------------|--------------|
  9153.  Y |         |        |        |
  9154. ----|-----------------|---------------|--------------|
  9155.  Z |         |        |        |
  9156. ----|-----------------|---------------|--------------|
  9157.  0 | Set Mark 0    |        |        |
  9158.   |(ALT+KP)AsciiChar|        |        |
  9159. ----|-----------------|---------------|--------------|
  9160.  1 | Set Mark 1    |        |        |
  9161.   |(ALT+KP)AsciiChar|        |        |
  9162. ----|-----------------|---------------|--------------|
  9163.  2 | Set Mark 2    |        |        |
  9164.   |(ALT+KP)AsciiChar|        |        |
  9165. ----|-----------------|---------------|--------------|
  9166.  3 | Set Mark 3    |        |        |
  9167.   |(ALT+KP)AsciiChar|        |        |
  9168. ----|-----------------|---------------|--------------|
  9169.  4 | Set Mark 4    |        |        |
  9170.   |(ALT+KP)AsciiChar|        |        |
  9171. ----|-----------------|---------------|--------------|
  9172.  5 | Set Mark 5    |        |        |
  9173.   |(ALT+KP)AsciiChar|        |        |
  9174. ----|-----------------|---------------|--------------|
  9175.  6 | Set Mark 6    |        |        |
  9176.   |(ALT+KP)AsciiChar|        |        |
  9177. ----|-----------------|---------------|--------------|
  9178.  7 | Set Mark 7    |        |        |
  9179.   |(ALT+KP)AsciiChar|        |        |
  9180. ----|-----------------|---------------|--------------|
  9181.  8 | Set Mark 8    |        |        |
  9182.   |(ALT+KP)AsciiChar|        |        |
  9183. ----|-----------------|---------------|--------------|
  9184.  9 | Set Mark 9    |        |        |
  9185.   |(ALT+KP)AsciiChar|        |        |
  9186. ----|-----------------|---------------|--------------|
  9187.  F1 | # Online Help  |        |        |
  9188. ----|-----------------|---------------|--------------|
  9189.  F2 | # Extended Help |        | SwapWindows  |
  9190.   | (ALT)Swap Focus |        |        |
  9191. ----|-----------------|---------------|--------------|
  9192.  F3 | # Close Pgm   |        | Sync Scroll  |
  9193. ----|-----------------|---------------|--------------|
  9194.  F4 | # Save      | MultUndo/Redo | SaveAs    |
  9195. ----|-----------------|---------------|--------------|
  9196.  F5 | # Search     | Search Bk   | Cont Search  |
  9197. ----|-----------------|---------------|--------------|
  9198.  F6 | # Replace    |        | MultiFileRepl|
  9199. ----|-----------------|---------------|--------------|
  9200.  F7 | # Left Justify  | Append Clip  | ClipToPaste  |
  9201. ----|-----------------|---------------|--------------|
  9202.  F8 | # Ending Brace  | Select Brace  | Beg Brace   |
  9203. ----|-----------------|---------------|--------------|
  9204.  F9 | # Keys Help   | PasteToClip  | SelectToClip |
  9205.   | (ALT) Minimize  |        |        |
  9206. ----|-----------------|---------------|--------------|
  9207.  F10| # Goto/From   |        | Help on Help |
  9208. ----|-----------------|---------------|--------------|
  9209.  F11| # Select String | LinkToRef   | LinkToDef   |
  9210. ----|-----------------|---------------|--------------|
  9211.  F12|         |        |        |
  9212. ----|-----------------|---------------|--------------|
  9213.  -  | (KB-)Cut     |        |        |
  9214.   | (ALT)Next File  |        |        |
  9215. ----|-----------------|---------------|--------------|
  9216.  +  | (KB+)Copy    |        |        |
  9217. ----|-----------------|---------------|--------------|
  9218.  Esc| # Cancel     | DispSwList   |        |
  9219.   | (ALT)Hide Help  |        |        |
  9220. ----|-----------------|---------------|--------------|
  9221.  Ins| # Paste     | InsertClip   | Insert File  |
  9222. ----|-----------------|---------------|--------------|
  9223. Home| Beg of Line   | Beg of File  | Beg of Page  |
  9224. ----|-----------------|---------------|--------------|
  9225.  End| End of Line   | End of File  | End of Page  |
  9226. ----|-----------------|---------------|--------------|
  9227.  
  9228.       Table of Contents 
  9229.