26.05.2020, 08:20 [+3 UTC]
в нашей команде: 4 551 чел. | участники онлайн: 2 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
25.05.2020, 14:36

Последний вопрос:
25.05.2020, 18:51
Всего: 152475

Последний ответ:
26.05.2020, 00:51
Всего: 260192

Последняя рассылка:
25.05.2020, 22:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
26.04.2011, 19:51 »
srphoenix
Очень подробное решение,спасибо. [вопрос № 182928, ответ № 266824]
25.09.2010, 20:16 »
kot31
Спасибо, мой ответ был таким же, но не так подробно и всё по полочкам... [вопрос № 180022, ответ № 263185]
22.04.2019, 16:37 »
dar777
Это самое лучшее решение! [вопрос № 195325, ответ № 277928]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 433
Delph
Статус: 3-й класс
Рейтинг: 316
puporev
Статус: Профессор
Рейтинг: 160

Перейти к консультации №:
 

Консультация онлайн # 197103
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Delph (3-й класс)
Отправлена: 16.11.2019, 17:54
Поступило ответов: 1

Здравствуйте, уважаемые эксперты!

Работаю с Free Pascal (Windows). Возникла потребность работать непосредственно с буфером текстовой консоли, то есть читать и записывать информацию напрямую (для упрощённого создания оконного меню). Как это сделать?

Заранее благодарен за подсказки и ответы!

Состояние: Консультация закрыта

Здравствуйте, Delph!

Это вопрос скорее не по Pascal, а по WinApi.
Смотрите Экранный буфер консоли.
Удачи!


Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 21.11.2019, 10:33

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 197103

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 1

= общий = | 19.11.2019, 12:37 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Delph:

© Цитата: Delph
Free Pascal (Windows)

Free Pascal под Windows создает полноценное WinAPI-приложение:
Превращая код:
Код (Pascal) :: выделить код
var
  a:integer;
begin
  write('enter A:=');
  readln(a);
end.

В это:

Первая п/п sub_407AC0 - записывает параметры консоли во внутренние переменные.
Второая п/п sub_406BC0 - собственно сама программа.

Можно почитать Экранный буфер консоли

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Delph
3-й класс

ID: 400894

# 2

= общий = | 21.11.2019, 16:15 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

А можно ли как-то связать буфер консоли с массивом в памяти программы? В DOS это работало и позволяло простым присваиванием прописать любой нужный символ с выбранными атрибутами по нужным координатам на экране.

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 3

= общий = | 22.11.2019, 10:35 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Delph:

© Цитата: Delph
А можно ли как-то связать буфер консоли с массивом в памяти программы?

Внимательно перечитайте ссылку на экранный буфер консоли:
© Цитата:
Система создает экранный буфер всякий раз, когда она создает новую консоль. Чтобы открыть дескриптор активного экранного буфера консоли, при вызове к функции CreateFile установите значение CONOUT$ . Процесс может использовать функцию CreateConsoleScreenBuffer, чтобы создать дополнительные экранные буферы для своей консоли. Новый экранный буфер не активен до тех пор, пока его дескриптор не будет определен при вызове к функции SetConsoleActiveScreenBuffer. Однако к экранным буферам можно обращаться для чтения и записи, независимо, являются ли они активными или неактивными.

Каждый экранный буфер имеет свой собственный двухмерный массив записей текстовой информации. Данные для каждого символа сохраняются в структуре CHAR_INFO, которая определяет символы Unicode или ANSI, и цвет текста и цвета фона, на котором этот символ отображен.

Вам нужно будет перечитать так же информацию о всех функциях, которые упоминаются по ссылкам.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14010 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39