ÉÍËÍ» » É ÉÍËÍ» É» É ÉÍËÍ» ÉÍÍÍ» » » ÉÍ ÉÍÍÍ» ÉÍÍÍ» È º ¼ º º º º ºº º È º ¼ ÌÍÍ͹ º ÌÍÍÊ» ÉÍÍͼ º º º º º º º ºº º º º º º º º º É» º º Ê ÈÍÊͼ ÈÍÊͼ ¼ÈÍͼ Ê ¼ È ÊÍÍͼ ¼ È ÈÍÍͼ ȼ ÈÍÍͼ MS Windows Asynchronous Communications Software for IBM (R) personal computers and compatibles J.M. COHEN & O. PICCIOTTO ENGLISH Version Distributed by: TWinTalk International P.O. Box 452 New Hartford, CT 06057 voice: 1-203-379-7727 data : 1-203-738-0306 or 738-1046 8-N-1 NEW Features in TWinTalk version 2.0 1) INTRODUCTION This documentation describes the new functions of the TWinTalk 2.0 product. Though this documentation is preliminary, the elements discussed here will also be part of the final documentation to be delivered with the product. Besides the functional improvements, TWinTalk 2.0 is optimized over the previous version for speed and memory use. The following functions will be described in the following chapters: New emulation support for VT220 New types of peripheral communication Configuration of the menu by the user Management of the DDE protocol Usage of the scrollback buffer 2)USAGE 2.1) VT220 Emulation TWinTalk now has VT220 emulation. This emulation can be used for connections on DEC and UNIX machines. VT220 supports all combinations of 8 bits, loading of key functions, management of protected fields and editing sequences. This emulation is completely integrated in TWinTalk and is used in the same manner as all others. Choose the TERMINAL menu option VT220 to invoke the emulation of this type of terminal. 2.2)New types of peripheral communication. TWinTalk 2. now has support for two more types of peripheral communication, COMBIOS (INT14) and NetBIOS. Choose the following 'equipment selection' dialog box entries respectively for either of these peripherals. COMBIOS.MOD for COMBIOS NETBIOS.MOD for Netbios (This dialog box is obtained by first clicking on 'OPTIONS', then 'COMMUNICATIONS', then click on the appropriate '.mod' file. COMBIOS is generally used for communication on Local Area Networks or on X25 data networks. Certain types of Compilers or Communications products use the standard Interrupt 14 interface to give applications access to standard DOS communications services. Take for example an X.25 PAD or a TCP/IP Telnet link. In both cases, usage of the COMBIOS facility enables TWinTalk to interface directly to the X.25 or TCP/IP 'layers' to connect itself to a remote machine. This significantly simplifies the interface so that TWinTalk need only pass minimal parameters indicating speed, size of the words, and number of stop bits. And, in most cases, the standard layers of communications under COMBIOS will not even need those. NETBIOS similarly allows TWinTalk to communicate with the layers of the NETBIOS protocol. This configuration may currently be used in a UNIX environment that allows the connection of terminals through NETBIOS. To implement this, TWinTalk must use the normal 'TELEPHONE NO.' field to find the name 'NETBIOS' on the machine to which the connection must be established. 2.3) Configuration of the Menus by the USER. TWinTalk 2.0 expands on the previous concept of "Long Menu / Short Menu" to now allow the user much flexibility in creation of his own Menu configuration. The following functions may be changed: - The (in)visibility of the menu - The "LABEL" of a menu item - New user specific menu items may be added. The first two are readily available through the "PROGRAM" menu selection, but the last can only be invoked via the TWinPas script language. To change a Menu item, select the "PROGRAM" option, then the command "Change the menu". This will call up the Menu Configuration dialog box. The box to the top left side lists all of the LABELS that correspond to all the main menu options of TWinTalk. To the right are the sub-menu items that are available under each of the main topics. The character '&' in a menu label indicates that the following letter should be highlighted. Some other special characters are supported. - "\t" indicates that the characters that follow will be right-justified. - "\a" is only useful for the Main menu bar. It's function is to force placement of the menu item at the furthest right position available on the menu bar. To modify a label, select it with your mouse or the keyboard, change the label field with your choice of name, and then 'click' on the 'CHANGE' box. Once all of the labels suit your taste, go to 'CONFIRM' to end the dialog. To 'Mask' a menu selection, click on the "VISIBILE" box. This will bring up the character '*'. Each menu label prefixed with this character will be masked. At any time, the base menu settings of TWinTalk may be restored by clicking 'Original". However, great care should be exercised during the changing of visibility of the "Change the Menus" field. Once the item is hidden, you will not be able to change the menus again nor return to the original menu. The only way out at this point is a complete restart of TWinTalk. The commands 'Save a Menu" and 'Open a Menu' (selected from the PROGRAM menu) will allow you to respectively save the current menu settings or to load a new set. By default, all menu files have the extension '.MNU'. (for example, the file SHORT.MNU corresponds to a basic starting configuration for TWinTalk.) 2.4) Management of the DDE protocol. TWinTalk 2.0 has a complete implementation of the MS Windows DDE protocol, and can function like either a client or a DDE server. - Client In this mode, TWinTalk can communicate with another application to ask for a specified item, to explicitly specify one to the application, or to make it execute a specific command. - Server In this mode, TWinTalk accepts all requests from other clients and can transfer data items to other applications either on command or spontaneously, while simultaneously executing commands induced by other application softwares. SERVER mode ---------- The Server mode of TWinTalk is implicit... The program will always respond to DDE requests made by other applications. On the other hand, Client mode is explicit, and can only be invoked by special functions of the TWinPas script language of TWinTalk. TWinTalk uses the following syntax to establish a dynamic link with an application: =Application|Topic!RxCy:RzCt Using EXCEL as an example, a link with TWinTalk will be written as follows: =TWinTalk|Screen!R1C1L10 The syntax of the reference field is as follows: -Rx The entire row of characters on the line 'x'. -RxCyLx The row 'x', from the 'y' character for length 'z'. -Cy The entire 'y' column. -CyRxLZ The entire column 'y' from row 'x' for a length 'z'. -RxCy The character on row 'x' in column 'y'. -RxCy:RzCt The rectangular zone defined by the x,y,z,t screen coordinates. Fortunately, there is a much simpler way to establish DDE links with TWinTalk without evr worrying about the syntax. In fact, a simple selection of the data items with the mouse followed by the command "COPY' (in the EDIT menu) will suffice to establish the links required for TWinTalk to put the data in the cell of the link reference. Of course, you must also call the command 'COPY with Link' in the client software (for example EXCEL) to establish its link reference for DDE exchange... Once the link is established at bothg ends, each modification on the TWinTalk screen will be automatically updated on the document managed by EXCEL. Another functionality important on a DDE server is the ability to execute commands demanded by the other applications. For example, EXCEL can ask TWinTalk to to establish a connection to a remote host and transfer a file. To accomplish this, the DDE execution commands are used. For the application to send DDE commands to TWinTalk, one must first establish the DDE link from the client application with the Topic "SYSTEM" or "SCREEN" then use the send command function of the client application software. Refer to the documentation for your application for more details on how DDE functions are implemented within the specific application in use. The TWinTalk supported commands are as follows: CONNECT - Connect TWinTalk to the modem DISCONNECT - Disconnect TWinTalk from the modem DIAL - Dial the current phone number DIAL('12345678') - Dial the specified number CONFIG('file.ext') - Change the default configuration file used to file.ext TRANSFER('params') - Start the file transfer. EndXMit - Stop the file transfer in process and delete any partial files if the transfer aborted. RUN('file.ext') - Execute the named script. If the extension is .CMP, execution is immediate. If .TWK, the script is first compiled and then executed. EndRun - Interrupt the currently executing script. CLIENT mode ----------- As explained above, TWinTalk can also act like a DDE Client. To accomplish this, special functions of the TWinPas language allow you to establish links with other applications, to exchange data items, and to make them execute commands. These functions are: - Talk('Application','Subject') - Contact(Client ID) - Request(Client ID,'parameters',review buffer) - Poke(Client ID,'parameters',data items) - Terminate(Client ID) Example: -- This short program writes "TWINTALK" into an EXCEL cell. {$v-} -- Execution Windows initially in 'invisible' mode {$l-} -- No compiler listing generated. Program TESTDDE; Const AppName = 'Excel'; -- Application to contact Topic = 'sheet1.xls; -- Subject of the conversation Type String = Array[1..90] Of Char; Params = Array[0..20] Of Char; Var hClient:Integer; -- Client ID Begin Show; hClient : = Talk(Appname, Topic); if Contact(hClient) Then Begin WriteLn(Appname, ' Contacted regarding ', Topic); if Poke(hClient, 'r5c3', 'TWinTalk') Then WriteLn('Items sent.'); if Terminate(hClient) Then WriteLn('Link with ', AppName, 'Broken'); End Else WriteLn('No Contact with ', AppName); End. 2.5) Use of the Review Buffer. In addition to the capture function discussed in the TWinTalk documentation, TWinTalk also includes a review buffer function. This facility allows you to scroll backwards through lines of text that may already have scrolled off the visible screen during the on-line session. The size of the scrollback buffer is limited only by the available disk space. At any time you wish to call up the scrollback review buffer, the 'Scroll Lock' key is used. Once in Review mode, you can manipulate the the vertical elevator bar to move throughout the entire buffer. Once you have finished your review, depressing the 'Scroll Lock' key again will return you to the normal mode. Review Buffer function keys: -Scroll Lock - Toggle buffer ON/OFF -Home - Display the buffer, beginning at the top. -End - Display the buffer, beginning at the bottom. -PgUp - Move the display up 10 lines. -PgDn - Move the display down 10 lines. -Up Arrow - Move the cursor up 1 line. -Down Arrow - Move the cursor down 1 line. 3) New TWinPas language Commands. Procedures: Procedure Exit(code:Integer) Interrupts a program. If the parameter is '0' - execution stops and the current window remains on the screen (even if invisible). If the parameter is '1' - execution stops and the window is closed. If the parameter is '2' - execution stops,the window is closed,and TWinTalk is exited. Procedure Move(x,y,cx,cy:Integer); Moves the Window at coordinates 'x','y' (in pixels) and gives it a width of 'cx' and a height of 'cy'. Procedure SetCom('1200,E,7,1':String); Allows a script to modify some of the current communications port parameters Speed all values from 0 to 65,535 are acceptable to TWinTalk, but it should be noted that the MS Windows communications driver (COMM.DRV) will not currently be able to accept certain values. Parity n(None) e(Even) o(Odd) m(Mark) s(Space) Word size 4,5,6,7 or 8 bits (Anyone for Baudot?) Number of Stop bits 1, 5 (for 1,5) or 2 Procedure ClipRect(x,y,cx,cy:Integer); Simulate the selection of a screen zone with the mouse. The paramters are in character units of 1 to n. Procedure ClipCopy; Copies the selection requested with the ClipRect into the Clipboard. Procedure ClipPaste; Sends the contents of the Clipboard. Procedure Caption('Title:String') Places the specified string of characters in the title band of the executing Window. Procedure Date(Date;Array of char); Obtains the system date in the format DD/MM/YY and loads it into a buffer. Procedure Time(Time;Array of char); Obtains the system time in the format HH:MM:SS and loads it into a buffer. Procedure Zoom; Place TwinTalk in full Window mode. Procedure Iconize; Place TwinTalk in Icon mode. Procedure Restore; Place TwinTalk back to the mode it was in prior to a Zoom or Icon command. Procedure LoadMenu('Filename.ext':String); Load a menu profile - if no path is given, the default path is used. Procedure MenuVisible(Popup,Item:Integer,Visible:Boolean); Renders entire menus or selected items visible or invisible if Item = -1, the entire menu is affected. if Item > -1, only the specified item of the popup menu is affected. Procedure MenuAddItem(Popup,Item:Integer,'Label':String); Adds an item to a menu or adds a menu to the main menu bar. if Popup = -1, a full menu is added to the right on the menu bar if Popup > -1, the specified item of the popup menu is added. Note: There are 7 possible main menu on the TWinTalk menu bar. The menu on the far right (Help) is number 7. Procedure MenuRestore; Delete all items or menus added to the menu bar by the user, and terminate the Window. This is only useful if you dynamically manage menus with script files. Procedure LineBreak(x:Integer); Generate a Break state on the communications line for x milliseconds. Procedure PassWord(Psw:Array of char); Obtains the System password specified and store in the dialog box of the current session. This procedure allows scripts to be totally independent from the user. Procedure Chain('filename.ext':String); End the execution of the current script and begin executing the named script. If no path is given, the default path is used. Please note, the execution of the second script should be considered a 'goto' and not a 'call' - there is no return to the original script at the location following the Chain.... FUNCTIONS ---------- Function Inkey:Boolean; Returns the value 'true' if a character is available in the input buffer. The character may be then read with 'Read'. Function Alert('Title','Text'):Integer; Post a message box with the title and specified label. Returns a code indicating which message box 'button' was pressed. (1=OK,2=CANCEL). Function MenuInput:Integer; Returns the identifier of a menu item selected (0 to N). ----------end of twintalk.new 1/1/90 lww ----------------------------------------------------------------------------- COPYRIGHT NOTICE TWinTalk Copyright (c) 1987, 1988, 1989 and 1990 by J.M. COHEN & O. PICCIOTTO This document is Copyright (c) 1989,1990 by TWinTalk International