diff options
author | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
---|---|---|
committer | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
commit | c9458897ebbb739d8db83c80e06512d8a612f743 (patch) | |
tree | f8c5381045887e34388cc6b26cfccc254bf766dc /examples/windoze/delphi20 | |
download | sword-sf-cvs-c9458897ebbb739d8db83c80e06512d8a612f743.tar.gz |
*** empty log message ***
Diffstat (limited to 'examples/windoze/delphi20')
33 files changed, 1262 insertions, 0 deletions
diff --git a/examples/windoze/delphi20/multimo1/LogoMain.dfm b/examples/windoze/delphi20/multimo1/LogoMain.dfm Binary files differnew file mode 100644 index 0000000..f57ec1c --- /dev/null +++ b/examples/windoze/delphi20/multimo1/LogoMain.dfm 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 Binary files differnew file mode 100644 index 0000000..e2a7458 --- /dev/null +++ b/examples/windoze/delphi20/multimo1/Multimod.ico diff --git a/examples/windoze/delphi20/multimo1/about.dfm b/examples/windoze/delphi20/multimo1/about.dfm Binary files differnew file mode 100644 index 0000000..613bc00 --- /dev/null +++ b/examples/windoze/delphi20/multimo1/about.dfm 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 Binary files differnew file mode 100644 index 0000000..c30e38f --- /dev/null +++ b/examples/windoze/delphi20/multimo2/LogoMain.dfm 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 Binary files differnew file mode 100644 index 0000000..e2a7458 --- /dev/null +++ b/examples/windoze/delphi20/multimo2/Multimod.ico diff --git a/examples/windoze/delphi20/multimo2/about.dfm b/examples/windoze/delphi20/multimo2/about.dfm Binary files differnew file mode 100644 index 0000000..613bc00 --- /dev/null +++ b/examples/windoze/delphi20/multimo2/about.dfm 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 Binary files differnew file mode 100644 index 0000000..5ca5da8 --- /dev/null +++ b/examples/windoze/delphi20/multimo3/LogoMain.dfm 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 Binary files differnew file mode 100644 index 0000000..16013ec --- /dev/null +++ b/examples/windoze/delphi20/multimo3/about.dfm 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 Binary files differnew file mode 100644 index 0000000..dca8382 --- /dev/null +++ b/examples/windoze/delphi20/multimo3/searchdlg.dfm 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 Binary files differnew file mode 100644 index 0000000..466ea20 --- /dev/null +++ b/examples/windoze/delphi20/multimo4/LogoMain.dfm 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 Binary files differnew file mode 100644 index 0000000..6b8b7a8 --- /dev/null +++ b/examples/windoze/delphi20/multimo4/Searchdlg.dfm 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 Binary files differnew file mode 100644 index 0000000..16013ec --- /dev/null +++ b/examples/windoze/delphi20/multimo4/about.dfm 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 Binary files differnew file mode 100644 index 0000000..4cc49ef --- /dev/null +++ b/examples/windoze/delphi20/svertf/LogoMain.dfm 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 Binary files differnew file mode 100644 index 0000000..a46702e --- /dev/null +++ b/examples/windoze/delphi20/svertf/Searchdlg.dfm 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 Binary files differnew file mode 100644 index 0000000..16013ec --- /dev/null +++ b/examples/windoze/delphi20/svertf/about.dfm 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. + |