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.