Кафедра вычислительной техники
«Создание пользовательских классов»
Группа: АМ-110
Вариант: 9
Студент: Наумовский А.А.
Преподаватель: Трошина Г.В.
Новосибирск, 2004
Изучить средства Visual FoxPro 6.0, которые могут быть использованы для создания пользовательских классов. Получить практические навыки работы с классами.
Реализовать наследование классов.
Создать класс «Бегущая строка».
На рис. 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)
В ходе выполнения ЛР были изучены средства Visual FoxPro 6.0, которые могут быть использованы для создания пользовательских классов. Был создан класс «Бегущая строка».
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.