The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Вывод текста на экран"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Вывод текста на экран"
Сообщение от Sergey emailИскать по авторуВ закладки on 18-Мрт-04, 07:48  (MSK)
Всем - отдельный привет!
Кто скажет, как в FreeBSD и Linux осуществить прямой доступ к экрану в текстовом режиме, типа как в MSDOS и PASCAL'е бывало:

Var SC:  ARRAY [1..25,1..80,1..2] OF BYTE ABSOLUTE $B800:0;
    SCH: ARRAY [1..25,1..80,1..2] OF CHAR ABSOLUTE $B800:0;
................
  FOR J := 1 TO 80 DO SCH[Y,J,1] := 'S'; // вывод строки 'SSSSSSSS...
  FOR J := 1 TO 80 DO  SC[Y,J,2] := $4B; // буквы цвета В на красном фоне
Заранее признателен - Сергей.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Вывод текста на экран"
Сообщение от StatusQuo Искать по авторуВ закладки on 18-Мрт-04, 17:20  (MSK)
Term::ANSIColor
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Вывод текста на экран"
Сообщение от Sergey emailИскать по авторуВ закладки on 19-Мрт-04, 07:27  (MSK)
С цветом понятно, а как текст выводить, по координатам, типа GoToXY и Write на Pascal'e?
Под MSDOS я в 10 лет назад слепил текстовый редактор - помесь KEDIT'a со встроенным редактором Norton Commander'a, в котором есть всё, что нужно, плюс использование цвета и другие прибамбасы, до которых другие догадались после меня, да и то не до всех. Хочу такой же под FreeBSD и Linux.

Заранее признателен - Сергей.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Вывод текста на экран"
Сообщение от StatusQuo Искать по авторуВ закладки on 19-Мрт-04, 19:54  (MSK)
А что за редактор если нге секрет?

Поможет Term::Cap, напр.:

$terminal->Tgoto('cm', $col, $row, *STDOUT);
$terminal->Tputs('dl', $count, *STDOUT);


Еще есть модуль Term-Screen, см. http://www.cpan.org/modules/by-category/08_User_Interfaces/Term/

Там вроде можно такие вещи делать, см. документацию:

=item at(row,col)    

Moves cursor to (row,col) where (0,0) is upper left corner, - if the spot is
illegal does whatever 'cm' in termcap does, since that is what it uses.

<...>

=item puts(str)

Prints $s and returns the screen object. Used to do things like
C<$scr->at(10,0)->puts("Hi!")->at(0,0);>. You can just use
print if you want.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Вывод текста на экран"
Сообщение от Sergey emailИскать по авторуВ закладки on 20-Мрт-04, 06:54  (MSK)
>А что за редактор если нге секрет?

Дайте мыло, вышлю. занимает всего 1 кластер (32 К), и лет 15-20 назад он бы завоевал мир. Но я опоздал, впрочем, не в первый раз...

А в сакой среде все Ваши тексты? На Перл вроде не похоже, я вообще предпочёл бы на Паскале или Кайликсе. Неужели нет доступа, похожего на MSDOS?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Вывод текста на экран"
Сообщение от StatusQuo Искать по авторуВ закладки on 20-Мрт-04, 13:35  (MSK)
>А в сакой среде все Ваши тексты? На Перл вроде не похоже,

Нет, это именно Перл!
Емейл выслан.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Вывод текста на экран"
Сообщение от vt Искать по авторуВ закладки on 22-Мрт-04, 23:07  (MSK)
>Кто скажет, как в FreeBSD и Linux осуществить прямой доступ к экрану
>в текстовом режиме, типа как в MSDOS и PASCAL'е бывало:
>
>Var SC:  ARRAY [1..25,1..80,1..2] OF BYTE ABSOLUTE $B800:0;
>    SCH: ARRAY [1..25,1..80,1..2] OF CHAR ABSOLUTE $B800:0;
>................
>  FOR J := 1 TO 80 DO SCH[Y,J,1] := 'S';
>// вывод строки 'SSSSSSSS...
>  FOR J := 1 TO 80 DO  SC[Y,J,2] :=
>$4B; // буквы цвета В на красном фоне

Много интересного можно прочитать в man console_codes
(это для linux, для freebsd - не помню, но тоже есть подобный man)
Общая идея - просто посылать определенные esc-последовательности на tty
Безразлично на каком языке

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Вывод текста на экран"
Сообщение от jd Искать по авторуВ закладки on 28-Мрт-04, 00:42  (MSK)
библиотека ncurses - то, что вам нужно
правда такой скорости, как при прямом обращении к памяти вы не получите
  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Вывод текста на экран"
Сообщение от ACCA Искать по авторуВ закладки(ok) on 29-Апр-04, 00:15  (MSK)
>Всем - отдельный привет!
>Кто скажет, как в FreeBSD и Linux осуществить прямой доступ к экрану
>в текстовом режиме, типа как в MSDOS и PASCAL'е бывало:

В FreeBSD и Linux это никак нельзя сделать. Ты забываешь о том, что кроме консоли Linux 80x25 существуют ещё telnet, xterm, терминалы на последовательных линиях и печатные машинки IBM. Для краткого ознакомления со списком поддерживаемого оборудования посмотри в файл termcap. Разумеется никакой "видеопамяти" по данным адресам нету.

Новый редактор писать нет никакой необходимости - существует бесконечно расширяемый emacs, а для любителей Norton Commander и medit существует Midnight Commander с его cooledit (AKA mcedit).

Писан он на библиотеке Slang, которую почему-то любят больше, чем ncurses.


Мораль - поставь себе X и не морочь голову. :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру