unit _fm_WordC; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids, _fm_Word, ExtCtrls; type Tfm_WordC = class(Tfm_word) procedure FormActivate(Sender: TObject); procedure btCancelClick(Sender: TObject); procedure btApplyClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction ); private { Private declarations } public { Public declarations } end; var fm_WordC : Tfm_WordC; implementation uses _fm_Main, LangSupp, _fm_DMan; {$R *.DFM} {------------------------------------------------------------------------------} procedure Tfm_WordC.FormActivate(Sender: TObject); var i,j : integer; begin fm_Main.tmGame.Enabled := false; Left := fm_Main.Left + fm_Main.sg.Left + fm_Main.sg.Width + 10; Top := fm_Main.Top + Players[PCurrent].LettersObj.Top + 160; if WordDirHor then btWDir.Glyph := imH.Picture.Bitmap else btWDir.Glyph := imV.Picture.Bitmap; if WordDirHor then btWDir.Caption := _W_WDirHor else btWDir.Caption := _W_WDirVer; {Прорисовываем на поле место будущего слова} for i:=0 to MaxWordLength-1 do for j:=0 to MaxWordLength-1 do Field[i,j].JustSet:=false; if WordDirHor then for i:=1 to length(sWord) do Field[SCol+i-1,SRow].JustSet:=true else for i:=1 to length(sWord) do Field[SCol,SRow+i-1].JustSet:=true; fm_Main.sg.Repaint; {Расчет веса слова} WWeight := WordWeight; {Указываем количество очков слова} edWord.Text := sWord; stWWeight.Caption := Format(_W_mWWeight, [WWeight, Ending(WWeight)]); WordIllegal := true end; {------------------------------------------------------------------------------} procedure Tfm_WordC.btCancelClick(Sender: TObject); var i : integer; begin if MessageDlg(_W_cNoUseConfirm, mtConfirmation, [mbYes, mbNo], 0)<>mrYes then EXIT; fm_DMan.lbActive.Items.Delete(SendMessage(fm_DMan.lbActive.Handle, LB_FindStringExact, 0, Longint(PChar(edWord.Text)))); i := FindWordInFounded(edWord.Text); for i:=i to FoundedWords-1 do Drafts[i]:=Drafts[i+1]; dec(FoundedWords); WordIllegal := true; end; {------------------------------------------------------------------------------} procedure Tfm_WordC.btApplyClick(Sender: TObject); begin WordIllegal := false; Close end; {------------------------------------------------------------------------------} procedure Tfm_WordC.FormClose(Sender: TObject; var Action: TCloseAction); var i,j : integer; begin for i:=0 to MaxWordLength-1 do for j:=0 to MaxWordLength-1 do Field[i,j].JustSet:=false; end; end.