der: TObject; var Action: TCloseAction); StringGrid1SelectCell (Sender: TObject; ACol , ARow: Integer; CanSelect: Boolean); Button1Click (Sender: TObject);
procedure Zapolnenie;// Цю процедуру створили ми самі
procedure StringGrid2DrawCell (Sender: TObject; ACol, ARow: Integer;: TRect; State: TGridDrawState); StringGrid1KeyDown (Sender: TObject; var Key: Word;: TShiftState); Button3Click (Sender: TObject) ; Button2Click (Sender: TObject);
{Private declarations}
{Public declarations}; 1: TForm1;: TStringList;// Сюди завантажуємо питання з текстового файлу, ZagadalTemp: String;// То що загадав комп'ютер.
{ZadalTemp - Це рядок для перевірки. З неї ми видаляємо прогалини і звіряємо з тим що є}
implementation
{$ R *. dfm} TForm1.FormCreate (Sender: гру ';. Top: = StringGrid2.Top + StringGrid2.Height +20;. Height: = Button1.Top + Button1.Height +90;
Form1.Caption: = 'Гра в слова';
{Всі з інспектором об'єктів типу закінчили, далі потрібний код}. Click;// Імітуємо натискання кнопки;
{Обробник події з вкладки Events. Це ми прибираємо виділення з StringGrid}
procedure TForm1.StringGrid1DrawCell (Sender: TObject; ACol, ARow: Integer;: TRect; State: TGridDrawState);: TStringGrid;: TCanvas;: = Sender as TStringGrid;: = StringGrid.Canvas;. Font: = StringGrid.Font; (ARow> = StringGrid.FixedRows) and (ACol> = StringGrid.FixedCols) Can.Brush.Color: = StringGrid.ColorCan.Brush.Color: = StringGrid2.Color; ActiveControl = Sender then // Цей рядок "вимикає" виділення (gdSelected in State) then.Font.Color: = 0;. Brush.Color: = StringGrid1.Color;;. FillRect (Rect);. TextOut (Rect.Left +2, Rect . Top +2, StringGrid.Cells [ACol, ARow]);; TForm1.FormClose (Sender: TObject; var Action: TCloseAction);. Free;// Звільняємо пам'ять;
{Обробник події з вкладки Events для StringGrid1}
procedure TForm1.StringGrid1SelectCell (Sender: TObject; ACol,: Integer; var CanSelect: Boolean);
var s1: char;// Символ, в який ткнули мишею, j: integer;// Лічильники циклів: String;// Тимчасова рядок, яка складається з вгаданих символів
{Якщо ми ткнули не в пусту клітинку, то s1 приймає значення з цього осередку}
if length (StringGrid1.Cells [ACol, ARow])> 0 then s1: = StringGrid1.Cells [ACol, ARow] [9];
{Перевіряємо наявність вибраного символу у відповіді} pos (s1, Zagadal)> 0 then Begin// Якщо наш символ є в тексті, то записуємо його в StringGrid2i: = 1 to length (Zagadal) do Begin// Проходимо по всій довжині загаданого слова
if Zagadal [i] = s1 then Begin//
StringGrid2.Cells [i-1, 0]: = s1 ;//Коже...