Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: работа со звуком Добавлено: 15.05.10 22:54  

Автор вопроса:  Александр

Ответить

  Ответы Всего ответов: 37  

Номер ответа: 16
Автор ответа:
 Александр



Вопросов: 3
Ответов: 23
 Профиль | | #16 Добавлено: 17.05.10 21:13
ActiveX - это мое задание))
сначала задачку на форме, а потом зделать из неё компонент *.ocx

Ответить

Номер ответа: 17
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #17
Добавлено: 17.05.10 21:32
а где осх делать? надо ctl скомпилить?

Ответить

Номер ответа: 18
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #18
Добавлено: 17.05.10 21:34
ну воть - создаеш юзер контрол,
код:
  1. Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
  2.  
  3. Private Sub btnMercat_Click()
  4. Do While lbl1.Caption = "Process..."
  5.  
  6. If Label1.Visible = 1 Then
  7.  
  8. Label1.Visible = False
  9.  
  10. Beep
  11.  
  12. Else
  13.  
  14. Label1.Visible = True
  15.  
  16. Beep
  17.  
  18. End If
  19.  
  20. Loop
  21. End Sub
  22.   
  23. Private Sub exit_Click()
  24. lbl1.Caption = "Stopped"
  25. End Sub


на форме контрола у тебя кнопка под названием btnMercat, и кнопка exit, лэйбл label1, и lbl1.

Ответить

Номер ответа: 19
Автор ответа:
 Александр



Вопросов: 3
Ответов: 23
 Профиль | | #19 Добавлено: 17.05.10 21:41
глянь большой код на 1 ой странице, он мой, из него нужно сделать Active X

Ответить

Номер ответа: 20
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #20
Добавлено: 17.05.10 21:51
я могу конечно переработать его, но пожалуйста пошивили сам серым вещаством, всё запихни в одну форму! Ну что мне помочь или сам? :)
ps я не отказываюсь, но было бы хорошо про серое вещаство.

Ответить

Номер ответа: 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




помоги пожалуйста, я не могу долго быть за компьютером (т.к.у меня отец пьян)

Ответить

Номер ответа: 23
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #23
Добавлено: 17.05.10 22:21
значит воть ты мне дал конечный код? да7 знач так:
нужно 6 свойств (имя, круг =true или элипс=false As boolean, цвет As ?????, есть или нет мерцание, частота мерцания (от 1до 24), звук есть или нету) все свойства через запятую (это я себе для памяти скопировал))))
Цвет As String - зписываешь сюда код цвета, частота мерцания As Double, звук As Boolean, про фигуры не понял. имя чего? (Name As String). Фигуры - может быть я прав - Код фигуры As Long или номер фигуры As Integer. попытаюсь всё в контрол перенести

Ответить

Номер ответа: 24
Автор ответа:
 Александр



Вопросов: 3
Ответов: 23
 Профиль | | #24 Добавлено: 17.05.10 22:26
неенене, про фигуры: к примеру свойство "figura" (типа boolean) и на выбор: если true значит рисует круг, а если false - элипс

Ответить

Номер ответа: 25
Автор ответа:
 Александр



Вопросов: 3
Ответов: 23
 Профиль | | #25 Добавлено: 17.05.10 22:28
а имя индикатора (Label1) на форме контрола (label1 должен находиться на форме контрола

Ответить

Номер ответа: 26
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #26
Добавлено: 17.05.10 22:36
и ещё дай полный список объектов на форме. или что лучше принтскрин своего экрана с формой.

Ответить

Номер ответа: 27
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #27
Добавлено: 17.05.10 22:38
про фигуры понял, я просто говорил как лучше, но можно и так. :) процесс идёт

Ответить

Номер ответа: 28
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #28
Добавлено: 17.05.10 22:39
в контроле актив не может быть форм, и тп там одна форма, и код у неё свой и один!

Ответить

Номер ответа: 29
Автор ответа:
 Александр



Вопросов: 3
Ответов: 23
 Профиль | | #29 Добавлено: 17.05.10 22:47
дай мне пожалуйста адрес почты, я скину туда

Ответить

Номер ответа: 30
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #30
Добавлено: 17.05.10 22:54
извини, сегодня закончить несмогу. :( завтра доделаю.

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам