Меню Рубрики

Установка курсора в центр экрана

Очистка и установка курсора в центр, чтобы написать дату

Нужно изменить буфер на ячейку 200 и вывод на экран сделать через ah,09 и прерывание int 21.

Изначальна была задача очистка и установка курсора в центр чтобы написать дату в формате хх/хх/хх
Ниже текст который должен быть перед тем как будем писать символы.

Очистка консоли, очистка строки, установка курсора
Здравствуйте! Подскажите как можно после очистки консоли поставить курсор в самый вверх, чтоб то.

Побуквенный вывод слова через цикл + ожидания нажатия клавиши (после нажатия очистка и установка курсора на )
строку) Masm32 (com -программа) вообщем столкнулся с проблемой. к примеру ввожу ‘ LSD49 $’.

Как написать скрипт, чтобы от курсора вверх отлетала картинка (gif,10×10 px), с периодичностью 2 сек?
Как написать скрипт, чтобы от курсора вверх отлетала картинка (gif,10×10 px), с периодичностью 2.

В справке http://www.codenet.ru/progr/dos/dos_0017.php указан регистр адреса буфера.
ah сделать равным 09 — в строке 7.

Добавлено через 1 час 39 минут
DeLipFin, вы можете пояснить, зачем меняется значение в сегментном регистре ds?
Просто, чтобы проверить работу программы придётся выполнить ред действий по определению абсолютного адреса для сегмента данных.

В справке http://www.codenet.ru/progr/dos/dos_0017.php указан регистр адреса буфера.
ah сделать равным 09 — в строке 7.

Добавлено через 1 час 39 минут
DeLipFin, вы можете пояснить, зачем меняется значение в сегментном регистре ds?
Просто, чтобы проверить работу программы придётся выполнить ред действий по определению абсолютного адреса для сегмента данных.

Не вижу смысла. Там каждая строка и так прокомментирована. Куда уж больше. Только разве давать справку по специализации каждого регистра и объяснять способы адресации процессора.

Приведите задание дословно, точно скопировав его из методички. Без домыслов и пересказа.
Также приведите название компилятора Ассемблера, и модель памяти программы (tiny, small, compact, large).

Давайте, вы пройдёте по ссылкам, которые я уже дважды привёл.
Также, прочитаете комментарии к тому коду, что приведён у меня в сообщении.

И в итоге откажетесь от требования заменить вывод функцией 0Ah на функцию 09h.

Или можно пойти по другому пути — перипатетиков.
В какой строке я вывожу функцией oah? Что в комментарии к этой строке? Что в справке к этой функции? Лгу ли я, утверждая, что не вывожу этой функцией?

Добавлено через 3 минуты
Можно переставить куски кода и сделать обрамление для компиляции

Для ввода используется буфер по адресу 200 — код из сообщения 6 строка 16.

В программе сначала вводится строка (функция 0Ah), а затем эта же строка выводится (функция 09h).
Ввод осуществляется в буфер с адресом 200.
Вывод осуществляется из буфера с адресом 202, т.к. в первых двух ячейках буфера после ввода хранится не строка, а служебная информация (длина строки).

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

Для вывода на экран функцией 9 нужно в конце строки прописать символ ‘$’.
Как это сделать.
В bx адрес начала буфера (200).
Складываем с длиной строки.
Но сама строка начинается не с начала буфера, а с 3-й позиции (со смещения +2 относительно начала буфера) — добавляем к bx ещё 2.

В debug вместо ‘$’ поставьте его код — https://ru.wikipedia.org/wiki/ASCII 24h

Архитектура процессора — состав регистров.

Решите имеющуюся задачу:
В буфере по смещению bx+1 расположен байт длины строки. Нужно в bx получить адрес байта, следующего за последним введённым символом.

Вот как решите эту задачу, эти строки станут понятны.

Я в растерянности. Под рукой нет учебника, чтобы скопировать материал. Попробуйте почитать книгу
Питер Абель. Ассемблер и программирование для IBM PC.
Или
Скэнлон Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера.

