HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail


 
В этот день много лет назад...
29 марта. В 1936 году (88 лет назад) - Состоялся арктический перелет Героя Советского Союза летчика М.В. Водопьянова по маршруту Москва - Земля Франца-Иосифа - Москва (29 марта - 21 мая 1936).
 
 

Turbo Pascal Examples

Графика:
Построение графика функции
Прыгающий по экрану мячик.
Качание маятника.
Вложенные цветные круги.
Броуновское движение. Использование объектов.
Матрицы и массивы:
Сортировка элементов массива.
Удаление одинаковых элементов.
Простой пример на поворот матрицы.
Сортировка методом Шелла. +функции измерения временных интервалов.
Проверка выпуклости многоугольника.
Перемоножение матриц
Вычисление определителя матрицы. Рекурсия.
Нахождение обратной матрицы.
Задача об автостоянке.
Рекурсия. Подземелье сокровищ.
Численные методы:
Задачка на определение угла между стрелками часов.
Проверка на принадлежность точки многоугольнику.
Нахождение точки пересечения двух отрезков на плоскости.
Сортировка методом Шелла. +функции измерения временных интервалов.
Сортировка методом "пузырька". Пример на динамические структуры данных. Связанные списки.
Нахождение корня функции методом половинного деления.
Вычисление арккосинуса
Нахождение суммы цифр натурального числа.
Работа с фалами:
Рекурсивное сканирование директорий.
Работа со строками:
Работа со словами в предложении с разделителями.
Простейший синтаксический анализатор для распознавания и вычисления многчлена.
Синтаксический анализатор для распознавания и вычисления многчлена.
Работа со строками: смена кодировки, удаление тегов из HTML текста, обработка
Переименование файлов из кириллицы в латиницу.
Выдача контекстной подсказки.
Частотный словарь символов.
Подсчет повторяющихся символов в строке.
Ссылочные переменные:
Моделирование стека.
Пасьянс "Косынка".
Игры:
Пасьянс "Косынка".
Игра "Питон"
Игра "Анацефал". Пример использования объектов.
Игра "Минное поле"
Большие проекты:
Электронная картотека (без исходника)


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

{$D-}
unit MyMouse;
{ Работа с мышью. TURBO-PASCAL 6.0. Начато 30.12.92
  written by Alexey Bytchkov. }
interface
var MouseInstalled:boolean; { Инициализирован ли драйвер мыши }
    NumberButtons:byte;    { Число кнопок мыши }
    Keys,MouseDelay:word; x,y,Butt:byte;
    SensArea:record  { Область восприятия нажатия кнопок мыши }
      x1,y1,x2,y2:byte;
      end;
Procedure InitMouse; { Произвести начальную установку }
{ Произвести начальную установку и вернуть информацию о текущем состоянии
  аппаратных и программных средств мыши.
  Устанавливаются переменные MouseInstalled и
  NumberButtons ( 0 - не две клавиши, 2 - две клавиши, 3 - три клавиши. }
Procedure ShowMouse; { Сделать курсор мыши видимым }
Procedure HideMouse; { Сделать курсор мыши невидимым }
Procedure SetSensArea(xn,yn,xk,yk:byte);
Procedure WhereMouse(var x,y:word;var Keys:byte);
{ Определить местоположение курсора мыши и состояние клавиш.}
{ В x и y возвращаются координаты курсора, а в Keys состояние клавиш.
  Keys=0 - все клавиши отпущены
  Keys=1 - нажата левая клавиша
  Keys=2 - нажата правая клавиша
  Keys=4 - нажата средняя клавиша   }

Procedure MoveMouseXY(x,y:byte);
{ Перемещает курсор мыши в заданную позицию (для текстового режима) }

Function GetPressNumMouse(Button:byte;var x,y:word):word;
{ Получить информацию о количестве нажатий на клавишу }

Procedure GetKeyOrButton(var key:Word;var x,y,butt:byte;
                         HoldMouseInSensArea:boolean);
{ Вернуть клавишу или кнопку мыши }
{ Процедура ожидает происхождения одного из следующих событий:
  1) нажата какая-либо клавиша
  2) нажата какая-либо кнопка мыши.
  Как только происходит одно из них, процедура возвращает:
  1) код клавиши ( в первом байте либо 0 (норм. кл.), либо 1 (функц. кл),
     во втором - код). x,y,butt - равны 0
  2) butt - три младших бита - состояние кнопок, x,y - позиция в этот момент.
     key в этом случае равна 0.

  Если HoldMouseInSensArea=true, то выход из процедуры осуществляется только
  в том случае, если в момент нажатия клавиши мыши, она находится в области
  чувствительности SensArea, в противном случае выход осуществляется при пер-
  вом же нажатии кнопки мыши. На клавиатуру это не оказывает никакого влияния}

implementation
...

 

 

 

 

 

 

 


HOME