Title: OLE and Terminal Emulators Issue: Spectrum Nov/Dec '99 Author: Nathan Rector Company: Natec Systems Email: nater@northcoast.com http: www.northcoast.com/~nater/ How many people in your company use PCs to do something like Excel or Word processing? Ok, now how many people also use that same PC to connect to your MultiValue database using ViaDuct, AccuTerm, or wIntegrate? Ok, the last and final question, how many of you know that you can use your terminal emulator to control your Office applications? Not just the typical file transfer functionality, but actual control using Objects (OLE). Yes, you heard me right. You can use that terminal emulator that you've had for years to control your windows applications such as Excel, Word and Outlook. ViaDuct, AccuTerm, and wIntegrate call come with the ability to create specific windows files using their file transfer functionality, but each one also gives you the ability to access windows applications from your host BASIC routines. All of the terminal emulators provide support for DDE (Dynamic Data Exchange). DDE is an old Windows standard for exchanging data between applications. There are still applications today that solely use DDE to exchange data between applications, but these applications are increasingly hard to find. The applications that did support DDE like the Office Suite (Excel, Word, and Access) still support DDE for backward compatibility but the documentation on what the exact DDE commands are is extremely hard to find. Objects, which are also know as OLE (Object Linking and Embedding), is the current standard found in Windows application and is much easier to find documentation on how to use it. For those people that have worked with Visual Basic or been to a class on Visual Basic, then you have an idea of how to use Objects or OLE. Objects give developers control of just about every part of the windows applications that supports it. If we take Excel for example, you can use objects to update a specific cell, remove or add menu options to the excel menu, and even create a graph or two. All of these things are minor things that can be done with Excel's objects. Anything done from the keyboard or by user entry can be done using the Excel's objects. As with most things, each terminal emulator has it's own way of accessing objects. If you use ViaDuct, then some of the programs you would use are: VTW.OBJECT.INIT - initializes the ViaDuct object bridge VTW.OBJECT.CREATE - creates a new object VTW.OBJECT.MOTHOD - runs a method from an object VTW.OBJECT.FUNCTION - runs a function from an object VTW.OBJECT.PROPERTY - gets or update a property value for an object VTW.OBJECT.UNLOAD - unloads the ViaDuct objects These routines are something new in ViaDuct and require ViaDuct 4.1 to run. If you already have ViaDuct and want to use these programs, then you will need to contact Via Systems. If you use AccuTerm 97, again there are some of the programs AccuTerm uses: ATINITOBJMGR - initializes the AccuTerm Object Manager ATCREATEOBJECT - creates a new object ATGETOBJECT - get an existing object ATGETPROPERTY - gets a property value ATSETPROPERTY - sets a property value ATINVOKEMETHOD - runs a method from an object You can find these programs on your AccuTerm directory. The directory name is C:\Program Files\atwin\Pickbp\objbp. Download these programs on to your host and you'll have all you need. If you are using any of these terminal emulators, there is a hidden gem that you probably didn't realize existed. On my web site you can find sample programs that use these programs. If you are looking for a sample program for AccuTerm 97, then goto http://www.northcoast.com/~nater/atole.html If you are looking for a sample program for ViaDuct, then goto http://www.northcoast.com/~nater/vdole.html Let me leave you with some ideas. How would you like to get real time status of FedEx or UPS packages from their web site? Use the objects supplied with IE to do a web request for the information without the user even touching their browser or knowing the browser was used to get the information. How would you like to open, change, and print MultiValue data in Word and then save the changes back to the MultiValue database? How would you like to do a data merge of MultiValue data without having to export the data first. I'll leave you with one last idea: How would you like provide verbal feed back instead of bells and tones that are used now? Instead of sounding a bell when the data is invalid, have the computer say, "Data is invalid". All this can be done using objects and your terminal emulators Title: OLE and Terminal Emulators Issue: Spectrum Nov/Dec '99 Author: Nathan Rector Company: Natec Systems Email: nater@northcoast.com http: www.northcoast.com/~nater/ How many people in your company use PCs to do something like Excel or Word processing? Ok, now how many people also use that same PC to connect to your MultiValue database using ViaDuct, AccuTerm, or wIntegrate? Ok, the last and final question, how many of you know that you can use your terminal emulator to control your Office applications? Not just the typical file transfer functionality, but actual control using Objects (OLE). Yes, you heard me right. You can use that terminal emulator that you've had for years to control your windows applications such as Excel, Word and Outlook. ViaDuct, AccuTerm, and wIntegrate call come with the ability to create specific windows files using their file transfer functionality, but each one also gives you the ability to access windows applications from your host BASIC routines. All of the terminal emulators provide support for DDE (Dynamic Data Exchange). DDE is an old Windows standard for exchanging data between applications. There are still applications today that solely use DDE to exchange data between applications, but these applications are increasingly hard to find. The applications that did support DDE like the Office Suite (Excel, Word, and Access) still support DDE for backward compatibility but the documentation on what the exact DDE commands are is extremely hard to find. Objects, which are also know as OLE (Object Linking and Embedding), is the current standard found in Windows application and is much easier to find documentation on how to use it. For those people that have worked with Visual Basic or been to a class on Visual Basic, then you have an idea of how to use Objects or OLE. Objects give developers control of just about every part of the windows applications that supports it. If we take Excel for example, you can use objects to update a specific cell, remove or add menu options to the excel menu, and even create a graph or two. All of these things are minor things that can be done with Excel's objects. Anything done from the keyboard or by user entry can be done using the Excel's objects. As with most things, each terminal emulator has it's own way of accessing objects. If you use ViaDuct, then some of the programs you would use are: VTW.OBJECT.INIT - initializes the ViaDuct object bridge VTW.OBJECT.CREATE - creates a new object VTW.OBJECT.MOTHOD - runs a method from an object VTW.OBJECT.FUNCTION - runs a function from an object VTW.OBJECT.PROPERTY - gets or update a property value for an object VTW.OBJECT.UNLOAD - unloads the ViaDuct objects These routines are something new in ViaDuct and require ViaDuct 4.1 to run. If you already have ViaDuct and want to use these programs, then you will need to contact Via Systems. If you use AccuTerm 97, again there are some of the programs AccuTerm uses: ATINITOBJMGR - initializes the AccuTerm Object Manager ATCREATEOBJECT - creates a new object ATGETOBJECT - get an existing object ATGETPROPERTY - gets a property value ATSETPROPERTY - sets a property value ATINVOKEMETHOD - runs a method from an object You can find these programs on your AccuTerm directory. The directory name is C:\Program Files\atwin\Pickbp\objbp. Download these programs on to your host and you'll have all you need. If you are using any of these terminal emulators, there is a hidden gem that you probably didn't realize existed. On my web site you can find sample programs that use these programs. If you are looking for a sample program for AccuTerm 97, then goto http://www.northcoast.com/~nater/atole.html If you are looking for a sample program for ViaDuct, then goto http://www.northcoast.com/~nater/vdole.html Let me leave you with some ideas. How would you like to get real time status of FedEx or UPS packages from their web site? Use the objects supplied with IE to do a web request for the information without the user even touching their browser or knowing the browser was used to get the information. How would you like to open, change, and print MultiValue data in Word and then save the changes back to the MultiValue database? How would you like to do a data merge of MultiValue data without having to export the data first. I'll leave you with one last idea: How would you like provide verbal feed back instead of bells and tones that are used now? Instead of sounding a bell when the data is invalid, have the computer say, "Data is invalid". All this can be done using objects and your terminal emulators