Новый символ |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Новый символ |
manhunt |
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Для программы нужен красивый символ)). Возможно ли создать в паскале символ notx4 токо чтоб было не так "notx4", а Х в нижнем регистре 4 и над иксом отрицание. Возможно ли такое и с помощю каких средств? Спасибо.
|
volvo |
Сообщение
#2
|
Гость |
Можно попробовать (если Турбо-Паскаль, разумеется) через $10 прерывание (если не ошибаюсь, функция $11), там есть возможность загрузить пользовательский шрифт или его часть... Для этого надо будет описать символ в виде последовательности байтов (одна строка матрицы символа = один байт).
У Фроловых в БСП был пример для ассемблера, так же и на Паскале реализуется... |
volvo |
Сообщение
#3
|
Гость |
Вот так, например:
uses Dos;, из-под DOSBox-а выглядит чем-то напоминающим отрицание X4 (художник из меня - никакой, да и в 14 линий по 8 пикселов вряд-ли можно что-то сверхкрасивое уложить. Попробуй, может у тебя получится) DOSBox: Напрямую из проводника, естественно, работать не будет... |
manhunt |
Сообщение
#4
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Цитата Попробуй, может у тебя получится Извините за нелепый вопрос, но где можно прочесть об етом, возможно есть какието разделы о создании новых символов или ето нужно рисовать в модуле 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 Надо понимать, что хоть применения асма и надо избегать как только можно, но в некоторых местах он смотрится как родной. |
Текстовая версия | 25.04.2024 19:34 |