|
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 12
|
|
Как можно с помощью стрелок передвигать созданное окно в модуле Crt?15.12.2008, 20:59. Показов 2343. Ответов 8
Метки нет (Все метки)
0
|
|
| 15.12.2008, 20:59 | |
|
Ответы с готовыми решениями:
8
Как можно закрыть созданное окно в случае переадресации на определенный адрес? Можно ли окно, созданное OpenWindow, сделать прозрачным?
|
|
2 / 2 / 0
Регистрация: 15.12.2008
Сообщений: 37
|
|
| 15.12.2008, 22:23 | |
|
Каждая клавиша на клавиатуре имеет свой код, в том числе и стрелки.
Левая стрелка - 75, Правая стрелка - 77, Стрелка вверх - 72, Стрелка вниз - 80. Сканируешь код нажатой клавиши, в том случае, если она нажата и записываешь в переменную ch: (переменная ch имеет тип char) if keypressed then ch:=readkey else ch:=#0; (Или присваиваем переменной ch значение пустого символа с кодом 0) Дальше всё просто: Если значение ch равно #0, то ничего не делаем. Если значение ch равно #75, то уменьшаем координату X на 1. Если значение ch равно #77, то увеличиваем координату X на 1. Если значение ch равно #72, то уменьшаем координату Y на 1. Если значение ch равно #80, то увеличиваем координату Y на 1. И так до конца программы, пока пользователь не предпочтёт её завершить, например можно использовать код клавиши ESC (#27) yonikoni@mail.ru
0
|
|
|
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 12
|
|
| 15.12.2008, 23:22 [ТС] | |
|
Спасибо, конечно, но хотелось бы поподробнее на каком-нибудь примере)
0
|
|
|
2 / 2 / 0
Регистрация: 15.12.2008
Сообщений: 37
|
|
| 16.12.2008, 08:40 | |
|
Хорошо, только нужно знать, как ты определяешь координаты этого окна?
И как ты их изменяешь? Так и быть, напишу всю прогу с коментами.
0
|
|
|
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 12
|
|
| 16.12.2008, 13:37 [ТС] | |
|
program Windows;
uses CRT; var c: char; x1,y1,x2,y2:integer; begin writeln('Введите параметры окна:'); Write('x1='); readln(x1); write('y1='); readln(y1); write('x2='); readln(x2); write('y2='); readln(y2); window(x1,y1,x2,y2); textbackground(red); clrscr; textcolor(black); readkey; repeat c:=ReadKey; if c=#27 then break; if c=#0 then begin c:=ReadKey; continue; end; if c=#13 then writeln else if c in [#32..#255] then write(c); until false; end. Эта программа выводит окно заданных размеров и заполняет его текстом с помощью readkey. Надо сделать так чтобы окно управлялось с помощью стрелок и оставляло за собой цветной след при перемещении.
0
|
|
|
2 / 2 / 0
Регистрация: 15.12.2008
Сообщений: 37
|
|
| 16.12.2008, 13:43 | |
|
Йопт! Ещё и цветной след!
Знаешь что, если ты пишешь эту программу чисто для себя - делай в графике. Чтобы был цветной след от окна в crt - по моему это вообще нереально... Добавлено через 2 минуты 14 секунд Кхм.. Странное название программы... Винду хочешь сделать? Или ты не в том смысле?
0
|
|
|
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 12
|
|
| 16.12.2008, 14:24 [ТС] | |
|
Нет не для себя... Это лаба на модуль Crt
0
|
|
|
2 / 2 / 0
Регистрация: 15.12.2008
Сообщений: 37
|
|
| 16.12.2008, 14:36 | |
|
Чё за "Лаба" ?
0
|
|
|
1 / 1 / 0
Регистрация: 16.12.2008
Сообщений: 15
|
|
| 17.12.2008, 14:53 | |
|
лабораторная работа
0
|
|
| 17.12.2008, 14:53 | |
|
Помогаю со студенческими работами здесь
9
Как сделать, чтобы можно было передвигать камеру? Вывод в модуле CRT Sleep в модуле Crt
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|