Создание пользовательских классов. Реализация наследования классов. Создание класса «Бегущая строка»

Страницы работы

Содержание работы

Министерство образования и науки РФ

Новосибирский государственный технический университет

Кафедра вычислительной техники


Лабораторная работа № 7

«Создание пользовательских классов»

Группа:  АМ-110

Вариант: 9

Студент:                                Наумовский А.А.

Преподаватель:                   Трошина Г.В.

Новосибирск, 2004


  1. Цель работы

Изучить средства Visual FoxPro 6.0, которые могут быть использованы для создания пользовательских классов. Получить практические навыки работы с классами.

  1. Задание

Реализовать наследование классов.

Создать класс «Бегущая строка».

  1. Выполнение

На рис. 1 приведен внешний вид формы «Бегущая строка», т.е. разрабатываемого класса.

 Как видно из рисунка №1 в классе «Бегущая строка» были реализованы следующие функции:

o  Изменение направления движения строки

o  Изменение цвета строки

o  Изменение стиля шрифта строки

o  Изменение размера шрифта

o  Изменение текста строки

o  Изменение скорости движения строки

o  Изменение переливания цвета строки (для режима переливания )

Рис. 1. Внешний вид разрабатываемого класса

Базовым классом для класса «Бегущая строка  является Class Form. Для реализации класса «бегущая строка» были созданы дополнительные свойства:

Рис.2

Метод OnClick кнопки «Автор»

if thisform.flag=.T.

    thisform.flag=.F.

else

   thisform.flag=.T.        

endif

Метод OnClick кнопки «Очистить»

  thisform.start=.F.

   thisform.MyString.top=300

   thisform.MyString.Left=300

   thisform.MyString.visible=.F.

   thisform.Text1.value="Введите тескт!"

   thisform.tim=0

Метод OnClick кнопки «Старт/Стоп»

if thisform.start=.F.

    thisform.start=.T.

else

   thisform.start=.F.

   thisform.tim=0        

endif

Так же при создании будильника использовалось шесть таймеров. Один таймер необходим непосредственно для работы с бегущей строкой, второй и третий  для отображения информации(также в виде бегущей строки) об Авторе и название лабораторной работы, еще два таймера необходимы для подсчета времени прохождения сроки по форме, а последний отображает текущие координаты бегущей строки.

Метод Timer 5 таймера Бегущей строки

if thisform.start=.T.

      thisform.scorcolor=thisform.Spinner2.value

      ps2=thisform.scorcolor

      thisform.scordrive=thisform.Spinner1.value

      ps1=thisform.scordrive

      thisform.MyString.visible=.T.

      thisform.MyString.Caption=thisform.Text1.value

      thisform.MyString.FontSize=VAL(thisform.Combo1.value)&&======Font Size

  do case&&=============================================Style

     case thisform.style1=1

        thisform.MyString.FontName='Times New Roman'

     case thisform.style1=2

        thisform.MyString.FontName='Arial'

     case thisform.style1=3

         thisform.MyString.FontName='Courier New'

 endcase     

   do case&&=============================================Color

      case thisform.color1=1

        thisform.MyString.ForeColor=0

      case thisform.color1=2

         thisform.MyString.ForeColor=25000

               case thisform.color1=3

         thisform.MyString.ForeColor=1000

      case thisform.color1=4

       thisform.MyString.ForeColor=50000

      case thisform.color1=5 

        thisform.MyString.ForeColor=thisform.MyString.ForeColor+ps2

        if thisform.MyString.ForeColor>65000000

        thisform.MyString.ForeColor=0

        endif

  endcase     

   do case&&=========================================Napravlenie

      case thisform.napr=1

               thisform.MyString.left=thisform.MyString.left-ps1

               if thisform.MyString.left<-300

                    thisform.MyString.left=599

               endif     

      case thisform.napr=2

               thisform.MyString.left=thisform.MyString.left+ps1

               if thisform.MyString.left>601

                    thisform.MyString.left=-30

               endif     

      case thisform.napr=3

               thisform.MyString.top=thisform.MyString.top-ps1

               if thisform.MyString.top<240

                    thisform.MyString.top=380

               endif

      case thisform.napr=4

               thisform.MyString.top=thisform.MyString.top+ps1

               if thisform.MyString.top>380

                    thisform.MyString.top=240

               endif                    

    endcase

   endif 

Метод Timer3 таймера Автор

if thisform.flag=.T.

   thisform.about.visible=.T.

   thisform.about.left=thisform.about.left+20

endif  

if thisform.about.left>601

      thisform.about.left=-30

endif     

if thisform.flag=.F.

   thisform.about.visible=.F.

   thisform.about.left=-20 

endif

Метод Timer2 таймера Координаты

if thisform.MyString.visible=.T.

   thisform.x.caption=STR(thisform.MyString.left)

   thisform.y.caption=STR(thisform.MyString.top)

endif;

Метод Timer4 таймера Лабораторная №7

thisform.laba7.left=thisform.laba7.left-10

if thisform.laba7.left<-300

      thisform.laba7.left=599

endif   

Метод Timer7 таймера Время прохождения по форме

do case

   case thisform.napr=1 or thisform.napr=2

                            if thisform.MyString.left<599 and thisform.MyString.left>20

                                                           thisform.Timer6.Enabled=.T.

                            endif

                             if thisform.MyString.left>598

                                                           thisform.tim=0

                            endif

                            if thisform.MyString.left< 20

                                                           thisform.tim=0

                            endif

  case thisform.napr=3 or thisform.napr=4

                                                           thisform.tim=0

endcase

thisform.time1.caption=STR(thisform.tim)

  1. Выводы

В ходе выполнения ЛР были изучены средства Visual FoxPro 6.0, которые могут быть использованы для создания пользовательских классов. Был создан класс «Бегущая строка».

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Отчеты по лабораторным работам
Размер файла:
74 Kb
Скачали:
0