![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
manhunt |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
Для программы нужен красивый символ)). Возможно ли создать в паскале символ notx4 токо чтоб было не так "notx4", а Х в нижнем регистре 4 и над иксом отрицание. Возможно ли такое и с помощю каких средств? Спасибо.
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Можно попробовать (если Турбо-Паскаль, разумеется) через $10 прерывание (если не ошибаюсь, функция $11), там есть возможность загрузить пользовательский шрифт или его часть... Для этого надо будет описать символ в виде последовательности байтов (одна строка матрицы символа = один байт).
У Фроловых в БСП был пример для ассемблера, так же и на Паскале реализуется... |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Вот так, например:
uses Dos;, из-под DOSBox-а выглядит чем-то напоминающим отрицание X4 (художник из меня - никакой, да и в 14 линий по 8 пикселов вряд-ли можно что-то сверхкрасивое уложить. Попробуй, может у тебя получится) DOSBox: ![]() Напрямую из проводника, естественно, работать не будет... |
manhunt |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Попробуй, может у тебя получится Извините за нелепый вопрос, но где можно прочесть об етом, возможно есть какието разделы о создании новых символов или ето нужно рисовать в модуле graph?? |
-TarasBer- |
![]()
Сообщение
#5
|
Гость ![]() |
> var
> Regs : Registers; Никогда не понимал смысл этой конструкции. Код вызова прерывания выглядит с ней ну очень по-уродски. Как раз тут асм и нужен. Это конструкцию ввели какие-то ярые асмофобы. |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Никакой модуль граф не нужен. Если тебе нужен символ в текстовом режиме - то делаешь так: берешь лист бумаги в клетку, и очерчиваешь область размером 8 (ширина) на 14 (высота) клеток. И потом в ней рисуешь. Вот что у меня получилось (точки - пустые пиксели, звездочки - закрашенные) :
Первая строка: 8 единиц = 11111111 - это $FF. Вторая строка - 8 нулей, это $00. Третья - 10001000, переводим в 16-ричную форму - получаем $88, и так далее... Записываешь результаты в массив и запускаешь программу, смотришь, что получилось... Добавлено через 4 мин. Цитата Как раз тут асм и нужен Асм (встроенный) вообще нигде не нужен. Только полностью ассемблерные программы. Он непереносим (ни между ОСями, ни между компиляторами), следовательно очень неудобен... А что больше выглядит по-уродски - Intr($10, Regs) или программа на Паскале, состоящая наполовину из asm/mov/add/sub - это еще подумать надо. По-моему - как раз второе... |
-TarasBer- |
![]()
Сообщение
#7
|
Гость ![]() |
> Он непереносим (ни между ОСями, ни между компиляторами), следовательно очень неудобен...
Это код почти прямого обращения к функциям системы. Обёртка только - функция Intr. В других компиляторах есть другие её реализации, например, эмулирующие всю таблицу прерываний через функции из dll? > или программа на Паскале, состоящая наполовину из asm/mov/add/sub Надо понимать, что хоть применения асма и надо избегать как только можно, но в некоторых местах он смотрится как родной. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 18:41 |