Я учился по книге Абеля, она несколько сухая. Без шуточек, как в книге «Искусство схемотехники» Нехилого Хоровитца.

Книга Скэнлона более живая. Легче воспринимается. Ознакомился с ней недавно, удивился, что можно легко объяснять.

Читайте также:  Установка дизель генератора пожарные нормы

У меня книга Скэнлона в виде скана. Могу лишь назвать страницы.
Начиная с 73 по 78 идёт пояснение адресации ячеек памяти.

А для себя примите модель, что есть массив байт ds. И у него индексные переменные bx или si или di. Все остальное — прямая аналогия с массивом char ds[65000] и индексными регистрами int si, di,bx .

Формат буфера ввода функцией 0Ah int 21h:
0-й байт — максимальный размер вводимой строки, увеличенный на 1 (в буфер обязательно добавляется в конце строки код 0Dh). Это определяет программист при написании программы. Так в вашей программе в эту ячейку записывается число 9 (8 символов строки и символ 0Dh). Если вы пробовали набирать больше символов в строке ввода — у вас ничего не получалось, курсор не передвигался.
1-й байт. После возвращения из прерывания в этом байте находится реальный размер введённой строки (ввели «йцук» — в 1-м байте будет число 4).
2-й байт — первый символ введённой строки.

На примере.
До вызова int 21h
200: 09h 00h 00h 00h 00h 00h 00h
После вызова и ввода «йцук»
200: 09h 04h й ц у к

Теперь, после символа «к» нужно поставить символ «$». Как это сделать
Пусть в bx — число 200 — начало буфера. Считаем длину строки в регистр размером 1 байт, например, в cl.
mov cl, [bx+1] [bx+1] потому, что длина строки находится по смещению +1 относительно начала буфера.
Теперь нужно получить в bx сумму чисел bx и cl. Такая команда mov bx, cl получит ошибку. Что же делать? Сложим bx и cx. Но в ch — случайное число. Обнуляем его. А потом складываем с bx.

Но это ещё не всё. Т.к. сама строка начинается в буфере со смещения не 0, а +2, то чтобы в bx был адрес байта после последнего введённого символа нужно к bx прибавить 2. Если этого не сделать, то строка будет не вся выводится на экран.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Написать код,чтобы при нажатии клавиши D и d был сдвиг курсора на один символ вправо
Написать код,чтобы при нажатии клавиши D и d был сдвиг курсора на один символ вправо,а при нажатии.

Возвращение курсора в центр экрана
Всем привет! Задался идеей сделать программу, но первая же проблема это как всегда курсор. Его.

Очистка TextBox при попадании в него курсора
Добрый день всем. Подскажите пожалуста как при попадании курсора в TextBox он удалял надпись.

источник

purebasic.info

Как установить курсор в середину экрана без открывания окна?

Для печати Предыдущая тема | Следующая тема
Автор Сообщение
Sven
док

Зарегистрирован: Вт мар 03, 2015 12:43 pm
Сообщений: 76
Благодарил (а): 22 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0

Практическая задача: к компьютеру подключено 3 монитора, причем они выстроены не в ряд, а в виде буквы L. По техническим причинам, один из мониторов работает всегда (основной в системе), а два других могут быть выключены в любой момент в любом сочетании. При этом курсор волею судеб может оказаться на любом мониторе, в том числе, на выключенном. Найти курсор нелегко, тем более, что на выключенных мониторах его вообще не видно, хехе.

Надо бы написать программу, которая по горячей клавише выставляла бы курсор в середину основного монитора. Программа могла бы выполниться и стать резидентной, как TSR в старые добрые времена. Ну или не стать, это отдельный вопрос.

Если на PB открыть окно на нужном мониторе (номер 0), то курсор установить можно. А если окно вообще не открывать, то как курсор установить? Или все-таки украдкой открыть и быстро закрыть, чтобы никто не заметил?

Asm уже не помню, компилятор потерял, тащить лень и т. д. Только PB.

профессор

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2329
Откуда: Russia — Belarus
Благодарил (а): 7 раз.
Поблагодарили: 75 раз.
Пункты репутации: 11

