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.