summaryrefslogtreecommitdiff
path: root/examples/windoze/delphi20
diff options
context:
space:
mode:
Diffstat (limited to 'examples/windoze/delphi20')
-rw-r--r--examples/windoze/delphi20/multimo1/LogoMain.dfmbin0 -> 3868 bytes
-rw-r--r--examples/windoze/delphi20/multimo1/LogoMain.pas213
-rw-r--r--examples/windoze/delphi20/multimo1/Multimod.icobin0 -> 766 bytes
-rw-r--r--examples/windoze/delphi20/multimo1/about.dfmbin0 -> 851 bytes
-rw-r--r--examples/windoze/delphi20/multimo1/about.pas31
-rw-r--r--examples/windoze/delphi20/multimo1/multimod.dpr15
-rw-r--r--examples/windoze/delphi20/multimo2/LogoMain.dfmbin0 -> 4408 bytes
-rw-r--r--examples/windoze/delphi20/multimo2/LogoMain.pas151
-rw-r--r--examples/windoze/delphi20/multimo2/Multimod.icobin0 -> 766 bytes
-rw-r--r--examples/windoze/delphi20/multimo2/about.dfmbin0 -> 851 bytes
-rw-r--r--examples/windoze/delphi20/multimo2/about.pas31
-rw-r--r--examples/windoze/delphi20/multimo2/multimod.dpr15
-rw-r--r--examples/windoze/delphi20/multimo3/LogoMain.dfmbin0 -> 4884 bytes
-rw-r--r--examples/windoze/delphi20/multimo3/LogoMain.pas166
-rw-r--r--examples/windoze/delphi20/multimo3/about.dfmbin0 -> 1811 bytes
-rw-r--r--examples/windoze/delphi20/multimo3/about.pas31
-rw-r--r--examples/windoze/delphi20/multimo3/multimod.dpr18
-rw-r--r--examples/windoze/delphi20/multimo3/searchdlg.dfmbin0 -> 575 bytes
-rw-r--r--examples/windoze/delphi20/multimo3/searchdlg.pas35
-rw-r--r--examples/windoze/delphi20/multimo4/LogoMain.dfmbin0 -> 5659 bytes
-rw-r--r--examples/windoze/delphi20/multimo4/LogoMain.pas171
-rw-r--r--examples/windoze/delphi20/multimo4/Multimod.dpr17
-rw-r--r--examples/windoze/delphi20/multimo4/Searchdlg.dfmbin0 -> 682 bytes
-rw-r--r--examples/windoze/delphi20/multimo4/Searchdlg.pas60
-rw-r--r--examples/windoze/delphi20/multimo4/about.dfmbin0 -> 1811 bytes
-rw-r--r--examples/windoze/delphi20/multimo4/about.pas31
-rw-r--r--examples/windoze/delphi20/svertf/LogoMain.dfmbin0 -> 6567 bytes
-rw-r--r--examples/windoze/delphi20/svertf/LogoMain.pas170
-rw-r--r--examples/windoze/delphi20/svertf/Multimod.dpr17
-rw-r--r--examples/windoze/delphi20/svertf/Searchdlg.dfmbin0 -> 651 bytes
-rw-r--r--examples/windoze/delphi20/svertf/Searchdlg.pas59
-rw-r--r--examples/windoze/delphi20/svertf/about.dfmbin0 -> 1811 bytes
-rw-r--r--examples/windoze/delphi20/svertf/about.pas31
33 files changed, 1262 insertions, 0 deletions
diff --git a/examples/windoze/delphi20/multimo1/LogoMain.dfm b/examples/windoze/delphi20/multimo1/LogoMain.dfm
new file mode 100644
index 0000000..f57ec1c
--- /dev/null
+++ b/examples/windoze/delphi20/multimo1/LogoMain.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo1/LogoMain.pas b/examples/windoze/delphi20/multimo1/LogoMain.pas
new file mode 100644
index 0000000..4365c83
--- /dev/null
+++ b/examples/windoze/delphi20/multimo1/LogoMain.pas
@@ -0,0 +1,213 @@
+unit LogoMain;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, Menus,
+ Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, Grids, DBGrids;
+
+type
+ paramt = record
+ path, name, disc: pchar;
+ end;
+ pparamt = ^paramt;
+
+ TSwordAppForm = class(TForm)
+ MainMenu: TMainMenu;
+ FileMenu: TMenuItem;
+ FileExitItem: TMenuItem;
+ Help1: TMenuItem;
+ AboutItem: TMenuItem;
+ SpeedPanel: TPanel;
+ ExitBtn: TSpeedButton;
+ StatusBar: TStatusBar;
+ TextBox: TRichEdit;
+ CommentBox: TRichEdit;
+ BookCB: TComboBox;
+ CHBox: TEdit;
+ VSBox: TEdit;
+ Label1: TLabel;
+ LookupBtn: TSpeedButton;
+ TextKeyText: TLabel;
+ LDBox: TRichEdit;
+ LDTitle: TLabel;
+ Label2: TLabel;
+ LDKeyText: TLabel;
+ TextTitle: TLabel;
+ CommentTitle: TLabel;
+ PopupMenu1: TPopupMenu;
+ EastonsBibleDictionary1: TMenuItem;
+ VinesBibleDictionary1: TMenuItem;
+ procedure FormCreate(Sender: TObject);
+ procedure FileExit(Sender: TObject);
+ procedure Lookup(Sender: TObject);
+ procedure About(Sender: TObject);
+ procedure ShowHint(Sender: TObject);
+ procedure EastonsBibleDictionary1Click(Sender: TObject);
+ procedure TextBoxEnter(Sender: TObject);
+ procedure VinesBibleDictionary1Click(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ private
+ curedit: TRichEdit;
+ commonkey: integer;
+ webster: integer;
+ mhc: longint;
+ eastons: longint;
+ vines: longint;
+ FFileName: String;
+ public
+ { Public declarations }
+ end;
+
+var
+ SwordAppForm: TSwordAppForm;
+
+implementation
+
+uses SwordAPI, SysUtils, Mapi, About;
+
+{$R *.DFM}
+
+procedure TSwordAppForm.FormCreate(Sender: TObject);
+var
+ params: paramt;
+ s1, s2, s3, s4: AnsiString;
+ buf:PChar;
+ book: integer;
+begin
+ Application.OnHint := ShowHint;
+
+ commonkey := NewKey('VerseKey');
+ GetMem(buf, 255);
+ KeySetText(commonkey, 'Genesis 1:1');
+ while (KeyError(commonkey) = 0) do
+ begin
+ KeyGetText(commonkey, buf, 254);
+ s4 := strpas(buf);
+ SetLength(s4, Length(s4) - 4);
+ BookCB.Items.Add(s4);
+ book := VerseKeyGetBook(commonkey);
+ book := book + 1;
+ VerseKeySetBook(commonkey, book);
+ end;
+ FreeMem(buf, 255);
+
+ s1 := 'Webster';
+ s2 := '../../../../modules/texts/rawtext/webster/';
+ s3 := 'Webster Text';
+ params.name := PChar(s1);
+ params.path := PChar(s2);
+ params.disc := PChar(s3);
+ webster := NewModule('RawText', @params);
+
+
+ params.name := 'MHC';
+ params.path := '../../../../modules/comments/rawcom/mhc/';
+ params.disc := 'Matthew Henry''''s Commentary';
+ mhc := NewModule('RawCom', @params);
+
+ KeySetPersist(commonkey, 1);
+ ModSetKeyKey(mhc, commonkey);
+ ModSetKeyKey(webster, commonkey);
+
+ params.name := 'Eastons';
+ params.path := '../../../../modules/lexdict/rawld/eastons/eastons';
+ params.disc := 'Easton''''s Bible Dictionary';
+ eastons := NewModule('RawLD', @params);
+
+ params.path := '../../../../modules/lexdict/rawld/vines/vines';
+ params.name := 'Vines';
+ params.disc := 'Vine''''s Bible Dictionary';
+ vines := NewModule('RawLD', @params);
+end;
+
+
+procedure TSwordAppForm.FormClose(Sender: TObject;
+ var Action: TCloseAction);
+begin
+ DeleteModule(webster);
+ DeleteModule(mhc);
+ DeleteModule(eastons);
+ DeleteModule(vines);
+ DeleteKey(commonkey);
+end;
+
+
+procedure TSwordAppForm.FileExit(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TSwordAppForm.Lookup(Sender: TObject);
+var
+ Buffer: PChar;
+ s1: AnsiString;
+ hkey: integer;
+begin
+ s1 := BookCB.Text + ' ' + CHBox.Text + ':' + VSBox.Text;
+ if ((StrToInt(CHBox.Text) = 0) or (StrToInt(VSBox.Text) = 0)) then
+ VerseKeySetAutoNormalize(commonkey, 0);
+
+ KeySetText(commonkey, PChar(s1));
+
+ GetMem(Buffer, 4096); {Creates Buffer dynamic variable}
+ KeyGetText(commonkey, Buffer, 4095);
+ TextKeyText.Caption := StrPas(Buffer); {Converts Buffer to a Pascal-style string}
+ ModGetText(webster, Buffer, 4095);
+ TextBox.Text := StrPas(Buffer); {Converts Buffer to a Pascal-style string}
+ ModGetText(mhc, Buffer, 4095);
+ CommentBox.Text := StrPas(Buffer); {Converts Buffer to a Pascal-style string}
+ FreeMem(Buffer, 4096); {Frees memory allocated to Buffer}
+
+ VerseKeySetAutoNormalize(commonkey, 1);
+end;
+
+procedure TSwordAppForm.About(Sender: TObject);
+begin
+ AboutBox.ShowModal;
+end;
+
+procedure TSwordAppForm.ShowHint(Sender: TObject);
+begin
+ StatusBar.SimpleText := Application.Hint;
+end;
+
+procedure TSwordAppForm.EastonsBibleDictionary1Click(Sender: TObject);
+var
+ s1 : AnsiString;
+ Buffer: PChar;
+begin
+ s1 := Trim(curedit.SelText);
+ ModSetKeyText(eastons, PChar(s1));
+ GetMem(Buffer, 4096); {Creates Buffer dynamic variable}
+ ModGetText(eastons, Buffer, 4095);
+ LDBox.Text := StrPas(Buffer); {Converts Buffer to a Pascal-style string}
+ ModGetKeyText(eastons, Buffer, 4095);
+ LDKeyText.Caption := StrPas(Buffer); {Converts Buffer to a Pascal-style string}
+ LDTitle.Caption := 'Easton''s Bible Dictionary';
+ FreeMem(Buffer, 4096);
+end;
+
+procedure TSwordAppForm.TextBoxEnter(Sender: TObject);
+begin
+ curedit := TRichEdit(Sender);
+end;
+
+procedure TSwordAppForm.VinesBibleDictionary1Click(Sender: TObject);
+var
+ s1 : AnsiString;
+ Buffer: PChar;
+begin
+ s1 := Trim(curedit.SelText);
+ ModSetKeyText(vines, PChar(s1));
+ GetMem(Buffer, 4096); {Creates Buffer dynamic variable}
+ ModGetText(vines, Buffer, 4095);
+ LDBox.Text := StrPas(Buffer); {Converts Buffer to a Pascal-style string}
+ ModGetKeyText(vines, Buffer, 4095);
+ LDKeyText.Caption := StrPas(Buffer); {Converts Buffer to a Pascal-style string}
+ LDTitle.Caption := 'Vines''s Bible Dictionary';
+ FreeMem(Buffer, 4096);
+
+end;
+
+end.
+
diff --git a/examples/windoze/delphi20/multimo1/Multimod.ico b/examples/windoze/delphi20/multimo1/Multimod.ico
new file mode 100644
index 0000000..e2a7458
--- /dev/null
+++ b/examples/windoze/delphi20/multimo1/Multimod.ico
Binary files differ
diff --git a/examples/windoze/delphi20/multimo1/about.dfm b/examples/windoze/delphi20/multimo1/about.dfm
new file mode 100644
index 0000000..613bc00
--- /dev/null
+++ b/examples/windoze/delphi20/multimo1/about.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo1/about.pas b/examples/windoze/delphi20/multimo1/about.pas
new file mode 100644
index 0000000..44a8a55
--- /dev/null
+++ b/examples/windoze/delphi20/multimo1/about.pas
@@ -0,0 +1,31 @@
+unit About;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, StdCtrls,
+ Buttons, ExtCtrls;
+
+type
+ TAboutBox = class(TForm)
+ Panel1: TPanel;
+ OKButton: TButton;
+ ProgramIcon: TImage;
+ ProductName: TLabel;
+ Version: TLabel;
+ Copyright: TLabel;
+ Comments: TLabel;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ AboutBox: TAboutBox;
+
+implementation
+
+{$R *.DFM}
+
+end.
+
diff --git a/examples/windoze/delphi20/multimo1/multimod.dpr b/examples/windoze/delphi20/multimo1/multimod.dpr
new file mode 100644
index 0000000..33d0684
--- /dev/null
+++ b/examples/windoze/delphi20/multimo1/multimod.dpr
@@ -0,0 +1,15 @@
+program MultiMod;
+
+uses
+ Forms,
+ LogoMain in 'LogoMain.pas' {SwordAppForm},
+ About in 'ABOUT.PAS' {AboutBox};
+
+{$R *.RES}
+
+begin
+ Application.CreateForm(TSwordAppForm, SwordAppForm);
+ Application.CreateForm(TAboutBox, AboutBox);
+ Application.Run;
+end.
+ \ No newline at end of file
diff --git a/examples/windoze/delphi20/multimo2/LogoMain.dfm b/examples/windoze/delphi20/multimo2/LogoMain.dfm
new file mode 100644
index 0000000..c30e38f
--- /dev/null
+++ b/examples/windoze/delphi20/multimo2/LogoMain.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo2/LogoMain.pas b/examples/windoze/delphi20/multimo2/LogoMain.pas
new file mode 100644
index 0000000..1d6b840
--- /dev/null
+++ b/examples/windoze/delphi20/multimo2/LogoMain.pas
@@ -0,0 +1,151 @@
+unit LogoMain;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, Menus,
+ Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, Grids, DBGrids, swmodule;
+
+type
+ TSwordAppForm = class(TForm)
+ MainMenu: TMainMenu;
+ FileMenu: TMenuItem;
+ FileExitItem: TMenuItem;
+ Help1: TMenuItem;
+ AboutItem: TMenuItem;
+ SpeedPanel: TPanel;
+ ExitBtn: TSpeedButton;
+ StatusBar: TStatusBar;
+ TextBox: TRichEdit;
+ CommentBox: TRichEdit;
+ BookCB: TComboBox;
+ CHBox: TEdit;
+ VSBox: TEdit;
+ Label1: TLabel;
+ LookupBtn: TSpeedButton;
+ TextKeyText: TLabel;
+ LDBox: TRichEdit;
+ LDTitle: TLabel;
+ Label2: TLabel;
+ LDKeyText: TLabel;
+ TextTitle: TLabel;
+ CommentTitle: TLabel;
+ PopupMenu1: TPopupMenu;
+ EastonsBibleDictionary1: TMenuItem;
+ VinesBibleDictionary1: TMenuItem;
+ Webster: TSWModule;
+ MHC: TSWModule;
+ Eastons: TSWModule;
+ Vines: TSWModule;
+ procedure FormCreate(Sender: TObject);
+ procedure FileExit(Sender: TObject);
+ procedure Lookup(Sender: TObject);
+ procedure About(Sender: TObject);
+ procedure ShowHint(Sender: TObject);
+ procedure EastonsBibleDictionary1Click(Sender: TObject);
+ procedure TextBoxEnter(Sender: TObject);
+ procedure VinesBibleDictionary1Click(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ private
+ curedit: TRichEdit;
+ commonkey: integer;
+ FFileName: String;
+ public
+ { Public declarations }
+ end;
+
+var
+ SwordAppForm: TSwordAppForm;
+
+implementation
+
+uses SwordAPI, SysUtils, Mapi, About;
+
+{$R *.DFM}
+procedure TSwordAppForm.FormCreate(Sender: TObject);
+var
+ buf: PChar;
+ book: integer;
+ s1: AnsiString;
+begin
+ Application.OnHint := ShowHint;
+
+ commonkey := NewKey('VerseKey');
+ GetMem(buf, 255);
+ KeySetText(commonkey, 'Genesis 1:1');
+ while (KeyError(commonkey) = 0) do
+ begin
+ KeyGetText(commonkey, buf, 254);
+ s1 := strpas(buf);
+ SetLength(s1, Length(s1) - 4);
+ BookCB.Items.Add(s1);
+ book := VerseKeyGetBook(commonkey);
+ book := book + 1;
+ VerseKeySetBook(commonkey, book);
+ end;
+ FreeMem(buf, 255);
+
+ KeySetPersist(commonkey, 1);
+ ModSetKeyKey(MHC.SWHandle, commonkey);
+ ModSetKeyKey(Webster.SWHandle, commonkey);
+end;
+
+
+procedure TSwordAppForm.FormClose(Sender: TObject;
+ var Action: TCloseAction);
+begin
+ DeleteKey(commonkey);
+end;
+
+
+procedure TSwordAppForm.FileExit(Sender: TObject);
+begin
+ Close;
+end;
+
+
+procedure TSwordAppForm.Lookup(Sender: TObject);
+begin
+ if ((StrToInt(CHBox.Text) = 0) or (StrToInt(VSBox.Text) = 0)) then
+ VerseKeySetAutoNormalize(commonkey, 0);
+
+ Webster.Key.Text := BookCB.Text + ' ' + CHBox.Text + ':' + VSBox.Text;
+ TextKeyText.Caption := Webster.Key.Text;
+ TextBox.Text := Webster.Text;
+ CommentBox.Text := MHC.Text;
+
+ VerseKeySetAutoNormalize(commonkey, 1);
+end;
+
+procedure TSwordAppForm.About(Sender: TObject);
+begin
+ AboutBox.ShowModal;
+end;
+
+procedure TSwordAppForm.ShowHint(Sender: TObject);
+begin
+ StatusBar.SimpleText := Application.Hint;
+end;
+
+procedure TSwordAppForm.EastonsBibleDictionary1Click(Sender: TObject);
+begin
+ Eastons.KeyText := Trim(curedit.SelText); { we use .KeyText instead of Key.Text because we don't care about accessing the actual key in Eastons (in fact, it may even not be allocated yet). We just want to set Eastons with the text and let Eastons worry about allocating keys.}
+ LDBox.Text := Eastons.Text;
+ LDKeyText.Caption := Eastons.KeyText;
+ LDTitle.Caption := Eastons.Description;
+end;
+
+procedure TSwordAppForm.TextBoxEnter(Sender: TObject);
+begin
+ curedit := TRichEdit(Sender);
+end;
+
+procedure TSwordAppForm.VinesBibleDictionary1Click(Sender: TObject);
+begin
+ Vines.KeyText := Trim(curedit.SelText); { we use .KeyText instead of Key.Text because we don't care about accessing the actual key in Eastons (in fact, it may even not be allocated yet). We just want to set Eastons with the text and let Eastons worry about allocating keys.}
+ LDBox.Text := Vines.Text;
+ LDKeyText.Caption := Vines.KeyText;
+ LDTitle.Caption := Vines.Description;
+end;
+
+end.
+
diff --git a/examples/windoze/delphi20/multimo2/Multimod.ico b/examples/windoze/delphi20/multimo2/Multimod.ico
new file mode 100644
index 0000000..e2a7458
--- /dev/null
+++ b/examples/windoze/delphi20/multimo2/Multimod.ico
Binary files differ
diff --git a/examples/windoze/delphi20/multimo2/about.dfm b/examples/windoze/delphi20/multimo2/about.dfm
new file mode 100644
index 0000000..613bc00
--- /dev/null
+++ b/examples/windoze/delphi20/multimo2/about.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo2/about.pas b/examples/windoze/delphi20/multimo2/about.pas
new file mode 100644
index 0000000..44a8a55
--- /dev/null
+++ b/examples/windoze/delphi20/multimo2/about.pas
@@ -0,0 +1,31 @@
+unit About;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, StdCtrls,
+ Buttons, ExtCtrls;
+
+type
+ TAboutBox = class(TForm)
+ Panel1: TPanel;
+ OKButton: TButton;
+ ProgramIcon: TImage;
+ ProductName: TLabel;
+ Version: TLabel;
+ Copyright: TLabel;
+ Comments: TLabel;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ AboutBox: TAboutBox;
+
+implementation
+
+{$R *.DFM}
+
+end.
+
diff --git a/examples/windoze/delphi20/multimo2/multimod.dpr b/examples/windoze/delphi20/multimo2/multimod.dpr
new file mode 100644
index 0000000..33d0684
--- /dev/null
+++ b/examples/windoze/delphi20/multimo2/multimod.dpr
@@ -0,0 +1,15 @@
+program MultiMod;
+
+uses
+ Forms,
+ LogoMain in 'LogoMain.pas' {SwordAppForm},
+ About in 'ABOUT.PAS' {AboutBox};
+
+{$R *.RES}
+
+begin
+ Application.CreateForm(TSwordAppForm, SwordAppForm);
+ Application.CreateForm(TAboutBox, AboutBox);
+ Application.Run;
+end.
+ \ No newline at end of file
diff --git a/examples/windoze/delphi20/multimo3/LogoMain.dfm b/examples/windoze/delphi20/multimo3/LogoMain.dfm
new file mode 100644
index 0000000..5ca5da8
--- /dev/null
+++ b/examples/windoze/delphi20/multimo3/LogoMain.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo3/LogoMain.pas b/examples/windoze/delphi20/multimo3/LogoMain.pas
new file mode 100644
index 0000000..d7545a4
--- /dev/null
+++ b/examples/windoze/delphi20/multimo3/LogoMain.pas
@@ -0,0 +1,166 @@
+unit LogoMain;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, Menus,
+ Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, Grids, DBGrids, swmodule,
+ swkey, swvskey;
+
+type
+ TSwordAppForm = class(TForm)
+ MainMenu: TMainMenu;
+ FileMenu: TMenuItem;
+ FileExitItem: TMenuItem;
+ Help1: TMenuItem;
+ AboutItem: TMenuItem;
+ SpeedPanel: TPanel;
+ ExitBtn: TSpeedButton;
+ StatusBar: TStatusBar;
+ TextBox: TRichEdit;
+ CommentBox: TRichEdit;
+ BookCB: TComboBox;
+ CHBox: TEdit;
+ VSBox: TEdit;
+ Label1: TLabel;
+ LookupBtn: TSpeedButton;
+ TextKeyText: TLabel;
+ LDBox: TRichEdit;
+ LDTitle: TLabel;
+ Label2: TLabel;
+ LDKeyText: TLabel;
+ TextTitle: TLabel;
+ CommentTitle: TLabel;
+ PopupMenu1: TPopupMenu;
+ EastonsBibleDictionary1: TMenuItem;
+ VinesBibleDictionary1: TMenuItem;
+ Webster: TSWModule;
+ MHC: TSWModule;
+ Eastons: TSWModule;
+ Vines: TSWModule;
+ CommonKey: TSWVerseKey;
+ Button1: TButton;
+ Button2: TButton;
+ DblClkWordRtClkMouse1: TMenuItem;
+ Search1: TMenuItem;
+ NewSearchWindow1: TMenuItem;
+ procedure FormCreate(Sender: TObject);
+ procedure FileExit(Sender: TObject);
+ procedure Lookup(Sender: TObject);
+ procedure About(Sender: TObject);
+ procedure ShowHint(Sender: TObject);
+ procedure EastonsBibleDictionary1Click(Sender: TObject);
+ procedure TextBoxEnter(Sender: TObject);
+ procedure VinesBibleDictionary1Click(Sender: TObject);
+ procedure Button1Click(Sender: TObject);
+ procedure Button2Click(Sender: TObject);
+ procedure NewSearchWindow1Click(Sender: TObject);
+ private
+ curedit: TRichEdit;
+ public
+ { Public declarations }
+ end;
+
+var
+ SwordAppForm: TSwordAppForm;
+
+implementation
+
+uses SysUtils, Mapi, About, searchdlg;
+
+{$R *.DFM}
+procedure TSwordAppForm.FormCreate(Sender: TObject);
+var
+ s1: string;
+begin
+ Application.OnHint := ShowHint;
+
+ CommonKey.Text := 'Genesis 1:1';
+ while (CommonKey.Error = 0) do
+ begin
+ s1 := CommonKey.Text;
+ SetLength(s1, (Length(s1) - 4));
+ BookCB.Items.Add(s1);
+ CommonKey.Book := CommonKey.Book + 1;
+ end;
+end;
+
+
+procedure TSwordAppForm.FileExit(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TSwordAppForm.Lookup(Sender: TObject);
+var
+ Buffer: PChar;
+ s1: AnsiString;
+ hkey: integer;
+begin
+ if ((StrToInt(CHBox.Text) = 0) or (StrToInt(VSBox.Text) = 0)) then
+ CommonKey.AutoNormalize := false;
+
+ CommonKey.Text := BookCB.Text + ' ' + CHBox.Text + ':' + VSBox.Text;
+ TextKeyText.Caption := CommonKey.Text;
+ TextBox.Text := Webster.Text;
+ CommentBox.Text := MHC.Text;
+
+ CommonKey.AutoNormalize := true;
+end;
+
+procedure TSwordAppForm.About(Sender: TObject);
+begin
+ AboutBox.ShowModal;
+end;
+
+procedure TSwordAppForm.ShowHint(Sender: TObject);
+begin
+ StatusBar.SimpleText := Application.Hint;
+end;
+
+procedure TSwordAppForm.EastonsBibleDictionary1Click(Sender: TObject);
+begin
+ Eastons.KeyText := Trim(curedit.SelText); { we use .KeyText instead of Key.Text because we don't care about accessing the actual key in Eastons (in fact, it may even not be allocated yet). We just want to set Eastons with the text and let Eastons worry about allocating keys.}
+ LDBox.Text := Eastons.Text;
+ LDKeyText.Caption := Eastons.KeyText;
+ LDTitle.Caption := Eastons.Description;
+end;
+
+procedure TSwordAppForm.TextBoxEnter(Sender: TObject);
+begin
+ curedit := TRichEdit(Sender);
+end;
+
+procedure TSwordAppForm.VinesBibleDictionary1Click(Sender: TObject);
+begin
+ Vines.KeyText := Trim(curedit.SelText); { we use .KeyText instead of Key.Text because we don't care about accessing the actual key in Eastons (in fact, it may even not be allocated yet). We just want to set Eastons with the text and let Eastons worry about allocating keys.}
+ LDBox.Text := Vines.Text;
+ LDKeyText.Caption := Vines.KeyText;
+ LDTitle.Caption := Vines.Description;
+end;
+
+procedure TSwordAppForm.Button1Click(Sender: TObject);
+begin
+ CommonKey.Dec;
+ TextKeyText.Caption := CommonKey.Text;
+ TextBox.Text := Webster.Text;
+ CommentBox.Text := MHC.Text;
+
+end;
+
+procedure TSwordAppForm.Button2Click(Sender: TObject);
+begin
+ CommonKey.Inc;
+ TextKeyText.Caption := CommonKey.Text;
+ TextBox.Text := Webster.Text;
+ CommentBox.Text := MHC.Text;
+
+
+end;
+
+procedure TSwordAppForm.NewSearchWindow1Click(Sender: TObject);
+begin
+ SearchForm.Show;
+end;
+
+end.
+
diff --git a/examples/windoze/delphi20/multimo3/about.dfm b/examples/windoze/delphi20/multimo3/about.dfm
new file mode 100644
index 0000000..16013ec
--- /dev/null
+++ b/examples/windoze/delphi20/multimo3/about.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo3/about.pas b/examples/windoze/delphi20/multimo3/about.pas
new file mode 100644
index 0000000..44a8a55
--- /dev/null
+++ b/examples/windoze/delphi20/multimo3/about.pas
@@ -0,0 +1,31 @@
+unit About;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, StdCtrls,
+ Buttons, ExtCtrls;
+
+type
+ TAboutBox = class(TForm)
+ Panel1: TPanel;
+ OKButton: TButton;
+ ProgramIcon: TImage;
+ ProductName: TLabel;
+ Version: TLabel;
+ Copyright: TLabel;
+ Comments: TLabel;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ AboutBox: TAboutBox;
+
+implementation
+
+{$R *.DFM}
+
+end.
+
diff --git a/examples/windoze/delphi20/multimo3/multimod.dpr b/examples/windoze/delphi20/multimo3/multimod.dpr
new file mode 100644
index 0000000..6060337
--- /dev/null
+++ b/examples/windoze/delphi20/multimo3/multimod.dpr
@@ -0,0 +1,18 @@
+program MultiMod;
+
+uses
+ Forms,
+ LogoMain in 'LogoMain.pas' {SwordAppForm},
+ About in 'ABOUT.PAS' {AboutBox},
+ searchdlg in 'searchdlg.pas' {SearchForm};
+
+{$R *.RES}
+
+begin
+ Application.Title := 'The SWORD Project';
+ Application.CreateForm(TSwordAppForm, SwordAppForm);
+ Application.CreateForm(TAboutBox, AboutBox);
+ Application.CreateForm(TSearchForm, SearchForm);
+ Application.Run;
+end.
+ \ No newline at end of file
diff --git a/examples/windoze/delphi20/multimo3/searchdlg.dfm b/examples/windoze/delphi20/multimo3/searchdlg.dfm
new file mode 100644
index 0000000..dca8382
--- /dev/null
+++ b/examples/windoze/delphi20/multimo3/searchdlg.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo3/searchdlg.pas b/examples/windoze/delphi20/multimo3/searchdlg.pas
new file mode 100644
index 0000000..7a8144d
--- /dev/null
+++ b/examples/windoze/delphi20/multimo3/searchdlg.pas
@@ -0,0 +1,35 @@
+unit searchdlg;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
+ StdCtrls;
+
+type
+ TSearchForm = class(TForm)
+ Edit1: TEdit;
+ Button1: TButton;
+ Button2: TButton;
+ ListBox1: TListBox;
+ Label1: TLabel;
+ procedure Button2Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ SearchForm: TSearchForm;
+
+implementation
+
+{$R *.DFM}
+
+procedure TSearchForm.Button2Click(Sender: TObject);
+begin
+ Close;
+end;
+
+end.
diff --git a/examples/windoze/delphi20/multimo4/LogoMain.dfm b/examples/windoze/delphi20/multimo4/LogoMain.dfm
new file mode 100644
index 0000000..466ea20
--- /dev/null
+++ b/examples/windoze/delphi20/multimo4/LogoMain.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo4/LogoMain.pas b/examples/windoze/delphi20/multimo4/LogoMain.pas
new file mode 100644
index 0000000..0803d43
--- /dev/null
+++ b/examples/windoze/delphi20/multimo4/LogoMain.pas
@@ -0,0 +1,171 @@
+unit LogoMain;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, Menus,
+ Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, Grids, DBGrids, swmodule,
+ swkey, swvskey, swtxtdsp;
+
+type
+ TSwordAppForm = class(TForm)
+ MainMenu: TMainMenu;
+ FileMenu: TMenuItem;
+ FileExitItem: TMenuItem;
+ Help1: TMenuItem;
+ AboutItem: TMenuItem;
+ pnlToolbar: TPanel;
+ StatusBar: TStatusBar;
+ BookCB: TComboBox;
+ CHBox: TEdit;
+ VSBox: TEdit;
+ Label1: TLabel;
+ btnLookup: TSpeedButton;
+ lblTextKeyText: TLabel;
+ PopupMenu1: TPopupMenu;
+ EastonsBibleDictionary1: TMenuItem;
+ VinesBibleDictionary1: TMenuItem;
+ mrtWebster: TSWModule;
+ mrcMHC: TSWModule;
+ mrldEastons: TSWModule;
+ mrldVines: TSWModule;
+ vkCommonKey: TSWVerseKey;
+ DblClkWordRtClkMouse1: TMenuItem;
+ Search1: TMenuItem;
+ NewSearchWindow1: TMenuItem;
+ Bevel1: TBevel;
+ pnlMain: TPanel;
+ pnlText: TPanel;
+ lblTextTitle: TLabel;
+ pnlCommentary: TPanel;
+ lblCommentTitle: TLabel;
+ edCommentBox: TRichEdit;
+ pnlVSplitter: TPanel;
+ pnlHSplitter: TPanel;
+ pnlDictionary: TPanel;
+ edLDBox: TRichEdit;
+ pnlDcitionaryTitle: TPanel;
+ Label2: TLabel;
+ lblLDTitle: TLabel;
+ btnPreviousVerse: TButton;
+ btnNextVerse: TButton;
+ lblLDKeyText: TLabel;
+ edTextBox: TSWTextDisp;
+ procedure FormCreate(Sender: TObject);
+ procedure FileExit(Sender: TObject);
+ procedure Lookup(Sender: TObject);
+ procedure About(Sender: TObject);
+ procedure ShowHint(Sender: TObject);
+ procedure EastonsBibleDictionary1Click(Sender: TObject);
+ procedure edTextBoxEnter(Sender: TObject);
+ procedure VinesBibleDictionary1Click(Sender: TObject);
+ procedure btnPreviousVerseClick(Sender: TObject);
+ procedure btnNextVerseClick(Sender: TObject);
+ procedure NewSearchWindow1Click(Sender: TObject);
+ private
+ curedit: TRichEdit;
+ public
+ { Public declarations }
+ end;
+
+var
+ SwordAppForm: TSwordAppForm;
+
+implementation
+
+uses SysUtils, Mapi, About, searchdlg;
+
+{$R *.DFM}
+procedure TSwordAppForm.FormCreate(Sender: TObject);
+var
+ s1: string;
+begin
+ Application.OnHint := ShowHint;
+
+ vkCommonKey.Text := 'Genesis 1:1';
+ while (vkCommonKey.Error = 0) do
+ begin
+ s1 := vkCommonKey.Text;
+ SetLength(s1, (Length(s1) - 4));
+ BookCB.Items.Add(s1);
+ vkCommonKey.Book := vkCommonKey.Book + 1;
+ end;
+end;
+
+
+procedure TSwordAppForm.FileExit(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TSwordAppForm.Lookup(Sender: TObject);
+var
+ Buffer: PChar;
+ s1: AnsiString;
+ hkey: integer;
+begin
+ if ((StrToInt(CHBox.Text) = 0) or (StrToInt(VSBox.Text) = 0)) then
+ vkCommonKey.AutoNormalize := false;
+
+ vkCommonKey.Text := BookCB.Text + ' ' + CHBox.Text + ':' + VSBox.Text;
+ lblTextKeyText.Caption := vkCommonKey.Text;
+ edTextBox.Display;
+ edCommentBox.Text := mrcMHC.Text;
+
+ vkCommonKey.AutoNormalize := true;
+end;
+
+procedure TSwordAppForm.About(Sender: TObject);
+begin
+ AboutBox.ShowModal;
+end;
+
+procedure TSwordAppForm.ShowHint(Sender: TObject);
+begin
+ StatusBar.SimpleText := Application.Hint;
+end;
+
+procedure TSwordAppForm.EastonsBibleDictionary1Click(Sender: TObject);
+begin
+ mrldEastons.KeyText := Trim(curedit.SelText); { we use .KeyText instead of Key.Text because we don't care about accessing the actual key in Eastons (in fact, it may even not be allocated yet). We just want to set Eastons with the text and let Eastons worry about allocating keys.}
+ edLDBox.Text := mrldEastons.Text;
+ lblLDKeyText.Caption := mrldEastons.KeyText;
+ lblLDTitle.Caption := mrldEastons.Description;
+end;
+
+procedure TSwordAppForm.edTextBoxEnter(Sender: TObject);
+begin
+ curedit := TRichEdit(Sender);
+end;
+
+procedure TSwordAppForm.VinesBibleDictionary1Click(Sender: TObject);
+begin
+ mrldVines.KeyText := Trim(curedit.SelText); { we use .KeyText instead of Key.Text because we don't care about accessing the actual key in Vines (in fact, it may even not be allocated yet). We just want to set Vines with the text and let Vines worry about allocating keys.}
+ edLDBox.Text := mrldVines.Text;
+ lblLDKeyText.Caption := mrldVines.KeyText;
+ lblLDTitle.Caption := mrldVines.Description;
+end;
+
+procedure TSwordAppForm.btnPreviousVerseClick(Sender: TObject);
+begin
+ vkCommonKey.Dec;
+ lblTextKeyText.Caption := vkCommonKey.Text;
+ edTextBox.Display;
+ edCommentBox.Text := mrcMHC.Text;
+end;
+
+procedure TSwordAppForm.btnNextVerseClick(Sender: TObject);
+begin
+ vkCommonKey.Inc;
+ lblTextKeyText.Caption := vkCommonKey.Text;
+ edTextBox.Display;
+ edCommentBox.Text := mrcMHC.Text;
+end;
+
+procedure TSwordAppForm.NewSearchWindow1Click(Sender: TObject);
+begin
+ SearchForm := TSearchForm.Create(Self);
+ SearchForm.Show;
+end;
+
+end.
+
diff --git a/examples/windoze/delphi20/multimo4/Multimod.dpr b/examples/windoze/delphi20/multimo4/Multimod.dpr
new file mode 100644
index 0000000..be232ac
--- /dev/null
+++ b/examples/windoze/delphi20/multimo4/Multimod.dpr
@@ -0,0 +1,17 @@
+program MultiMod;
+
+uses
+ Forms,
+ LogoMain in 'LogoMain.pas' {SwordAppForm},
+ About in 'ABOUT.PAS' {AboutBox},
+ Searchdlg in 'Searchdlg.pas' {SearchForm};
+
+{$R *.RES}
+
+begin
+ Application.Title := 'The SWORD Project';
+ Application.CreateForm(TSwordAppForm, SwordAppForm);
+ Application.CreateForm(TAboutBox, AboutBox);
+// Application.CreateForm(TSearchForm, SearchForm);
+ Application.Run;
+end.
diff --git a/examples/windoze/delphi20/multimo4/Searchdlg.dfm b/examples/windoze/delphi20/multimo4/Searchdlg.dfm
new file mode 100644
index 0000000..6b8b7a8
--- /dev/null
+++ b/examples/windoze/delphi20/multimo4/Searchdlg.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo4/Searchdlg.pas b/examples/windoze/delphi20/multimo4/Searchdlg.pas
new file mode 100644
index 0000000..1cf83fc
--- /dev/null
+++ b/examples/windoze/delphi20/multimo4/Searchdlg.pas
@@ -0,0 +1,60 @@
+unit searchdlg;
+
+interface
+
+uses
+ SWKey, Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
+ StdCtrls;
+
+type
+ TSearchForm = class(TForm)
+ Edit1: TEdit;
+ Button1: TButton;
+ Button2: TButton;
+ ListBox1: TListBox;
+ Label1: TLabel;
+ procedure Button2Click(Sender: TObject);
+ procedure Button1Click(Sender: TObject);
+ procedure ListBox1DblClick(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ SearchForm: TSearchForm;
+
+implementation
+
+uses LogoMain;
+
+{$R *.DFM}
+
+procedure TSearchForm.Button2Click(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TSearchForm.Button1Click(Sender: TObject);
+var
+ results:TSWKey;
+begin
+ ListBox1.Clear;
+ results := SwordAppForm.mrtWebster.Search(PChar(Edit1.Text));
+ while (results.Error = 0) do
+ begin
+ ListBox1.Items.Add(results.text);
+ results.Inc;
+ end;
+end;
+
+procedure TSearchForm.ListBox1DblClick(Sender: TObject);
+begin
+ SwordAppForm.vkcommonkey.text := ListBox1.items[listbox1.itemindex];
+ SwordAppForm.lblTextKeyText.Caption := SwordAppForm.vkCommonKey.Text;
+ SwordAppForm.edTextBox.Display;
+ SwordAppForm.edCommentBox.Text := SwordAppForm.mrcMHC.Text;
+end;
+
+end.
diff --git a/examples/windoze/delphi20/multimo4/about.dfm b/examples/windoze/delphi20/multimo4/about.dfm
new file mode 100644
index 0000000..16013ec
--- /dev/null
+++ b/examples/windoze/delphi20/multimo4/about.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/multimo4/about.pas b/examples/windoze/delphi20/multimo4/about.pas
new file mode 100644
index 0000000..44a8a55
--- /dev/null
+++ b/examples/windoze/delphi20/multimo4/about.pas
@@ -0,0 +1,31 @@
+unit About;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, StdCtrls,
+ Buttons, ExtCtrls;
+
+type
+ TAboutBox = class(TForm)
+ Panel1: TPanel;
+ OKButton: TButton;
+ ProgramIcon: TImage;
+ ProductName: TLabel;
+ Version: TLabel;
+ Copyright: TLabel;
+ Comments: TLabel;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ AboutBox: TAboutBox;
+
+implementation
+
+{$R *.DFM}
+
+end.
+
diff --git a/examples/windoze/delphi20/svertf/LogoMain.dfm b/examples/windoze/delphi20/svertf/LogoMain.dfm
new file mode 100644
index 0000000..4cc49ef
--- /dev/null
+++ b/examples/windoze/delphi20/svertf/LogoMain.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/svertf/LogoMain.pas b/examples/windoze/delphi20/svertf/LogoMain.pas
new file mode 100644
index 0000000..78ec426
--- /dev/null
+++ b/examples/windoze/delphi20/svertf/LogoMain.pas
@@ -0,0 +1,170 @@
+unit LogoMain;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, Menus,
+ Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, Grids, DBGrids, swmodule,
+ swkey, swvskey, swtxtdsp;
+
+type
+ TSwordAppForm = class(TForm)
+ MainMenu: TMainMenu;
+ FileMenu: TMenuItem;
+ FileExitItem: TMenuItem;
+ Help1: TMenuItem;
+ AboutItem: TMenuItem;
+ pnlToolbar: TPanel;
+ StatusBar: TStatusBar;
+ BookCB: TComboBox;
+ CHBox: TEdit;
+ VSBox: TEdit;
+ Label1: TLabel;
+ btnLookup: TSpeedButton;
+ lblTextKeyText: TLabel;
+ PopupMenu1: TPopupMenu;
+ EastonsBibleDictionary1: TMenuItem;
+ VinesBibleDictionary1: TMenuItem;
+ mrtWebster: TSWModule;
+ mrcMHC: TSWModule;
+ mrldEastons: TSWModule;
+ mrldVines: TSWModule;
+ vkCommonKey: TSWVerseKey;
+ DblClkWordRtClkMouse1: TMenuItem;
+ Search1: TMenuItem;
+ NewSearchWindow1: TMenuItem;
+ Bevel1: TBevel;
+ pnlMain: TPanel;
+ pnlText: TPanel;
+ lblTextTitle: TLabel;
+ pnlCommentary: TPanel;
+ lblCommentTitle: TLabel;
+ edCommentBox: TRichEdit;
+ pnlVSplitter: TPanel;
+ pnlHSplitter: TPanel;
+ pnlDictionary: TPanel;
+ edLDBox: TRichEdit;
+ pnlDcitionaryTitle: TPanel;
+ Label2: TLabel;
+ lblLDTitle: TLabel;
+ btnPreviousVerse: TButton;
+ btnNextVerse: TButton;
+ lblLDKeyText: TLabel;
+ edTextBox: TSWTextDisp;
+ procedure FormCreate(Sender: TObject);
+ procedure FileExit(Sender: TObject);
+ procedure Lookup(Sender: TObject);
+ procedure About(Sender: TObject);
+ procedure ShowHint(Sender: TObject);
+ procedure EastonsBibleDictionary1Click(Sender: TObject);
+ procedure edTextBoxEnter(Sender: TObject);
+ procedure VinesBibleDictionary1Click(Sender: TObject);
+ procedure btnPreviousVerseClick(Sender: TObject);
+ procedure btnNextVerseClick(Sender: TObject);
+ procedure NewSearchWindow1Click(Sender: TObject);
+ private
+ curedit: TRichEdit;
+ public
+ { Public declarations }
+ end;
+
+var
+ SwordAppForm: TSwordAppForm;
+
+implementation
+
+uses SysUtils, Mapi, About, searchdlg;
+
+{$R *.DFM}
+procedure TSwordAppForm.FormCreate(Sender: TObject);
+var
+ s1: string;
+begin
+ Application.OnHint := ShowHint;
+
+ vkCommonKey.Text := 'Genesis 1:1';
+ while (vkCommonKey.Error = 0) do
+ begin
+ s1 := vkCommonKey.Text;
+ SetLength(s1, (Length(s1) - 4));
+ BookCB.Items.Add(s1);
+ vkCommonKey.Book := vkCommonKey.Book + 1;
+ end;
+end;
+
+
+procedure TSwordAppForm.FileExit(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TSwordAppForm.Lookup(Sender: TObject);
+var
+ Buffer: PChar;
+ s1: AnsiString;
+ hkey: integer;
+begin
+ if ((StrToInt(CHBox.Text) = 0) or (StrToInt(VSBox.Text) = 0)) then
+ vkCommonKey.AutoNormalize := false;
+
+ vkCommonKey.Text := BookCB.Text + ' ' + CHBox.Text + ':' + VSBox.Text;
+ lblTextKeyText.Caption := vkCommonKey.Text;
+ edTextBox.Display;
+ edCommentBox.Text := mrcMHC.Text;
+
+ vkCommonKey.AutoNormalize := true;
+end;
+
+procedure TSwordAppForm.About(Sender: TObject);
+begin
+ AboutBox.ShowModal;
+end;
+
+procedure TSwordAppForm.ShowHint(Sender: TObject);
+begin
+ StatusBar.SimpleText := Application.Hint;
+end;
+
+procedure TSwordAppForm.EastonsBibleDictionary1Click(Sender: TObject);
+begin
+ mrldEastons.KeyText := Trim(curedit.SelText); { we use .KeyText instead of Key.Text because we don't care about accessing the actual key in Eastons (in fact, it may even not be allocated yet). We just want to set Eastons with the text and let Eastons worry about allocating keys.}
+ edLDBox.Text := mrldEastons.Text;
+ lblLDKeyText.Caption := mrldEastons.KeyText;
+ lblLDTitle.Caption := mrldEastons.Description;
+end;
+
+procedure TSwordAppForm.edTextBoxEnter(Sender: TObject);
+begin
+ curedit := TRichEdit(Sender);
+end;
+
+procedure TSwordAppForm.VinesBibleDictionary1Click(Sender: TObject);
+begin
+ mrldVines.KeyText := Trim(curedit.SelText); { we use .KeyText instead of Key.Text because we don't care about accessing the actual key in Vines (in fact, it may even not be allocated yet). We just want to set Vines with the text and let Vines worry about allocating keys.}
+ edLDBox.Text := mrldVines.Text;
+ lblLDKeyText.Caption := mrldVines.KeyText;
+ lblLDTitle.Caption := mrldVines.Description;
+end;
+
+procedure TSwordAppForm.btnPreviousVerseClick(Sender: TObject);
+begin
+ vkCommonKey.Dec;
+ lblTextKeyText.Caption := vkCommonKey.Text;
+ edTextBox.Display;
+ edCommentBox.Text := mrcMHC.Text;
+end;
+
+procedure TSwordAppForm.btnNextVerseClick(Sender: TObject);
+begin
+ vkCommonKey.Inc;
+ lblTextKeyText.Caption := vkCommonKey.Text;
+ edTextBox.Display;
+ edCommentBox.Text := mrcMHC.Text;
+end;
+
+procedure TSwordAppForm.NewSearchWindow1Click(Sender: TObject);
+begin
+ SearchForm.Show;
+end;
+
+end.
+
diff --git a/examples/windoze/delphi20/svertf/Multimod.dpr b/examples/windoze/delphi20/svertf/Multimod.dpr
new file mode 100644
index 0000000..d4986dc
--- /dev/null
+++ b/examples/windoze/delphi20/svertf/Multimod.dpr
@@ -0,0 +1,17 @@
+program MultiMod;
+
+uses
+ Forms,
+ LogoMain in 'LogoMain.pas' {SwordAppForm},
+ About in 'ABOUT.PAS' {AboutBox},
+ Searchdlg in 'Searchdlg.pas' {SearchForm};
+
+{$R *.RES}
+
+begin
+ Application.Title := 'The SWORD Project';
+ Application.CreateForm(TSwordAppForm, SwordAppForm);
+ Application.CreateForm(TAboutBox, AboutBox);
+ Application.CreateForm(TSearchForm, SearchForm);
+ Application.Run;
+end.
diff --git a/examples/windoze/delphi20/svertf/Searchdlg.dfm b/examples/windoze/delphi20/svertf/Searchdlg.dfm
new file mode 100644
index 0000000..a46702e
--- /dev/null
+++ b/examples/windoze/delphi20/svertf/Searchdlg.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/svertf/Searchdlg.pas b/examples/windoze/delphi20/svertf/Searchdlg.pas
new file mode 100644
index 0000000..0e8475f
--- /dev/null
+++ b/examples/windoze/delphi20/svertf/Searchdlg.pas
@@ -0,0 +1,59 @@
+unit searchdlg;
+
+interface
+
+uses
+ SWKey, Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
+ StdCtrls;
+
+type
+ TSearchForm = class(TForm)
+ Edit1: TEdit;
+ Button1: TButton;
+ Button2: TButton;
+ ListBox1: TListBox;
+ Label1: TLabel;
+ procedure Button2Click(Sender: TObject);
+ procedure Button1Click(Sender: TObject);
+ procedure ListBox1DblClick(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ SearchForm: TSearchForm;
+
+implementation
+
+uses LogoMain;
+
+{$R *.DFM}
+
+procedure TSearchForm.Button2Click(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TSearchForm.Button1Click(Sender: TObject);
+var
+ results:TSWKey;
+begin
+ results := SwordAppForm.mrtWebster.Search(PChar(Edit1.Text));
+ while (results.Error = 0) do
+ begin
+ ListBox1.Items.Add(results.text);
+ results.Inc;
+ end;
+end;
+
+procedure TSearchForm.ListBox1DblClick(Sender: TObject);
+begin
+ SwordAppForm.vkcommonkey.text := ListBox1.items[listbox1.itemindex];
+ SwordAppForm.lblTextKeyText.Caption := SwordAppForm.vkCommonKey.Text;
+ SwordAppForm.edTextBox.Display;
+ SwordAppForm.edCommentBox.Text := SwordAppForm.mrcMHC.Text;
+end;
+
+end.
diff --git a/examples/windoze/delphi20/svertf/about.dfm b/examples/windoze/delphi20/svertf/about.dfm
new file mode 100644
index 0000000..16013ec
--- /dev/null
+++ b/examples/windoze/delphi20/svertf/about.dfm
Binary files differ
diff --git a/examples/windoze/delphi20/svertf/about.pas b/examples/windoze/delphi20/svertf/about.pas
new file mode 100644
index 0000000..44a8a55
--- /dev/null
+++ b/examples/windoze/delphi20/svertf/about.pas
@@ -0,0 +1,31 @@
+unit About;
+
+interface
+
+uses Windows, Classes, Graphics, Forms, Controls, StdCtrls,
+ Buttons, ExtCtrls;
+
+type
+ TAboutBox = class(TForm)
+ Panel1: TPanel;
+ OKButton: TButton;
+ ProgramIcon: TImage;
+ ProductName: TLabel;
+ Version: TLabel;
+ Copyright: TLabel;
+ Comments: TLabel;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ AboutBox: TAboutBox;
+
+implementation
+
+{$R *.DFM}
+
+end.
+