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.