home *** CD-ROM | disk | FTP | other *** search
/ Microsoftware Monthly 19…2 Programming Power Tools / MASO9512.ISO / smart / sm_slink.inf (.txt) < prev    next >
Encoding:
OS/2 Help File  |  1995-05-10  |  213.1 KB  |  9,113 lines

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