Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2011, 21:43   #1
Julila
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 125
По умолчанию маска курсора

Здравствуйте. \
Обьясните пожалуйста как по этой программе можно от руки нарисовать курсор. на что смотреть. как эта программа действует.очень нужна помощь!

как нарисовать этот злополучный курсор?))
Julila вне форума Ответить с цитированием
Старый 22.12.2011, 21:44   #2
Julila
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 125
По умолчанию

Код:
program lab4;
uses crt;
type mas= array[1..64] of word;
var t: byte;
const
a:array[1..64] of byte = (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                          1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                          128,1,
                          224,7,
                          224,7,
                          240,15,
                          240,15,
                          240,15,
                          240,15,
                          240,15,
                          224,7,
                          192,3,
                          128,1,
                          128,1,
                          0,0,
                          224,7,
                          224,7,
                          192,3);

c:array[1..64] of byte = (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                          1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                          127,254,
                          31,248,
                          31,248,
                          15,240,
                          15,240,
                          15,240,
                          15,240,
                          15,240,
                          31,248,
                          63,252,                          240,15,
                          240,15,
                          224,7,
                          192,3,
                          128,1,
                          128,1,
                          0,0,
                          224,7,
                          224,7,
                          192,3);


Текст программы
program lab4;
uses crt;
type mas= array[1..64] of word;
var t: byte;
const
a:array[1..64] of byte = (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                          1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                          128,1,
                          224,7,
                          224,7,
                          240,15,
                          240,15,
                          240,15,
                          240,15,
                          240,15,
                          224,7,
                          192,3,
                          128,1,
                          128,1,
                          0,0,
                          224,7,
                          224,7,
                          192,3);

c:array[1..64] of byte = (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                          1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                          127,254,
                          31,248,
                          31,248,
                          15,240,
                          15,240,
                          15,240,
                          15,240,
                          15,240,
                          31,248,
                          63,252,
                          127,254,
                          127,254,
                          0,0,
                          31,248,
                          31,248,
                          63,252);


function InitMouse: boolean;
var res: word;
  begin
    asm
      mov ax, 0000h
      int 33h
      mov res, ax
     end;
     if res=$FFFF then
       InitMouse:=true
     else
       InitMouse:=false;
  end;

procedure ShowMouse; assembler;
  asm
    mov ax, 01h
    int 33h
  end;

procedure HideMouse; assembler;
  asm
    mov ax, 02h
    int 33h
  end;



function PressMousButton: byte;
var b: word;
  begin
    asm
      mov ax, 03h
      int 33h
      mov b, bx
    end;
    PressMousButton:=b;
  end;

procedure VideoRegim;
  begin
    asm
      mov bx, 0013h
      int 10h
    end;
  end;

procedure CursorMask(var CursorMask);
var o,s: word;
  begin
    s:=seg(CursorMask);
    o:=ofs(CursorMask);
    asm
      mov ax, 0009h
      mov bx, 0
      mov cx, 0
      mov es, s
      mov dx, o
      int 33h
    end
  end;

procedure WaitPressKey;
  begin
    asm
      xor ah,ah
      int 16h
    end;
  end;

begin
if InitMouse=false then
  begin
    writeln('Error! Drivet is not installed!');
    readln;
    halt;
  end;
VideoRegim;
ShowMouse;
HideMouse;
CursorMask(a);
ShowMouse;
repeat
  t:=PressMousButton;
  writeln(t);
until t<>0;
if t=1 then
  begin
    HideMouse;
    CursorMask(a);
    ShowMouse;
  end;
readln;
end.
Julila вне форума Ответить с цитированием
Старый 22.12.2011, 21:44   #3
Julila
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 125
По умолчанию

[CODE]
{
00000001 10000000
00000111 11100000
00000111 11100000
00001111 11110000
00001111 11110000
00001111 11110000
00001111 11110000
00001111 11110000
00000111 11110000
00000011 11000000
00000001 10000000
00000001 10000000
00000000 00000000
00000111 11100000
00000111 11100000
00000011 11100000
}
a:array[1..64] of byte = (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
128,1,
224,7,
224,7,
240,15,
240,15,
240,15,
240,15,
240,15,
224,7,
192,3,
128,1,
128,1,
0,0,
224,7,
224,7,
192,3);
Julila вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Маска подсети Шульц Свободное общение 0 16.03.2010 22:07
маска Serg12 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 07.11.2009 21:44
Сложная маска kostyabramin HTML и CSS 6 31.03.2009 01:01
Маска в ShellListView SANTA_KLAUD Общие вопросы Delphi 4 30.05.2008 12:29