Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Решение проблемы записи значений из StringGrid в двумерный массив char в Delphi

Delphi , Синтаксис , Массивы

Вы столкнулись с проблемой, когда хотите записать значения из ячеек StringGrid в двумерный массив типа char для хранения текущего состояния игры. Проблема заключается в том, что StringGrid работает со строками, а массив char - с отдельными символами. Для решения этой задачи необходимо изменить тип переменной, используемой для хранения символа 'X', на Char, а не на String. Это позволит вам безопасно записывать символы в массив char.

Вот как можно изменить ваш код:

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
var
  XMark: Char; // Изменили тип переменной на Char
begin
  XMark := 'X';
  CanSelect := False;

  if (bTurn = True) then
  begin
    StringGrid1.Cells[ACol, ARow] := XMark; // Теперь это безопасно
    GameBoard[ACol, ARow] := XMark; // И запись в массив char также безопасна
  end
  else
  begin
    bTurn := False; // Ход компьютера
    CompTurn; // Обработка хода компьютера
    StringGrid1.Enabled := False;
  end;
end;

Таким образом, вы сможете использовать значения из StringGrid для обновления состояния игры, хранящегося в массиве char.

Важные моменты:

  • Присваивание строки (String) к переменной типа char невозможно, но присваивание переменной типа char к строке - возможно.
  • Если вам нужно выполнить несколько команд при выполнении условия if, оберните их в блок begin...end.

Надеюсь, это решение поможет вам в создании вашей игры "Крестики-нолики" на Delphi. Удачи в изучении основах программирования!

Создано по материалам из источника по ссылке.

Вы пытаетесь записать значения из элементов `StringGrid` в двумерный массив типа `char` в программе на Delphi для хранения данных о ходе игры 'Крестики-нолики'.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Массивы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-03-14 13:21:30/0.0024600028991699/0