КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Полный текст модуля
//===================================================== // Laborat_om //===================================================== Shell(False) Public F, iflag, colcol, rowrow, vkl_otkl
iflag = 0 colcol=0 && текущие значения горизонтальной координаты указателя мыши rowrow = 0 && текущие значения вертикальной координаты указателя мыши vkl_otkl = false && состояние рубильника (первоначально выключен)
#Include "Win32api_my.h"
//======================================= 1 ============ Define Form F Property metric 6, top 20, left 100,; width 800, height 600,; mdi false,; && форма не обладает свойством MDI minimize false,; && Форма не может быть свернуто в иконку maximize false,; && форма не может быть развернута на весь экран escexit false,; && клавища ESC - отключена text ' ',; && текст в строке заголовка окна отсутствует sizeable false,; && форма не может изменять своих размеров moveable true,; && форма не может перемещаться в пределах экрана background "file scene.jpg",; && графический файл в виде фона окна onmousemove rubilnik,; && метод при перемещении указателя мыши onleftmouseup on_off && метод при нажатии или отпускании левой кнопки //======================================================= // Тексты метки реостатов =========== 2 ======== Define Text TXR1_1 of F property metric 6, top 80, left 250,; width 100, height 30,; fontbold true,; && утолщенный шрифт text "R1",; && собственная надпись colornormal "W*",; && цвет - белый fontsize 18,; && размер шрифта transparent true && установка прозрачности текста //======================================= 3 ======== Define Text TXR1_2 of F property metric 6, top 320, left 700,; width 100, height 30, fontbold true, text "R1", colornormal "W*",; fontsize 18, transparent true //======================================= 4 =========== Define Text TXR2_1 of F property metric 6, top 200, left 250,; width 100, height 30, fontbold true, text "R2", colornormal "W*",; fontsize 18, transparent true //======================================= 5 ============ Define Text TXR2_2 of F property metric 6, top 400, left 310,; width 100, height 30, fontbold true, text "R2", colornormal "W*",; fontsize 18, transparent true //======================================= 6 ========== // Показания амперметра Define text tx_1 of F property metric 6, top 456, left 64,; height 27, width 120,; borderstyle 3,; && отсутствие границы объекта fontsize 18,; && размер шрифта fontbold true,; && шрифт утолщенный text " ",; && первоначально текста нет transparent true,; && текст со свойством прозрачности colornormal "0xffffff" && цвет текста - белый //======================================= 7 =========== // Показания вольтметра Define text tx_2 of F property metric 6, top 526, left 64,; height 27, width 120, borderstyle 3,; fontsize 18, fontbold true, text " ",; transparent true, colornormal "0xffffff" //======================================== 8 =========== // Показание левого реостата Define text tx_2R of F property metric 6, top 466, left 319,; height 27, width 140, borderstyle 3,; fontsize 18, fontbold true, text " ",; transparent true, colornormal "0xffffff" //========================================= 9 =========== // Показание правого реостата Define text tx_2RR of F property metric 6, top 398, left 584,; height 27, width 140, borderstyle 3,; fontsize 18, fontbold true, text " ",; transparent true, colornormal "0xffffff" //========================================= 10 ============ // Левый слайдер - имитатор ползунка для изменения сопротивления Define slider sdd of F property metric 6, top 430, left 308,; width 135, height 30,; borderstyle 3,; && отсутсвие отрисовка прямоугольной области tics 2,; && отсутствие отрисовки шкалы и цены деления colornormal "0x00ff4c/0x87114c",; && цвет ползунка rangemin 1.0, rangemax 1000.0,; && минимальное и максимальное значения onchange change_sdd && функция метода при изменении значения //========================================= 11 ========== Define slider sds of F property metric 6, left 568, top 364,; width 135, height 30,; borderstyle 3, tics 2, colornormal "0x00ff4c/0x87114c",; rangemin 1.0, rangemax 1000.0,; onchange change_sds //========================================== 12 ========== // Изображение включенного состояния рубильника. Его первоначальное // состояние выключено. Когда это изображение видимо, его при помощи // указателя мыши можно перемещать в пределах экрана. Define image img of F property metric 6, top 436, left 546,; datasource 'file key.gif', width 160, height 94,; OnLeftMouseDown {; SendMessage(F.img.Hwnd, 0x00A1, 2, 0); },; borderstyle 3, visible false, onmousemove rubilnik
F.open()
//====================================== procedure on_off (iflag, colcol, rowrow) if colcol > 552.and. colcol < 741.and. rowrow > 453.and. rowrow < 554 f.img.visible =.not. f.img.visible vkl_otkl =.not. vkl_otkl endif // Вызов данных процедур осуществляется для обновления отрисовки do change_sdd do change_sds return //================================================ procedure change_sdd // Метод для левого реостата // При каждом изменении значения сопротивления обновляется // визуализация значения текущего сопротивления. f.tx_2R.text = ltrim(rtrim(str((f.sdd.value),7,3))) + ' ом' // Если рубильник выключен - тока в цепи нет, нет и показаний // амперметра и вольтметра if vkl_otkl = false f.tx_1.text = ' ' f.tx_2.text = ' ' return endif // Обновление значений амперметра и вольтметра. // Здесь эти показания рассчитываются случайным образом и // изменение расчетных // формул может быть обучаемыми произведено самостоятельно. f.tx_1.text = ltrim(rtrim(str((f.sdd.value)*random(-0.3)*0.00010 *; f.sds.value,7,3))) + ' A ' f.tx_2.text = ltrim(rtrim(str((f.sds.value)*random(-0.3)*0.0010 *; f.sdd.value,7,3))) + ' V ' return //================================================= procedure change_sds f.tx_2RR.text = ltrim(rtrim(str((f.sds.value),7,3))) + ' ом'
if vkl_otkl = false f.tx_1.text = ' ' f.tx_2.text = ' ' return endif
f.tx_1.text = ltrim(rtrim(str((f.sdd.value)*random(0.3)*0.10 *; f.sds.value,7,3))) + ' A ' f.tx_2.text = ltrim(rtrim(str((f.sds.value)*random(0.3)*0.10 *; f.sdd.value,7,3))) + ' V ' return //======================================= procedure rubilnik (iflag, colcol, rowrow) // Переключение рубильника может быть осуществлено лишь в том случае, // когда указатель мыши находится строго в пределах прямоугольника // 552 < x < 741 453 < y < 554 // При этом будет изменяться вид курсора - с обычной стрелки на рисунок ладони if colcol > 552.and. colcol < 741.and. rowrow > 453.and. rowrow < 554 F.mousepointer= 13 else F.mousepointer= 0 endif return
Дата добавления: 2014-11-29; Просмотров: 288; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |