View Full Version : Cross-program utility

Ben Spackman
02-08-2005, 12:32 PM
As I know at least several of you are, I use both Bibleworks AND that other program (http://www.logos.com).

I tend to use BW for all my textual research, but have a few commentaries/dictionaries and archives on Libronix.

Here's my question. Libronix users can write their own toolbars. How hard would it be for someone to write a toolbar that would export the current chapter/verse from Libronix into BW or a BW command to export the current chapter/verse to Libronix? I know BW can receive such things from the shift-control-b command in Word, and I know Libronix can do similar things.

What I'd really like is a button or keyboard command in both programs that will send the current reference to the other program (and switch to it too?) That would be REALLY convenient, and perhaps also encourage users of the other program to adopt both.http://bibleworks.com/forums/images/smilies/cool.gif

I'm not techy enough to write this program/script on my own, but I have cross-posted it to the "automation" list in the Libronix forum. Perhaps someone will take up the gauntlet.

02-08-2005, 01:30 PM
Hi Ben,
Something very like this is already in the prototype 7.0 program. You can add links to the menubar and dropdown menus that will open another program and pass it the current reference. So if you are in BW you can easily open up a commentary in another program at the verse you are studying. So stay tuned ...

Ben Spackman
02-08-2005, 03:05 PM
Excellent! Many anticipatory thanks!http://bibleworks.com/forums/images/smilies/biggrin.gif

02-08-2005, 05:37 PM
regarding this being part of version 7.0, THREE CHEERS FOR BIBLEWORKS TEAM!!!!!! Man i can't wait for vs 7 to come out, arghhhhh no patience on this side of the monitor.


Ben Spackman
02-08-2005, 08:42 PM
Can BW 6.0 still receive DDR commands? (I think that's what they're called.)

I couldn't find a reference to it in the .pdf manual.

Edit: That's because DDR is memory, and DDE is the language. There is indeed this capability, found with some example on under "dynamic data exchange" in the manual.

02-09-2005, 04:39 AM
This new utility is absolutely fantastic!!! I guess now it doesn't matter if everything is not sold as a module for bw. I just decided to upgrade as soon as it comes out :D

Gilbert Salinas
02-09-2005, 01:01 PM
Same here!!!!!Gilbert

02-09-2005, 01:21 PM
Can BW 6.0 still receive DDR commands? (I think that's what they're called.)

I couldn't find a reference to it in the .pdf manual.

Edit: That's because DDR is memory, and DDE is the language. There is indeed this capability, found with some example on under "dynamic data exchange" in the manual.
My mistake Ben :o

for anyone searching for ddr in the help file here it is:

BibleWorks now has expanded DDE capabilities. They allow you to fetch BibleWorks verse data and status information from other applications via DDE links. The available commands are shown below. Each command has a sample showing how it is used in a Word for Windows macro:

Command: GetCurrentVerse
Function: Returns a string containing the current verse reference, preceded by the current version descriptor. For example: <KJV Rom 8:28>

Word Example: a$ = DDERequest$(ChanNum,"GetCurrentVerse")

Command: SetVersions
Function: Sets the current search version and display versions. The string sent to BibleWorks should contain a list of version specifiers, with the search version first. For example you might send the following: <KJV KJV GNT BHS VUL LXT>
Word Example: DDEExecute ChanNum, "SetVersions KJV KJV ASV GNT"

Command: GetVersions
Function: Returns the current search and display versions in BibleWorks in the form of a string of version specifiers with the current search version first. See "SetVersions" above.

Word Example: a$ = DDERequest$(ChanNum,"GetVersions");

Command: GoToVerse
Function: Causes BibleWorks to load the specified verse. It also loads the Results Window into the Windows Clipboard so that it is available to the calling application.
Word Example: DDEExecute ChanNum, "GoToVerse Mat 1:1"

Command: Lookup
Function: Causes the string following the command to be looked up in the currently set search version.
Word Example: DDEExecute ChanNum, "Lookup moses"

Command: IgnoreErrors
Function: Prevents BibleWorks from displaying a dialog box when GoToVerse is executed with an invalid verse reference. It has two Options - TRUE and FALSE.
Word Example: DDEExecute ChanNum, "IgnoreErrors TRUE"

Command: ClipGoToVerse
Function: If set to TRUE the GoToVerse option will also copy the current Results Window to the system clipboard. It has two Options - TRUE and FALSE. The default is TRUE.
Word Example: DDEExecute ChanNum, " ClipGoToVerse TRUE"

The following example is a do-nothing Word for Windows Macro that illustrates how to use the DDE functions. Note that the program name in the DDEINITIATE command should be changed to "BWORKS95" if you are using the Windows 95/98/NT version of BibleWorks.

ChanNum = DDEInitiate("BWORKS", "Commands")
DDEExecute ChanNum, "GoToVerse Mat 1:1"
MsgBox "You should be at Matthew 1:1"
a$ = DDERequest$(ChanNum, "GetCurrentVerse")
MsgBox "The current verse is " + a$
DDEExecute ChanNum, "SetVersions KJV KJV ASV GNT"

MsgBox "The current search version should be KJV."
a$ = DDERequest$(ChanNum, "GetVersions")
MsgBox a$
DDEExecute ChanNum, "Lookup moses"
MsgBox "I just looked up Moses"
DDETerminate ChanNum
End Sub

The following is another example that fetches a verse from BibleWorks and inserts it into a Word for Windows document.

Begin Dialog UserDialog 218, 118, "BibleWorks"
TextBox 10, 26, 189, 18, .TextBox1
Text 8, 6, 176, 13, "Enter Reference to Insert:"

OKButton 115, 56, 88, 21
CancelButton 114, 81, 88, 21
End Dialog
Dim VerseDlg As UserDialog
ChanNum = DDEInitiate("BWORKS", "Commands")
Dialog VerseDlg
Verse$ = VerseDlg.TextBox1
DDEExecute ChanNum, Verse$
DDETerminate ChanNum
DDETerminate ChanNum
End Sub