unit _fm_Skip;


interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls;



type
   
   Tfm_Skip       = class(TForm)
                    gb         : TGroupBox;
   
   sb1        : TSpeedButton;
   
   sb2        : TSpeedButton;
   
   sb3        : TSpeedButton;
   
   sb4        : TSpeedButton;
   
   sb5        : TSpeedButton;
   
   sb6        : TSpeedButton;
   
   sb7        : TSpeedButton;
   
   btSkip     : TBitBtn;
   
   cbAll      : TCheckBox;
   
   btCancel   : TBitBtn;
   

procedure cbAllClick(Sender: TObject);
   

   procedure btSkipClick(Sender: TObject);
      

      procedure FormActivate(Sender: TObject);
         

         procedure FormKeyPress(Sender: TObject; var Key: Char);
            

            procedure sb1Click(Sender: TObject);
               
               private
               { Private declarations }
               public
               { Public declarations }
end;



var
   
   fm_Skip       : Tfm_Skip;
   
   
   implementation
   
   uses _fm_Main, LangSupp;
   
   
      {$R *.DFM}
   
      {------------------------------------------------------------------------------}

procedure Tfm_Skip.cbAllClick(Sender: TObject);
   
begin
   
   if (cbAll.State=cbGrayed) and
      not((sb1.Down) or (sb2.Down) or (sb3.Down) or (sb4.Down) or (sb5.Down) or
            (sb6.Down) or (sb7.Down)) then
      cbAll.State := cbChecked;
   
   
   case cbAll.State of
   
   cbChecked: begin
      
      sb1.Down := true;
      
      sb2.Down := true;
      
      sb3.Down := true;
      
      sb4.Down := true;
      
      sb5.Down := true;
      
      sb6.Down := true;
      
      sb7.Down := true;
      
      end;
   
   cbUnchecked: begin
      
      sb1.Down := false;
      
      sb2.Down := false;
      
      sb3.Down := false;
      
      sb4.Down := false;
      
      sb5.Down := false;
      
      sb6.Down := false;
      
      sb7.Down := false;
      
      end;
   
   end;
   
   end;


{------------------------------------------------------------------------------}

procedure Tfm_Skip.btSkipClick(Sender: TObject);
   
begin
   
   sWord := '';
   
   if sb1.Down then
      sWord := sWord + Players[PCurrent].Letters[1];
   
   if sb2.Down then
      sWord := sWord + Players[PCurrent].Letters[2];
   
   if sb3.Down then
      sWord := sWord + Players[PCurrent].Letters[3];
   
   if sb4.Down then
      sWord := sWord + Players[PCurrent].Letters[4];
   
   if sb5.Down then
      sWord := sWord + Players[PCurrent].Letters[5];
   
   if sb6.Down then
      sWord := sWord + Players[PCurrent].Letters[6];
   
   if sb7.Down then
      sWord := sWord + Players[PCurrent].Letters[7];
   
   
   if (sWord='') and (MessageBox(0,PChar(_K_mIsSkip),
                  PChar(Application.Title),
                  MB_YESNO or MB_TASKMODAL or
                  MB_ICONQUESTION or MB_DEFBUTTON2)=IDNO) then
      EXIT;
   
   
   UserSkip := true;
   
   
   NextPlayer;
   
   end;


{------------------------------------------------------------------------------}

procedure Tfm_Skip.FormActivate(Sender: TObject);
   
begin
   
   cbAll.Checked := true;
   
   sb1.Down := true;
   
   sb2.Down := true;
   
   sb3.Down := true;
   
   sb4.Down := true;
   
   sb5.Down := true;
   
   sb6.Down := true;
   
   sb7.Down := true;
   
   end;



procedure Tfm_Skip.FormKeyPress(Sender: TObject; var Key: Char);
   
begin
   
   if Key=#27 then
      Close
   end;



procedure Tfm_Skip.sb1Click(Sender: TObject);
   
begin
   
   if ((sb1.Down) and (sb2.Down) and (sb3.Down) and (sb4.Down) and (sb5.Down) and
       (sb6.Down) and (sb7.Down)) then
      
      cbAll.State := cbChecked
   else
      
      if not((sb1.Down) or (sb2.Down) or (sb3.Down) or (sb4.Down) or (sb5.Down) or
             (sb6.Down) or (sb7.Down)) then
         
         cbAll.State := cbUnchecked
   else
      
      cbAll.State := cbGrayed;
   
   end;


end.