PureBasic Coder

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 71 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24

профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43

Практическая задача: к компьютеру подключено 3 монитора, причем они выстроены не в ряд, а в виде буквы L. По техническим причинам, один из мониторов работает всегда (основной в системе), а два других могут быть выключены в любой момент в любом сочетании. При этом курсор волею судеб может оказаться на любом мониторе, в том числе, на выключенном. Найти курсор нелегко, тем более, что на выключенных мониторах его вообще не видно, хехе.

Надо бы написать программу, которая по горячей клавише выставляла бы курсор в середину основного монитора. Программа могла бы выполниться и стать резидентной, как TSR в старые добрые времена. Ну или не стать, это отдельный вопрос.

Если на PB открыть окно на нужном мониторе (номер 0), то курсор установить можно. А если окно вообще не открывать, то как курсор установить? Или все-таки украдкой открыть и быстро закрыть, чтобы никто не заметил?

Asm уже не помню, компилятор потерял, тащить лень и т. д. Только PB.

Не студент, не? А то «Практическая задача» (кому?) всех тут веселит и прибавляет бодрости. Вы хоть сами-то пытались что-то сделать?
Вы даже двух строчек кода не соизволили выложить, хотя да,

док

Зарегистрирован: Вт мар 03, 2015 12:43 pm
Сообщений: 76
Благодарил (а): 22 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0

Спасибо всем, кто откликнулся, за код и ценные идеи.

Нет, не студент. Практическая задача — мне. С мониторами такая проблема у меня. Да, пытался. В PB я полный бегиннер, со стажем несколько часов в сумме за всю неделю. Увы, времени на все не хватает. Резидентные программы — это не та тема, в которой можно начать летать сходу, если это не основная проблема в жизни. Именно поэтому я и попросил совета у тех (потенциально), кто постоянно находится в контексте и для кого не трудно дать какую-то информацию. А дальше я разберусь, читать умею. Ну, а насчет асм — помнится, на каком-то из старых бейсиков я очень давно делал дизассемблер. Так что насчет тетеньки — все-таки перегиб, но в целом — тоже спасибо.

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

источник

Настройка мыши при работе на 2 монитора

Для удобства работы за компьютером воспользуйтесь дополнительными функциями при настройке мыши.

Настройка перехода курсора мыши с экрана на экран при использовании двух мониторов

При неправильной настройке расположения экранов курсор перемещается с одного экрана монитора на второй монитор через противоположную боковую сторону экрана. Как исправить?
Открываем Панель управления\Все элементы панели управления\Экран\Разрешение экрана

Надо поменять местами 1 и 2 экран простым перетаскиванием мыши, получаем:

Если мониторы расположены друг над другом, при вертикальном положении мониторов при неправильном перемещении курсора:

два монитора друг над другом в windows 10 поменять местами 1 и 2 монитор

Теперь курсор перемещается правильно!

Мышь во время игры уходит на второй монитор

В этом случае поможет программа Actual Multiple Monitors скачать,
в настройках горячих клавиш этой программы есть возможность запретить указателю мыши выходить за пределы монитора или за пределы окна

или использовать портативную программу Dual Display Mouse Manager скачать

Dual Display Mouse Manager

при запуске DDMM курсор мыши блокируется в окне монитора, разрешение перехода на второй (или третий) монитор при нажатой клавише Ctrl.
В настройках экрана можно ограничить линию перехода курсора мыши, если расположить экраны таким образом:

переход курсора на второй монитор только по красной линии

2 экрана, 2 клавиатуры и 2 мыши (2 независимых курсора)

Программа АСТЕР поможет запустить такую конфигурацию.

Дополнительные настройки мыши

Скорость движения указателя мыши при работе на двух и более мониторах.
Для удобной работы задайте этот параметр таким, чтобы движение кистью руки перемещало курсор мыши по диагонали из одного угла монитора в противоположный угол второго монитора:


Все знают стандартные настройки – открытие двойным кликом, выделение – одинарным. Гораздо удобнее открывать файлы одинарным щелчком, а выделять наведением курсора.

