Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
1

Изменение цвета символа с использованием системного прерывания BIOS

09.11.2017, 13:56. Показов 2719. Ответов 71
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток помогите пожалуйста дописать программу!
Мое задание звучит так вывести зелёную Букву "А"(Что я смог сделать) и при поднятии мыши в верх чтобы символ "А" был красный, при опускании вниз зелёный.(Что я не смог сделать!)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream.h>
#include <conio.h>
 
void main()
{ clrscr();
char s='A';
 
while (1)
{
_asm {
mov ah, 02h
mov bh, 0
mov dh, 0
mov dl, 0
int 10h
mov ah, 09h
mov al, s
mov bh, 0
mov bl, 02d
mov cx, 1
int 10h
}
 
}
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2017, 13:56
Ответы с готовыми решениями:

Работа с функциями BIOS драйвера клавиатуры с использованием прерывания 16H
Всем доброго времени суток! Помогите пожалуйста написать программу на языке С++ с использованием...

Работа с функциями BIOS драйвера клавиатуры с использованием прерывания 16H - С++
Доброго времени суток. Помогите пожалуйста написать программу на языке С++ с использованием...

Изменение цвета символа в консоле
Добрый день. Интересует, возможно ли сменить цвет отдельного символа в виндовской консоли? Либо...

Изменение цвета конкретного символа текста в консоли
Мне нужно изменить цвет определенных элементов в массиве. Ну пусть для примера нужно будет изменить...

71
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
09.11.2017, 20:07 21
Author24 — интернет-сервис помощи студентам
animefan, предложи иное решение. Я лично не понял, при чём тут прерывания. Ты предлагаешь написать собственный обработчик мышиного прерывания вместо того, чтобы вызывать его интом?
0
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
09.11.2017, 20:17  [ТС] 22
Есть идеи как решить данную проблему?
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
09.11.2017, 20:18 23
animefan, давай выслушаем твои предложения. Назначить свою функцию? Он это-то сделать не может.
И программа просто завершится без цикла. Плюс эта древность плохо документирована.
0
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
09.11.2017, 20:31  [ТС] 24
Вот в этом и заключается вся проблема что эта древность плохо документирована! Блин помогите кто-нибудь пожалуйста я ни одного примера похожего на свой не нашёл!
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
09.11.2017, 20:33 25
Я же тебе дал ссылку и какие функции посмотреть. Оттуда бери и пробуй.
Вот ещё: http://stanislavs.org/helppc/int_33.html
0
119 / 9 / 2
Регистрация: 06.09.2017
Сообщений: 82
09.11.2017, 20:37 26
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Я лично не понял
Бывает.
Цитата Сообщение от nmcf Посмотреть сообщение
Назначить свою функцию?
Проницательности тебе не занимать! Это ровно то, что я пытаюсь донести!
Цитата Сообщение от nmcf Посмотреть сообщение
Плюс эта древность плохо документирована.
Эта древность отлично документирована! Ну вот хотя бы http://stanislavs.org/helppc/int_33-c.html
Цитата Сообщение от razor6217 Посмотреть сообщение
эта древность плохо документирована!
У тебя есть свои мысли? Или ты только копипастишь из предыдущего сообщения?
Цитата Сообщение от razor6217 Посмотреть сообщение
я ни одного примера похожего на свой не нашёл!
Смысл задания в том, чтобы написать самому, а не найти в интернете готовое.
0
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
09.11.2017, 21:02  [ТС] 27
Цитата Сообщение от animefan Посмотреть сообщение
Смысл задания в том, чтобы написать самому, а не найти в интернете готовое.
Самому не реально такое написать!
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
09.11.2017, 21:48 28
razor6217, мне даже самому интересно попробовать эти ваши прерывания, но так впадлу устанавливать борланд! Дос-бокс я установил, но сам БЦ++ оказывается распространяется не в папке, а в каком-то греб одном инсталляторе. Инсталляторы под досом под эмулятором ради обычной проверки мышки - это для меня слишком!
0
119 / 9 / 2
Регистрация: 06.09.2017
Сообщений: 82
09.11.2017, 22:46 29
Цитата Сообщение от razor6217 Посмотреть сообщение
ни одного примера похожего на свой не нашёл!
https://github.com/videogamepr... /MOUSE.ASM
0
119 / 9 / 2
Регистрация: 06.09.2017
Сообщений: 82
09.11.2017, 23:16 30
Неудачно
Миниатюры
Изменение цвета символа с использованием системного прерывания BIOS  
0
119 / 9 / 2
Регистрация: 06.09.2017
Сообщений: 82
10.11.2017, 14:25 31
Вот ещё гифка, где видно, что всё работает. На этот раз я решил печатать координаты курсора. И отобразить его самого. Остаётся хвост за курсором из-за того, что printf("...\n"), видимо, скроллит видеобуфер и предыдущее положение курсора не затирается. Также gif-рекордер внёс свои глюки, не перерисовав правую половину экрана.
Миниатюры
Изменение цвета символа с использованием системного прерывания BIOS  
0
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
10.11.2017, 14:25  [ТС] 32
так цвет-то не меняется!
И для вывода координат есть короткая программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main(){
int x,y;
do{         _asm{
        mov ax,3 
        int 33h 
        mov x, cx   
        mov y, dx  
}       
    cout<<x<<endl;
    cout<<y<<endl;
    clrscr ();
} while(1);              
 
}
0
119 / 9 / 2
Регистрация: 06.09.2017
Сообщений: 82
10.11.2017, 14:32 33
Потому что я этого и не собирался демонстрировать, лол.

Добавлено через 4 минуты
Охота кому-то возиться с инлайн-ассемблером, когда в dos.h есть все средства, для вызова прерываний из C++-кода без единой строчки на ассемблере.
0
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
10.11.2017, 14:35  [ТС] 34
Осталось грубо говоря соединить две программы, что собственно и не получается
0
nmcf
10.11.2017, 14:36
  #35

Не по теме:

Цитата Сообщение от animefan Посмотреть сообщение
когда в dos.h есть все средства
А с DOS, типа, нормально возиться в 2017 году.

0
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
10.11.2017, 14:38  [ТС] 36
Цитата Сообщение от animefan Посмотреть сообщение
Потому что я этого и не собирался демонстрировать, лол.
Добавлено через 4 минуты
Охота кому-то возиться с инлайн-ассемблером, когда в dos.h есть все средства, для вызова прерываний из C++-кода без единой строчки на ассемблере.
Это флуд не по теме тогда получается=_='
Помогите пожалуйста соединить 2 программки=_=
0
119 / 9 / 2
Регистрация: 06.09.2017
Сообщений: 82
10.11.2017, 14:39 37

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
А с DOS, типа, нормально возиться в 2017 году.
А с теоремой Пифагора нормально возиться в 2017-м году?



Добавлено через 1 минуту
Цитата Сообщение от razor6217 Посмотреть сообщение
Помогите пожалуйста соединить 2 программки=_=
cat program1.cpp program2.cpp > program12.cpp
Как в DOS — не помню. Что-то типа copy /b ....
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
10.11.2017, 15:07 38
Цитата Сообщение от animefan Посмотреть сообщение
А с теоремой Пифагора нормально возиться в 2017-м году?
аналогия совершенно неуместна. В этой аналогии проводится параллель с древностью обоих примеров знаний. Однако, это делается в совершенном отрыве от их востребованности.
Аналогичным был бы вопрос: "а с фехтованием и верховой ездой в действующей армии нормально возиться в 2017м?"
Или, если всё же говорить о программировании: "А с ФОКАЛом для Электроника БК 0010 нормально возиться в 2017м?", "А с программированием для Спектрума нормально возиться в 2017м?" "А программировать калькуляторы Электроника нормально в 2017?"
1
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
10.11.2017, 15:08  [ТС] 39
Цитата Сообщение от animefan Посмотреть сообщение
cat program1.cpp program2.cpp > program12.cpp
Как в DOS — не помню. Что-то типа copy /b ....
=_=Хватит троллить=_=
0
119 / 9 / 2
Регистрация: 06.09.2017
Сообщений: 82
10.11.2017, 16:36 40
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Однако, это делается в совершенном отрыве от их востребованности.
Где сейчас востребовано умение доказывать конкретно теорему Пифагора?
0
10.11.2017, 16:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2017, 16:36
Помогаю со студенческими работами здесь

Изменение цвета символа с использованием системного прерывания BIOS!
Всем доброго времени суток помогите пожалуйста дописать программу! Мое задание звучит так вывести...

Обслуживание клавиатуры с использованием прерывания BIOS 16Н
Помогите пожалуйста! Вводимые с клавиатуры символы выводить на экран монитора в следующем...

Обслуживание дисплея с использованием прерывания BIOS 10Н
Выводить прямоугольник 5*10 точек в случайную позицию на экране. Каждый раз окрашивать...

Изменение системного цвета выделения Listbox WP 8.1 C#
Написал плеер, вроде всё отладил всё норм но... Как изменить цвет выделения ListBox, на данный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru