Страница: 1 | 2 | 3 |
|
Вопрос: работа со звуком
|
Добавлено: 15.05.10 22:54
|
|
Номер ответа: 21 Автор ответа: Александр
Вопросов: 3 Ответов: 23
|
Профиль | | #21
|
Добавлено: 17.05.10 22:00
|
если можешь помоги)))
моё серое вещество уже работало над ним, но что то не всё так хорошо как хотелось бы(
не все получается(
нужно 6 свойств (имя, круг =true или элипс=false As boolean, цвет As ?????, есть или нет мерцание, частота мерцания (от 1до 24), звук есть или нету) все свойства через запятую
если не очень трудно ГЛЯНЬ А )))
Option Explicit
'Dim color1 As ColorConstants 'переменная для цвета 1-ого индикатора
'Dim stop_merc As Boolean 'переменная для прекращения мерцания
Dim ind1_f As Boolean 'переменные тип фигур круг или эллипс
'Dim cvet As Boolean 'переменная для выбора цвета
'Dim timer1_flag1 As Boolean
'Dim kol_figur As Integer 'переменая кол-ва индикаторов
Dim m_sininterval1 As Single 'переменные для интерввала каждого таймера
Dim m_percolor1 As ColorConstants
Dim m_boolstop_merc As Boolean
Dim m_boolind_f As Boolean
Dim m_boolcvet As Boolean
Dim m_booltimer1_flag1 As Boolean
Dim m_intkol_figur As Integer
Public Property Get interval1() As Single
interval1 = m_sininterval1 ' передача внутреннего свойства наружу
End Property
Public Property Let interval1(sinNewinterval1 As Single)
m_sininterval1 = sinNewinterval1 ' запись значения во внутреннее свойство
End Property
Public Property Get color1() As Variant
color1 = m_percolor1 ' передача внутреннего свойства наружу
End Property
Public Property Let color1(perNewcolor1 As Variant)
m_percolor1 = perNewcolor1 ' запись значения во внутреннее свойство
End Property
Public Property Get stop_merc() As Boolean
stop_merc = m_boolstop_merc ' передача внутреннего свойства наружу
End Property
Public Property Let stop_merc(boolNewstop_merc As Boolean)
m_boolstop_merc = boolNewstop_merc ' запись значения во внутреннее свойство
End Property
Public Property Get ind_f() As Boolean
ind_f = m_boolind_f ' передача внутреннего свойства наружу
End Property
Public Property Let ind_f(boolNewind_f As Boolean)
m_boolind_f = boolNewind_f ' запись значения во внутреннее свойство
End Property
Public Property Get cvet() As Boolean
cvet = m_boolcvet ' передача внутреннего свойства наружу
End Property
Public Property Let cvet(boolNewcvet As Boolean)
m_boolcvet = boolNewcvet ' запись значения во внутреннее свойство
End Property
Public Property Get timer1_flag1() As Boolean
timer1_flag1 = m_booltimer1_flag1 ' передача внутреннего свойства наружу
End Property
Public Property Let timer1_flag1(boolNewtimer1_flag1 As Boolean)
m_booltimer1_flag1 = boolNewtimer1_flag1 ' запись значения во внутреннее свойство
End Property
Public Property Get kol_figur() As Integer
kol_figur = m_intkol_figur ' передача внутреннего свойства наружу
End Property
Public Property Let kol_figur(intNewkol_figur As Integer)
m_intkol_figur = intNewkol_figur ' запись значения во внутреннее свойство
End Property
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
m_sininterval1 = PropBag.ReadProperty("interval1", 1)
m_percolor1 = PropBag.ReadProperty("color", vbGreen)
m_boolstop_merc = PropBag.ReadProperty("stop_merc", False)
m_boolind_f = PropBag.ReadProperty("ind_f", False)
m_boolcvet = PropBag.ReadProperty("cvet", False)
m_booltimer1_flag1 = PropBag.ReadProperty("timer1_flag1", False)
m_intkol_figur = PropBag.ReadProperty("kol_figur", 1)
End Sub
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
PropBag.WriteProperty "interval1", m_sininterval1, 1
PropBag.WriteProperty "color1", m_percolor1, vbGreen
PropBag.WriteProperty "stop_merc", m_boolstop_merc, False
PropBag.WriteProperty "ind_f", m_boolind_f, False
PropBag.WriteProperty "cvet", m_boolcvet, False
PropBag.WriteProperty "timer1_flag1", m_booltimer1_flag1, False
PropBag.WriteProperty "kol_figur", m_intkol_figur, 1
End Sub
Private Sub Form_DblClick() 'обработка события двойного клика
Call nach_sost 'вызов процедуры установки нач. сост.
Picture1.BackColor = &H8000000F 'установка серого фона в Picture1
Picture1.DrawWidth = 1 'установка толщены линии
Picture1.Scale (0, 0)-(20, 30) 'установка масштаба
End Sub
Private Sub Timer1_Timer() 'обработка таймера
Timer1.Interval = 500 / interval1 'установка таймера
Picture1.FillStyle = 0 'разрешение заливки
Picture1.FillColor = color1 'установка цвета заливки
Picture1.DrawWidth = 15 'установка толщены линии
If stop_merc = False Then timer1_flag1 = True 'проверка на состояние мерцания
If timer1_flag1 = False Then ' закрашиваем область пямоугольником
Picture1.Line (0, 0)-(20, 30), &H8000000F, BF
Picture1.Circle (10, 15), 1, vbBlack
timer1_flag1 = True
Else
If ind1_f = True Then
Picture1.Circle (10, 15), 4, color1 ' закрашиваем область типом индикатора(круг)
Else
Picture1.Circle (10, 15), 4, vbBlack, , , -0.6
Picture1.Circle (10, 15), 4, color1, , , -0.6 ' закрашиваем область типом индикатора(эллипс)
End If
timer1_flag1 = False
End If
End Sub
Sub nach_sost() 'процедура начального состояния
Label1.Caption = "" 'очищаем Label1
Timer1.Enabled = False ' останавливаем таймер1
Picture1.Cls 'очищаем Picture1
stop_merc = True 'нач. значение для мерцания
cvet = False 'нач. значение для выбора цвета
End Sub
Sub perv_ind() 'процедура обработки индикатора
If ind1_f = True Then 'проверка на тип индикатора
ind1_f = True
Else
ind1_f = False
End If
If cvet = False Then 'проверка на выбран ли цвет
MsgBox "Введите цвет", 48, "ERROR"
Exit Sub
End If
If Label1.Caption = "" Then 'проверка на выбрано ли имя
MsgBox "Введите имя", 48, "ERROR"
Exit Sub
Else
End If
If stop_merc = True Then 'проверка на параметры мерцания
If interval1 = "" Or IsNumeric(interval1) = False Then 'введена ли частота
MsgBox "Введите число в окне 'Частота'", 48, "ERROR"
Exit Sub
End If
If interval1 <= 0 Or interval1 > 500 Then 'в правильность ввода частоты
MsgBox "Введите число в дапазоне от 1..500", 48, "ERROR"
Exit Sub
End If
' interval1 = Text2.Text 'присваевание частоты интервалу
Timer1.Enabled = True 'вкл. таймер
' Call ind_1 'проверка на правильные условия показания индикатора
Else
Timer1.Enabled = False
Picture1.FillStyle = 0
Picture1.FillColor = color1
Picture1.DrawWidth = 15
If ind1_f = True Then
Picture1.Circle (10, 10), 4, color1
Else
Picture1.Circle (10, 10), 4, color1, , , -0.6
End If
End If
End Sub
'Sub start() 'процедура установки параметров по умолчанию
' Option5.Value = True
' Option7.Value = True
' Option10.Value = True
'End Sub
Sub f_1() 'процедура установки Option если выбран один индикатор
'Call start
kol_figur = 1
End Sub
'Sub ind_1() 'процедура проверка сколько выбранно индикаторов
'If kol_figur = 1 Then
'Form1.Show
'End If
'End Sub
Ответить
|
Номер ответа: 22 Автор ответа: Александр
Вопросов: 3 Ответов: 23
|
Профиль | | #22
|
Добавлено: 17.05.10 22:14
|
код проги на форме воТ
код форма1
Option Explicit
Private Sub Form_DblClick() 'обработка события двойного клика
Call nach_sost 'вызов процедуры установки нач. сост.
Form1.Picture1.BackColor = &H8000000F 'установка серого фона в Picture1
Show
Picture1.DrawWidth = 1 'установка толщены линии
Picture1.Scale (0, 0)-(20, 30) 'установка масштаба
Form2.Show 'показываем 1ую форму
Form1.Visible = True 'скрываем первую
End Sub
Private Sub Form_Load()
Picture1.Scale (0, 0)-(20, 30)
Form1.Picture1.DrawWidth = 18
Form1.Picture1.Circle (10, 15), 4, vbRed ' закрашиваем область типом индикатора(круг)
Form1.Picture1.DrawWidth = 1
Form1.Picture1.Circle (10, 15), 8, vbBlack
Label1.Caption = "PRW"
End Sub
Private Sub Timer1_Timer() 'обработка таймера
Form1.Timer1.Interval = 1000 / interval1 'установка таймера
Form1.Picture1.FillStyle = 0 'разрешение заливки
Form1.Picture1.FillColor = color1 'установка цвета заливки
Form1.Picture1.DrawWidth = 15 'установка толщены линии
If stop_merc = False Then timer1_flag1 = True 'проверка на состояние мерцания
If timer1_flag1 = False Then ' закрашиваем область пямоугольником
Form1.Picture1.Line (0, 0)-(20, 30), &H8000000F, BF
timer1_flag1 = True
If Form2.Option9.Value = True Then Beep 150, 1
Else
If ind1_f = True Then
Form1.Picture1.Circle (10, 15), 4, color1 ' закрашиваем область типом индикатора(круг)
Form1.Picture1.DrawWidth = 1
Form1.Picture1.Circle (10, 15), 8, vbBlack
Else
Form1.Picture1.Circle (10, 15), 4, color1, , , -0.6 ' закрашиваем область типом индикатора(эллипс)
Form1.Picture1.DrawWidth = 1
Form1.Picture1.Circle (10, 15), 8, vbBlack, , , -0.6
End If
timer1_flag1 = False
End If
End Sub
код форма 2
Option Explicit
Private Sub Command1_Click()
Call perv_ind
Form1.Visible = True
Form1.Show
End Sub
Private Sub Form_Load()
Form2.Visible = True
Form1.Show
Call nach_sost
End Sub
Private Sub Option7_Click()
Option9.Enabled = True
Option10.Enabled = True
Text2.Visible = True
End Sub
Private Sub Option8_Click()
Option9.Enabled = False
Option10.Enabled = False
Text2.Visible = False
End Sub
Private Sub Picture1_Click()
CommonDialog1.ShowColor 'подключаем с помощью CommonDialog1 цветовую гамму
Picture1.BackColor = CommonDialog1.Color 'закрашиваем Picture1 выбранным цветом
color1 = CommonDialog1.Color
cvet = True 'установка что цвет выбран
End Sub
модуля
Option Explicit
Public color1 As ColorConstants 'переменная для цвета 1-ого индикатора
Public stop_merc As Boolean 'переменная для прекращения мерцания
Public ind1_f As Boolean 'переменные тип фигур круг или эллипс
Public cvet As Boolean 'переменная для выбора цвета
Public timer1_flag1 As Boolean
Public kol_figur As Integer 'переменая кол-ва индикаторов
Public interval1 As Single 'переменные для интерввала каждого таймера
Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Sub nach_sost() 'процедура начального состояния
Form1.Label1.Caption = "" 'очищаем Label1
Form1.Timer1.Enabled = False ' останавливаем таймер1
Form1.Picture1.Cls 'очищаем Picture1
stop_merc = True 'нач. значение для мерцания
cvet = False 'нач. значение для выбора цвета
End Sub
Sub perv_ind() 'процедура обработки индикатора
Form1.Picture1.Cls
If Form2.Option5.Value = True Then 'проверка на тип индикатора
ind1_f = True
Else
ind1_f = False
End If
If cvet = False Then 'проверка на выбран ли цвет
MsgBox "Введите цвет", 48, "ERROR"
Exit Sub
End If
If Form2.Text1.Text = "" Then 'проверка на выбрано ли имя
MsgBox "Введите имя", 48, "ERROR"
Exit Sub
Else
Form1.Label1.Caption = Form2.Text1.Text 'присваеваем имя
End If
If Form2.Option7.Value = True Then 'проверка на параметры мерцания
If Form2.Text2.Text = "" Or IsNumeric(Form2.Text2.Text) = False Then 'введена ли частота
MsgBox "Введите число в окне 'Частота'", 48, "ERROR"
Exit Sub
End If
If Form2.Text2.Text <= 0 Or Form2.Text2.Text > 24 Then 'в правильность ввода частоты
MsgBox "Введите число в дапазоне от 1..24", 48, "ERROR"
Exit Sub
End If
interval1 = Form2.Text2.Text 'присваевание частоты интервалу
' Call clear 'очищаем все элементы для задания следующему индикатору параметров
Form1.Timer1.Enabled = True 'вкл. таймер
Form1.Show 'проверка на правильные условия показания индикатора
Else
Form1.Timer1.Enabled = False
Form1.Picture1.FillStyle = 0
Form1.Picture1.FillColor = color1
Form1.Picture1.DrawWidth = 15
If ind1_f = True Then
Form1.Picture1.Circle (10, 15), 4, color1
Form1.Picture1.DrawWidth = 1
Form1.Picture1.Circle (10, 15), 8, vbBlack
Else
Form1.Picture1.Circle (10, 15), 4, color1, , , -0.6
Form1.Picture1.DrawWidth = 1
Form1.Picture1.Circle (10, 15), 9, vbBlack, , , -0.6
End If
End If
End Sub
Sub clear() 'процедура очистки экрана
cvet = False
Form2.Frame3.Caption = ""
Form2.Text2.Text = ""
Form2.Text1.Text = ""
Form2.Picture1.BackColor = &H8000000F
End Sub
Sub start() 'процедура установки параметров по умолчанию
Form2.Option5.Value = True
Form2.Option7.Value = True
Form2.Option10.Value = True
End Sub
Sub f_1() 'процедура установки Option если выбран один индикатор
Call start
kol_figur = 1
End Sub
помоги пожалуйста, я не могу долго быть за компьютером (т.к.у меня отец пьян)
Ответить
|
Страница: 1 | 2 | 3 |
Поиск по форуму