Как это сделать? Жмем кнопку “Пуск” – находим “Панель управления” – заходим в “Параметры папок” (для Win7) или “Свойства папки” (для WinXP), для Windows 10 это “Параметры Проводника”- и изменяем “Щелчки мыши” – на “Открывать одним щелчком,выделять указателем”. Всё. Жмите – Применить – ОК

Открывать файлы одним щелчком

Курсор мыши на кнопке по умолчанию сделает более удобной навигацию при работе, для этого в Панели управления выберите “Мышь” и на вкладке “Параметры указателя” поставьте галку “На кнопке выбираемой по умолчанию”.

Просмотреть, как выглядит эта настройка можно на примере Очистки корзины – “Вы действительно хотите удалить этот файл?” – по умолчанию подтверждается курсором на кнопке “Да”

Некоторые компьютерные вирусы блокируют окна и бывают неприятные моменты, когда открывается окно какой-нибудь программы, а кнопки управления – ОК или Отказаться и т.п., находятся вне рабочего стола ; и шапка окна не позволяет переместить окно программы вверх-вниз или вправо-влево. В этом случае поможет программа KDE Mover-Sizer 2.8 скачать (программа работает в фоне)
удерживая клавишу ALT при нажатой левой кнопке мыши (ЛКМ) можно перемещать окно,
при нажатой правой (ПКМ) – изменить размер окна ;
курсор должен находится в любом места внутри изменяемого окна

На компьютер+2 монитора или компьютер+монитор+телевизор системах, или когда на рабочем столе открыто несколько окон добавим еще одну опцию – активировать окно при наведении на него курсора мыши.

Для этого жмем “Пуск” – Панель управления – Все программы – Стандартные – Специальные возможности – Центр спец.возможностей – находим “Облегчение работы с мышью” – и в этом окне ставим галку на пункте “Активировать окно при наведении” – Применить – ОК.

источник

Фиксация курсора в центре экрана, без блокировки

Необходимо зафиксировать курсор в центре экрана.
Но в интернете постоянно натыкаюсь на этот код Cursor.lockState = CursorLockMode.Locked; который фиксирует и блокирует курсор. А мне необходимо использовать курсор как указатель и клацать на объекты.

Пытался исправить вводя в Update

Макроопределения на очистку экрана, установку курсора в центре экрана, вывод теста на экран
добрый вечер, может кто помочь с Макроопределениями на очистку экрана, установку курсора в центре.

Как изменить фон экрана рабочего стола либо экрана блокировки?
Как изменить фон экрана рабочего стола либо экрана блокировки? Выбрав фотку из альбома к примеру.

Нарисовать с помощью отдельных точек синусоиду зеленого цвета в центре экрана на всю ширину экрана
Нарисовать с помощью отдельных точек синусоиду зеленого цвета в центре экрана на всю ширину экрана.

В центре экрана нарисуйте эллипс, закрашенный цветом LightGreen, всю остальную площадь экрана сделайте фиолетовой.
помогите пожалуйста. уже не знаю что делать. ничего в графическом не понимаю. заранее спасибо.

Лучше увидеть, чем услышать.
18:15 — вписывает Cursor.lockState = CursorLockMode.Locked;
18:25 — как выглядит в игре
19:15 — что должно быть

Я понял что версия Unity старая — что-то поменялось. Видео 15 года.

Но мне нужно чтобы я мог клацать мышкой по объекту, а курсор не улетал при управлении камерой.

Решение

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Фиксация div вне зависимости от размера экрана
Здравствуйте! Давно не обращался за советом, преамбула такая..есть 4 картинки в Div-ах две слева.

Установка курсора в центре формы
Как установить курсор чётко по центру формы?

C# фиксация картинки в окне при нажатии на произвольную область экрана
Делаю игру посвещённую рыбалке. Необходимо чтобы при нажатии например на озеро, поплавок там.

Ввод символа, очистка экрана, вывод символа в центре экрана
Вывести приглашение к вводу символа, ввести символ, вывести введенный символ в центре очищенного.

источник