Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 19:15

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - По поводу локальных переменных...
Автор Сообщение
  Заголовок сообщения:   Ответить с цитатой
ygrek
Спасибо!
Сообщение Добавлено: Сб июн 21, 2008 23:16
  Заголовок сообщения:   Ответить с цитатой
Потому что надо внимательно читать документацию.
Код:
: ->ConsoleWindowSize ( length height -- )
      { Length Height \ [ SMALL_RECT::/SIZE ] ConsoleWindowInfo -- }

И использовать AT не надо, т.к. переменная ConsoleWindowInfo будет оставлять адрес зарезервированной области.
lib/ext/locals.f писал(а):
Или { a b c d \ e f[ EVALUATE_выражение ] -- i j }
Это значит что для переменной f[ будет выделен на стеке возвратов участок
памяти длиной n байт. Использование переменной f[ даст адрес начала этого
участка. \В стиле MPE\

Или { a b c d \ e [ 12 ] f -- i j }
Это значит что для переменной f будет выделен на стеке возвратов участок
памяти длиной 12 байт. Использование переменной f даст адрес начала этого
участка.
Сообщение Добавлено: Сб июн 21, 2008 13:19
  Заголовок сообщения:  По поводу локальных переменных...  Ответить с цитатой
Я могу написать так:
Код:
: ->ConsoleScreenBufferSize ( length height -- )
      { Length Height \ ScreenBufferSize -- }
      Length AT ScreenBufferSize COORD::X W!
      Height AT ScreenBufferSize COORD::Y W!
      ScreenBufferSize StdOutHandle SetConsoleScreenBufferSize DROP
;
А вот так я написать не могу:
Код:
: ->ConsoleWindowSize ( length height -- )
      { Length Height \ ConsoleWindowInfo [ SMALL_RECT::/SIZE ]  -- }
      0 AT ConsoleWindowInfo SMALL_RECT::Left W!
      0 AT ConsoleWindowInfo SMALL_RECT::Top W!
      Length 1- AT ConsoleWindowInfo SMALL_RECT::Right W!
      Height 1- AT ConsoleWindowInfo SMALL_RECT::Bottom W!
      AT ConsoleWindowInfo TRUE StdOutHandle SetConsoleWindowInfo DROP
;
Ибо вылезают какие-то странные глюки. Приходится создавать ConsoleWindowInfo с помощью CREATE. Почему?
Сообщение Добавлено: Сб июн 21, 2008 10:22

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB