تبليغاتX
ساخت مديا پلير
ساخت مديا پلير AVIو ساخت فايل چند رسانه اي
 چند رسانه ای
 

 

چند رسانه اي

چند رسانه اي به فناوريي گفته ميشود كه امكان اميختن دو رسانه و يا بيشتر را فراهم ميكند مثل تركيب رسانه متني ،تصوير ونقشه ،صدا ،حركت كامل ،انيميشن و مانند اينها.

براي چند رسانه اي صوت وگرافيك و اطلاعات به طور همزمان بسيار مفيد است.

انواع فايل هاي چند رسانه اي

،شكل ديجيتال تن صدا وبلندي صدا را در طول موسيقي ذخيره ميكندwavفايل هاي

چون اين فايل ها هيچ گونه اطلاعاتي راجع به صداي ذخيره شده ندارند ،حجم زيادي را براي يك اهنگ ذخيره   نام دارد اين فايل اطلاعاتي را كه نت هاي MIDIميكنند .يك نوع فايل صوتي ديگر نيز وجود دارد كه

 اين است MIDIتوسط چه الاتي و به چه مدتي نواخته شوند نگهداري ميكند .از مزاياي ديگر فايل

 از فايل هاي صوتي هستندWav , MIDI است دو فايل Wavكه حجم ان خيلي كمتر از فايل هاي

  ،از نوع فايل هاي تصويري مي باشند.Avi , MPGEفايل هاي

فايل تصويري ، صدا را پشتيباني مي كنند تا بتوانصدا و تصوير را به طور سنكرون(هماهنگ) پخش كرد.

 نامMovفايل هاي فيلم مالتي مديا هم وجود دارند كه صوت وتصوير را با هم دارند اين فايل هاي

 دارند اين فايل ها فايل نوار صوتي ديجيتال نام دارند.Dat دارند. فايل هايي وجود دارند كه پسوند

MCIعنصر

 براي پخش فايل هاي تصويريMCIاين عنصر براي كار با فايل هاي صوتي و تصويري به كار مي رود.عنصر

 شبيه MCIو وسائل چند رسانه اي مورد استفاده قرار مي گيرد. از عناصر وي‍ژوال است عنصر ويژوال

Wav , ضبط صوت مي باشد. با استفاده از اين عنصر مي توان فايل هاي صوتي با پسوند VCR

 (فيلم مالتي مديا) و غيره را پخش كرد .Avi ,  MMMو فايل هاي تصويري Mid , Dat

 در جعبه ابزار ويژوال بيسيك وجود ندارد براي اضلفه كردن اين عنصر به جعبه ابزار MCIعنصر

 را انتخاب Components/microsoft multy media 6.0 project از گزينه

كرده.

 

نحوه ساخت و فرم هاي نرم افزار مديا پلير

طراحي شده ،در اين نرم افزار از پنج فرن مجزا استفاده شدهVb6 اين نرم افزار در

كه به شرح هر كدام مي پردازيم:

فرم اول: در اين فرم كه فرم اصلي و فرم ورودي به ديگر قسمت هاي نرم افزار است شماي ظاهري  اين فرم به صورت زير است

كه شامل دو مديا پلير و يك دكمه زمان و تاريخ و دكمه ديگري كه اطلاعاتي راجع به سازنده ميدهد.و از كدهاي زير در اين صفحه استفاده شده است:

Private Sub KewlButtons1_Click()

    Form2.Show

End Sub

Private Sub KewlButtons2_Click()

    Form3.Show

End Sub

Private Sub KewlButtons3_Click()

    Form4.Show

End Sub

Private Sub KewlButtons4_Click()

Form5.Show

End Sub

Private Sub KewlButtons5_Click()

End

End Sub

فرم دوم مديا پليري را نشان ميدهد كه با يك فايل تصويري از پيش تعريف شده كار ميكند، و شماي ظاهري ان به صورت زير است:

                                                                                                                                 كد:

Private Sub Form_Load()

    Form2.Width = 13875

    Form2.Height = 10100

    Form2.Left = 200

End Sub

Private Sub WindowsMediaPlayer1_Click(ByVal nButton As Integer, ByVal nShiftState As Integer, ByVal fX As Long, ByVal fY As Long)

    WindowsMediaPlayer1.URL = App.Path + "\Film Code Len.avi"

End Sub

فرم سوم مدياپليري را نشان ميدهد كه قابليت انتخاب نوع فايل ها و دكمه ها ي يك مديا پلير شامل پخش ،ايست،در اوردن،بعدي ،قبلي و.... را دارا مي باشد در اين قسمت  نيز گذاشته شده كه به وسيله نرم افزار سويش طراحي شده كه در ادامه Aviيك فايل

به توضيح ان مي پردازيم.اما شمايل ظاهري اين فرم به صورت زير است:

كد:

Private Sub initmenu()

    mnunext.Enabled = False

    mnuback.Enabled = False

    mnupause.Enabled = False

    mnuplay.Enabled = False

    mnuprev.Enabled = False

    mnustop.Enabled = False

    mnueject.Enabled = False

    mnustep.Enabled = False

End Sub

 

Private Sub select_device(filename As String)

    name1 = UCase(Right(filename, 3))

    Select Case name1

        Case "wav"

            MMControl1.DeviceType = "waveaudio"

            Picture1.Visible = False

        Case "avi"

            On Error GoTo 0

            MMControl1.DeviceType = "avivideo"

            Picture1.Visible = True

            MMControl1.hWndDisplay = Picture1.hWnd

        Case "mmm"

            MMControl1.DeviceType = "mmmovie"

            Picture1.Visible = True

        End Select

 

End Sub

Private Sub end_click()

    MMControl1.Command = "next"

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

    End

End Sub

 

Private Sub exit_click()

    MMControl1.Command = "stop"

    MMControl1.Command = "close"

    End

End Sub

Private Sub Form_Load()

Call initmenu

Form3.Width = 10956

Form3.Height = 10005

Form3.Top = 105

End Sub

Private Sub KewlButtons2_Click()

 Animation1.play

End Sub

 

Private Sub KewlButtons3_Click()

MMControl1.Command = "next"

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

End

End Sub

Private Sub KewlButtons4_Click()

 Form2.Width = 7995

    Form2.Show

End Sub

 

Private Sub KewlButtons6_Click()

Form3.Show

End Sub

Private Sub KewlButtons1_Click()

 End

End Sub

Private Sub mnuback_Click()

    MMControl1.Command = "back"

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

End Sub

Private Sub mnueject_Click()

    MMControl1.Command = "stop"

    MMControl1.Command = "eject"

    mnuplay.Enabled = True

End Sub

 

Private Sub mnuopen_Click()

    CommonDialog1.Filter = "all file|*.*|movie file |*.mmm| wave file |*.wave,*.mp4| midi file|*.midi"

    CommonDialog1.CancelError = True

    On Error GoTo errorhandle

    CommonDialog1.ShowOpen

    If MMControl1.Mode <> micmodenotopen Then

        Call select_device(CommonDialog1.filename)

        MMControl1.filename = CommonDialog1.filename

        MMControl1.Notify = True

        MMControl1.Wait = True

        MMControl1.Shareable = False

        MMControl1.Command = "close"

        MMControl1.Command = "open"

        mnuplay.Enabled = True

        mnunext.Enabled = True

        mnuback.Enabled = True

        mnustep.Enabled = True

        mnuprev.Enabled = True

     End If

    Exit Sub

errorhandle:

   MsgBox ErrorMessage

End Sub

 

Private Sub mnupause_Click()

    MMControl1.Command = "pause"

    mnupause.Enabled = False

    mnuplay.Enabled = True

    mnustop.Enabled = True

End Sub

 

Private Sub mnuplay_Click()

    If MMControl1.Mode <> micmodepause Then

        MMControl1.Command = "prev"

    End If

    MMControl1.Command = "play"

    mnupause.Enabled = True

    mnuplay.Enabled = False

    mnuprev.Enabled = True

    mnustep.Enabled = True

    mnueject.Enabled = True

    mnustop.Enabled = True

End Sub

 

Private Sub mnuprev_Click()

    MMControl1.Command = "prev"

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

End Sub

 

Private Sub mnustep_Click()

    MMControl1.Command = "step"

    mnuplay.Enabled = True

End Sub

 

Private Sub mnustop_Click()

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

    mnustop.Enabled = False

    End Sub

   

 

Private Sub play_Click()

    Animation1.play

End Sub

 

Private Sub Timertime_Timer()

Labeltime.Caption = "New Time: " & Time

Labeldata.Caption = "New Date: " & Date

End Sub

فرم چهارم  به معدفي طراحان ميپردازد:

 و فرم پنجم كه شامل يك ساعت و تاريخ است داراي شمايل ظاهري به صورت زير است:

كد:

 

Const PI = 3.14159

Private Sub CmdExitSetting_Click()

Unload Me

End Sub

Private Sub Form_Activate()

Call DetectDateToSuniDate

Call DaySelect

Call DetectRooz1to31Day

Form5.Height = 6240

Form5.Width = 10095

End Sub

Private Sub LblMax_Click()

Timermax.Enabled = True

End Sub

Private Sub LblMin_Click()

Timermin.Enabled = True

Timermax.Enabled = False

End Sub

Private Sub Timermax_Timer()

If Me.Width >= 10005 Then

LblMax.Visible = False

LblMin.Visible = True

Timermax.Enabled = False

Else

Me.Width = Val(Me.Width) + 100

End If

If Me.Height >= 4680 Then

Else

Me.Height = Val(Me.Height) + 100

End If

 

 

End Sub

Private Sub Timermin_Timer()

If Me.Width <= 800 Then

LblMax.Visible = True

LblMin.Visible = False

Timermin.Enabled = False

Else

Me.Width = Val(Me.Width) - 100

End If

If Me.Height <= 900 Then

Else

Me.Height = Val(Me.Height) - 100

End If

End Sub

Private Sub tmrQuartz_Timer()

Dim Hours As Single, Minutes As Single, Seconds As Single

Dim TrueHours As Single

LblDiTime(0) = Left(Time, 8)

LblDiTime(1) = Right(LblDiTime(0), 2)

LblDiTime(2) = Mid(Time, 4, 2)

'Beep

Hours = Hour(Time)

Minutes = Minute(Time)

Seconds = Second(Time)

TrueHours = Hours + Minutes / 60

LineHour.X2 = 1000 * Cos(PI / 180 * (30 * TrueHours - 90)) + LineHour.X1

LineHour.Y2 = 1000 * Sin(PI / 180 * (30 * TrueHours - 90)) + LineHour.Y1

    LineMinute.X2 = 1500 * Cos(PI / 180 * (6 * Minutes - 90)) + LineHour.X1

LineMinute.Y2 = 1500 * Sin(PI / 180 * (6 * Minutes - 90)) + LineHour.Y1

LineSecond.X2 = 1600 * Cos(PI / 180 * (6 * Seconds - 90)) + LineHour.X1

LineSecond.Y2 = 1600 * Sin(PI / 180 * (6 * Seconds - 90)) + LineHour.Y1

 

Call DetectDateToSuniDate

Call DaySelect

Call DetectRooz1to31Day

 End Sub

Private Sub Form_Load()

For i = 0 To 34

LblDay(i).Caption = LblDay(i).Index

Next i

For i = 1 To 33 Step 2

LblDay(i).BackColor = &HC0FFFF

Next i

'Call DaySelect

Call tmrQuartz_Timer

Call DetectDateToSuniDate

 

 

End Sub

 

Public Function Rooz(F_Date As Long) As Byte

Rooz = F_Date Mod 100

End Function

Function Mah(F_Date As Long) As Byte

Mah = Int((F_Date Mod 10000) / 100)

End Function

Public Function Sal(F_Date As Long) As Byte

Sal = Int(F_Date / 10000)

End Function

Public Function Kabiseh(ByVal OnlySal As Variant) As Byte

Kabiseh = 0

If OnlySal >= 75 Then

If (OnlySal - 75) Mod 4 = 0 Then

Kabiseh = 1

Exit Function

End If

ElseIf OnlySal <= 70 Then

If (70 - OnlySal) Mod 4 = 0 Then

Kabiseh = 1

Exit Function

End If

End If

 

End Function

Function ValidDate(F_Date As Long) As Boolean

Dim M, S, R As Byte

ValidDate = True

S = Sal(F_Date)

M = Mah(F_Date)

R = Rooz(F_Date)

'********

If F_Date < 100101 Then

ValidDate = False

Exit Function

End If

If M > 12 Or M = 0 Or R = 0 Then

ValidDate = False

Exit Function

End If

If R > MahDays(S, M) Then

ValidDate = False

Exit Function

End If

End Function

Public Function AddDay(ByVal F_Date As Long, ByVal add As Integer) As Long

Dim K, M, S, R, Days As Byte

R = Rooz(F_Date)

M = Mah(F_Date)

S = Sal(F_Date)

K = Kabiseh(S)

Days = MahDays(S, M)

If add > Days - R Then

add = add - (Days - R + 1)

R = 1

If M < 12 Then

M = M + 1

Else

M = 1

S = S + 1

End If

Else

R = R + add

add = 0

End If

While add > 0

K = Kabiseh(S) '?????: 1 ? ??? ?????: 0

Days = MahDays(S, M) '????? ?????? ??? ????

Select Case add

Case Is < Days

R = R + add

add = 0

Case Days To IIf(K = 0, 365, 366) - 1

add = add - Days

If M < 12 Then

M = M + 1

Else

S = S + 1

M = 1

End If

Case Else

S = S + 1

add = add - IIf(K = 0, 365, 366)

End Select

Wend

AddDay = (S * 10000) + (M * 100) + (R)

End Function

Public Function Shamsi() As Long

'????? ???? ????? ?? ?? ????? ???? ???? ????? ?? ???

Dim Shamsi_Mabna As Long

Dim Miladi_mabna As Date

Dim Dif As Long

'?? ????? 80/10/11 ?? 2002/01/01 ????? ???????? ???

Shamsi_Mabna = 791012

Miladi_mabna = #1/1/2001#

Dif = DateDiff("d", Miladi_mabna, Date)

If Dif < 0 Then

MsgBox "????? ???? ????? ??? ?????? ??? , ???? ????? ????."

Else

Shamsi = AddDay(Shamsi_Mabna, Dif)

End If

End Function

Public Function Dat()

Dim d As Long

d = Shamsi

Dat = " 13" & Sal(d) & "/" & Mah(d) & "/" & Rooz(d)

End Function

Public Function DatRooz()

Dim dr As Long

dr = Shamsi

DatRooz = Rooz(dr)

End Function

Public Function DatMahe()

Dim dm As Long

dm = Shamsi

DatMahe = Mah(dm)

End Function

Public Function Diff(ByVal FromDate As Long, ByVal To_Date As Long) As Long

Dim Tmp As Long

Dim S1, M1, r1, S2, m2, r2 As Integer

Dim Sumation As Single

Dim Flag As Boolean

Flag = False

If FromDate = 0 Or IsNull(FromDate) = True Or To_Date = 0 Or IsNull(To_Date) = True Then

Diff = 0

Exit Function

End If

 

If FromDate > To_Date Then

Flag = True

Tmp = FromDate

FromDate = To_Date

To_Date = Tmp

End If

r1 = Rooz(FromDate)

M1 = Mah(FromDate)

S1 = Sal(FromDate)

r2 = Rooz(To_Date)

m2 = Mah(To_Date)

S2 = Sal(To_Date)

Sumation = 0

Do While S1 < S2 - 1 Or (S1 = S2 - 1 And (M1 < m2 Or (M1 = m2 And r1 <= r2)))

If Kabiseh((S1)) = 1 Then

If M1 = 12 And r1 = 30 Then

Sumation = Sumation + 365

r1 = 29

Else

Sumation = Sumation + 366

End If

Else

Sumation = Sumation + 365

End If

S1 = S1 + 1

Loop

 

Do While S1 < S2 Or M1 < m2 - 1 Or (M1 = m2 - 1 And r1 < r2)

Select Case M1

Case 1 To 6

If M1 = 6 And r1 = 31 Then

Sumation = Sumation + 30

r1 = 30

Else

Sumation = Sumation + 31

End If

M1 = M1 + 1

Case 7 To 11

If M1 = 11 And r1 = 30 And Kabiseh(S1) = 0 Then

Sumation = Sumation + 29

r1 = 29

Else

Sumation = Sumation + 30

End If

M1 = M1 + 1

Case 12

If Kabiseh(S1) = 1 Then

Sumation = Sumation + 30

Else

Sumation = Sumation + 29

End If

S1 = S1 + 1

M1 = 1

End Select

Loop

If M1 = m2 Then

Sumation = Sumation + (r2 - r1)

Else

Select Case M1

Case 1 To 6

Sumation = Sumation + (31 - r1) + r2

Case 7 To 11

Sumation = Sumation + (30 - r1) + r2

Case 12

If Kabiseh(S1) = 1 Then

Sumation = Sumation + (30 - r1) + r2

Else

Sumation = Sumation + (29 - r1) + r2

End If

End Select

End If

 

If Flag = True Then

Sumation = -Sumation

End If

Diff = Sumation

End Function

 

Public Function DayWeekNo(F_Date As Long) As String

Dim day As String

Dim Shmsi_Mabna As Long

Dim Dif As Long

'???? 80/10/11

Shmsi_Mabna = 801011

Dif = Diff(Shmsi_Mabna, F_Date)

If Shmsi_Mabna > F_Date Then

Dif = -Dif

End If

day = (Dif + 3) Mod 7

If day < 0 Then

DayWeekNo = day + 7

Else

DayWeekNo = day

End If

End Function

Function SalMah(ByVal F_Date As Long) As Integer

SalMah = Val(Left$(F_Date, 4))

End Function

Function MahDays(ByVal Sal As Byte, ByVal Mah As Byte) As Byte

Select Case Mah

Case 1 To 6

MahDays = 31

Case 7 To 11

MahDays = 30

Case 12

If Kabiseh(Sal) = 1 Then

MahDays = 30

Else

MahDays = 29

End If

End Select

End Function

Function Make_Date(ByVal F_Date As Long) As String

Dim d As String

d = Trim(Str(F_Date))

If IsNull(F_Date) = True Or F_Date = 0 Then

Make_Date = ""

Else

Make_Date = "13" & Mid(d, 1, 2) & "/" & Mid(d, 3, 2) & "/" & Mid(d, 5, 2)

End If

End Function

Function NextMah(ByVal Sal_Mah As Integer) As Integer

If (Sal_Mah Mod 100) = 12 Then

NextMah = (Int(Sal_Mah / 100) + 1) * 100 + 1

Else

NextMah = Sal_Mah + 1

End If

End Function

Function PreviousMah(ByVal Sal_Mah As Integer) As Integer

If (Sal_Mah Mod 100) = 1 Then

PreviousMah = (Int(Sal_Mah / 100) - 1) * 100 + 12

Else

PreviousMah = Sal_Mah - 1

End If

End Function

Function SubtractDay(ByVal F_Date As Long, ByVal Subtract As Long) As Long

Dim K, M, S, R, Days As Byte

R = Rooz(F_Date)

M = Mah(F_Date)

S = Sal(F_Date)

K = Kabiseh(S)

If Subtract >= R - 1 Then

Subtract = Subtract - (R - 1)

R = 1

Else

R = R - Subtract

Subtract = 0

End If

While Subtract > 0

K = Kabiseh(S - 1)

Days = MahDays(IIf(M >= 2, S, S - 1), IIf(M >= 2, M - 1, 12)) Select Case Subtract

Case Is < Days

R = Days - Subtract + 1

Subtract = 0

If M >= 2 Then

M = M - 1

Else

S = S - 1

M = 12

End If

Case Days To IIf(K = 0, 365, 366) - 1

Subtract = Subtract - Days

If M >= 2 Then

M = M - 1

Else

S = S - 1

M = 12

End If

Case Else

S = S - 1

Subtract = Subtract - IIf(K = 0, 365, 366)

End Select

Wend

SubtractDay = (S * 10000) + (M * 100) + (R)

End Function

Public Sub DaySelect()

For i = 0 To 41

If LblDay(i).BackColor = &HFF& Then LblDay(i).BackColor = &HC0FFC0

If Trim(LblDay(i).Caption) = Empty Then

Else

LblDay(i + (DatRooz - 1)).BackColor = &HFF&

Exit Sub

End If

Next i

End Sub

Public Sub DetectRooz1to31Day()

MahShow = (Mid(Trim(Dat), 6, 2))

Select Case MahShow

Case 1

MahName = "ÝÑæÑÏíä"

Case 2

MahName = "ÇÑÏíÈåÔÊ"

Case 3

MahName = "ÎÑÏÇÏ"

Case 4

MahName = "撄"

Case 5

MahName = "ãÑÏÇÏ"

Case 6

MahName = "ÔåÑíæÑ"

Case 7

MahName = "ãåÑ"

Case 8

MahName = "ÂÈÇä"

Case 9

MahName = "ÂÐÑ"

Case 10

MahName = "Ïí"

Case 11

MahName = "Èåãä"

Case 12

MahName = "ÇÓÝäÏ"

End Select

n = DatePart("w", Date)

Select Case n

Case 7

a = "ÔäÈå"

Case 1

a = "íßÔäÈå"

Case 2

a = "ÏæÔäÈå"

Case 3

a = "Óå ÔäÈå"

Case 4

a = "åÇÑ ÔäÈå"

Case 5

a = "äÌ ÔäÈå"

Case 6

a = "ÌãÚå"

End Select

Dim dDate As Long

Dim DSal As Long

dDate = Shamsi

DSal = Left(Trim(Dat), 4)

LblToday = " ÇãÑæÒ :  " & a & "  " & Rooz(dDate) & "  " & MahName & " " & "  " & DSal & "         " & Dat

n = DatePart("w", Date)

Select Case n

Case 7

For i = 0 To Val(31)

Next i

a = "ÔäÈå"

Case 1

a = "íßÔäÈå"

Case 2

a = "ÏæÔäÈå"

Case 3

a = "Óå ÔäÈå"

Case 4

a = "åÇÑ ÔäÈå"

Case 5

a = "äÌ ÔäÈå"

Case 6

a = "ÌãÚå"

End Select

End Sub

Public Sub DetectDateToSuniDate()

List1.Clear

List1.AddItem "ÔäÈå"

List1.AddItem "íßÔäÈå"

List1.AddItem "ÏæÔäÈå"

List1.AddItem "Óå ÔäÈå"

List1.AddItem "åÇÑ ÔäÈå"

List1.AddItem "äÌ ÔäÈå"

List1.AddItem "ÌãÚå"

Text1.Text = DatMahe

Text2.Text = DatRooz

Text3 = Dat

n = DatePart("w", Date)

LblDay(0) = n

Select Case n

Case 7

a = "ÔäÈå"

List1.ListIndex = 0

Case 1

a = "íßÔäÈå"

List1.ListIndex = 1

Case 2

a = "ÏæÔäÈå"

List1.ListIndex = 2

Case 3

a = "Óå ÔäÈå"

List1.ListIndex = 3

Case 4

a = "åÇÑ ÔäÈå"

List1.ListIndex = 4

Case 5

a = "äÌ ÔäÈå"

List1.ListIndex = 5

Case 6

a = "ÌãÚå"

List1.ListIndex = 6

End Select

For i = 1 To Val(Text2.Text) - 1

If List1.ListIndex = 0 Then

List1.ListIndex = 6

Else

List1.ListIndex = Val(List1.ListIndex) - 1

End If

Next i

For i = 0 To 41

LblDay(i).Caption = Empty

LblDay(i).BackColor = &HFFFFFF

Next i

Select Case Val(Text1.Text)

Case 1 To 6

     Select Case List1.Text

      Case "ÔäÈå"

     j = 0

     For i = 0 To 30

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

     Next i

          Case "íßÔäÈå"

    j = 0

     For i = 1 To 31

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

    

     Next i

     Case "ÏæÔäÈå"

    j = 0

     For i = 2 To 32

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "Óå ÔäÈå"

    j = 0

     For i = 3 To 33

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "åÇÑ ÔäÈå"

    j = 0

     For i = 4 To 34

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "äÌ ÔäÈå"

    j = 0

     For i = 5 To 35

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "ÌãÚå"

    j = 0

     For i = 6 To 36

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          End Select

Case 7 To 11

     Select Case List1.Text

      Case "ÔäÈå"

     j = 0

     For i = 0 To 29

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

     Next i

          Case "íßÔäÈå"

    j = 0

     For i = 1 To 30

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "ÏæÔäÈå"

    j = 0

     For i = 2 To 31

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "Óå ÔäÈå"

    j = 0

     For i = 3 To 32

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "åÇÑ ÔäÈå"

    j = 0

     For i = 4 To 33

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "äÌ ÔäÈå"

    j = 0

     For i = 5 To 34

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "ÌãÚå"

    j = 0

     For i = 6 To 35

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          End Select

Case 12

     Select Case List1.Text

      Case "ÔäÈå"

     j = 0

     For i = 0 To 30

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

     Next i

          Case "íßÔäÈå"

    j = 0

     For i = 1 To 31

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "ÏæÔäÈå"

    j = 0

     For i = 2 To 32

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "Óå ÔäÈå"

    j = 0

     For i = 3 To 33

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "åÇÑ ÔäÈå"

    j = 0

     For i = 4 To 34

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

   

     Case "äÌ ÔäÈå"

    j = 0

     For i = 5 To 35

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "ÌãÚå"

    j = 0

     For i = 6 To 36

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          End Select

End Select

End Sub

 

 

اشنايي با محيط سويش

در اين بخش به صورت خلاصه بخش هاي مهم اينترفيس نرم افزار را برايتان معرفي مي كنيم پس از اجراي نرم افزار ابتدا چنين صفحه اي را خواهيد ديد:

تصوير 1

 را از سمت چپ انتخاب كنيد.با اين كار صفحه اي  New movieبراي ادامه گزينه

با اين كادر (صفحه اصلي سويش )ظاهر مي شود.

تصوير 2

اين صفحه بخش هاي مختلفي دارد كخه مهمترين بخش ها را با هم ميبينيم

1 منو و نوار ابزار

منوي نرم افزار سويش شبيه به اكثر نرم افزار هاي تحت ويندوز است

تصوير3

 

 يا نوار زمان:Timeline2

اين قسمت مهمترين بخش نرم افزار سويش و اكثر نرم افزار هاي ساخت انيميشن است

كليد فهم سويش ، همين تايم لاين و منطق كاري آن است تايم لاين يك نوار طولاني است كه تعداد زيادي خانه يا سلول مستطيل شكل تشكيل شده است هر يك از اين خانه ها را يك فريم مينامند.

تصوير 4

 يا صفحه طراحي Layout3

ما با اين بخش بيش از همه بخش ها سر و كار داريم زيرا همه فريم هاي انيميشن را  بايد در اينجا طراحي كنيم در واقع اينجا صفحه اصلي كار ماست.

تصوير 5

 يا ابزار tools4

به كمك ابزار هاي موجود در اين بخش مي توانيد اشكال مختلفي د ر صفحه طراحي كنيد متن به ان اضافه كنيد و انها را به دلخواه تغيير دهيد.

  تصوير 6

Aviساخت فايل

براي ساخت از نوار ابزار ،ابزار مورد نظر را انتخاب كرده و شروع به رسم كردن ميكنيم  ا   استفاده ميكنيم. . . . ابزار هايي مانند:  ،

  استفاد ميكنيم. براي نوشتن از ابزار

براي رسم يك شكل از چندين شكل استفاده مي كنيم و اين  موضوع براي حركت تمام اجزا با هم مشكل ساز ميشود زيرا هماهنگي لازم را ندارند و بايد انها به هم چسبانده شوند در اين حالت هر جلوه يا حركتي كه به انها بدهيم روي همه تعمال مي شود براي چسباندن انها به هم اجرايي را كه تشكيل يك مجموعه ميدهن را با هم   و  group as و سپس گزينه groupingگزينه modify انتخاب مي كنيم و از منوي

 را انتخاب كنيدgroup

تصوير 7

بعد از ساخت اشياء نياز به حركت دادن انها داريم براي حركت دادن اشياءاز نوار ابزار ،  را انتخاب و شي مورد نظر را به  هر سمتي كه ميخوايم motion path toolsابزار

حركت دهيم، مي كشيم

 

 

 

 

|+| نوشته شده توسط محسن حبيبي،معصومه يابري،سمیه نورمند در سه شنبه هفتم دی 1389  |
 چند رسانه ای
 

 

چند رسانه اي

چند رسانه اي به فناوريي گفته ميشود كه امكان اميختن دو رسانه و يا بيشتر را فراهم ميكند مثل تركيب رسانه متني ،تصوير ونقشه ،صدا ،حركت كامل ،انيميشن و مانند اينها.

براي چند رسانه اي صوت وگرافيك و اطلاعات به طور همزمان بسيار مفيد است.

انواع فايل هاي چند رسانه اي

،شكل ديجيتال تن صدا وبلندي صدا را در طول موسيقي ذخيره ميكندwavفايل هاي

چون اين فايل ها هيچ گونه اطلاعاتي راجع به صداي ذخيره شده ندارند ،حجم زيادي را براي يك اهنگ ذخيره   نام دارد اين فايل اطلاعاتي را كه نت هاي MIDIميكنند .يك نوع فايل صوتي ديگر نيز وجود دارد كه

 اين است MIDIتوسط چه الاتي و به چه مدتي نواخته شوند نگهداري ميكند .از مزاياي ديگر فايل

 از فايل هاي صوتي هستندWav , MIDI است دو فايل Wavكه حجم ان خيلي كمتر از فايل هاي

  ،از نوع فايل هاي تصويري مي باشند.Avi , MPGEفايل هاي

فايل تصويري ، صدا را پشتيباني مي كنند تا بتوانصدا و تصوير را به طور سنكرون(هماهنگ) پخش كرد.

 نامMovفايل هاي فيلم مالتي مديا هم وجود دارند كه صوت وتصوير را با هم دارند اين فايل هاي

 دارند اين فايل ها فايل نوار صوتي ديجيتال نام دارند.Dat دارند. فايل هايي وجود دارند كه پسوند

MCIعنصر

 براي پخش فايل هاي تصويريMCIاين عنصر براي كار با فايل هاي صوتي و تصويري به كار مي رود.عنصر

 شبيه MCIو وسائل چند رسانه اي مورد استفاده قرار مي گيرد. از عناصر وي‍ژوال است عنصر ويژوال

Wav , ضبط صوت مي باشد. با استفاده از اين عنصر مي توان فايل هاي صوتي با پسوند VCR

 (فيلم مالتي مديا) و غيره را پخش كرد .Avi ,  MMMو فايل هاي تصويري Mid , Dat

 در جعبه ابزار ويژوال بيسيك وجود ندارد براي اضلفه كردن اين عنصر به جعبه ابزار MCIعنصر

 را انتخاب Components/microsoft multy media 6.0 project از گزينه

كرده.

 

نحوه ساخت و فرم هاي نرم افزار مديا پلير

طراحي شده ،در اين نرم افزار از پنج فرن مجزا استفاده شدهVb6 اين نرم افزار در

كه به شرح هر كدام مي پردازيم:

فرم اول: در اين فرم كه فرم اصلي و فرم ورودي به ديگر قسمت هاي نرم افزار است شماي ظاهري  اين فرم به صورت زير است

كه شامل دو مديا پلير و يك دكمه زمان و تاريخ و دكمه ديگري كه اطلاعاتي راجع به سازنده ميدهد.و از كدهاي زير در اين صفحه استفاده شده است:

Private Sub KewlButtons1_Click()

    Form2.Show

End Sub

Private Sub KewlButtons2_Click()

    Form3.Show

End Sub

Private Sub KewlButtons3_Click()

    Form4.Show

End Sub

Private Sub KewlButtons4_Click()

Form5.Show

End Sub

Private Sub KewlButtons5_Click()

End

End Sub

فرم دوم مديا پليري را نشان ميدهد كه با يك فايل تصويري از پيش تعريف شده كار ميكند، و شماي ظاهري ان به صورت زير است:

                                                                                                                                 كد:

Private Sub Form_Load()

    Form2.Width = 13875

    Form2.Height = 10100

    Form2.Left = 200

End Sub

Private Sub WindowsMediaPlayer1_Click(ByVal nButton As Integer, ByVal nShiftState As Integer, ByVal fX As Long, ByVal fY As Long)

    WindowsMediaPlayer1.URL = App.Path + "\Film Code Len.avi"

End Sub

فرم سوم مدياپليري را نشان ميدهد كه قابليت انتخاب نوع فايل ها و دكمه ها ي يك مديا پلير شامل پخش ،ايست،در اوردن،بعدي ،قبلي و.... را دارا مي باشد در اين قسمت  نيز گذاشته شده كه به وسيله نرم افزار سويش طراحي شده كه در ادامه Aviيك فايل

به توضيح ان مي پردازيم.اما شمايل ظاهري اين فرم به صورت زير است:

كد:

Private Sub initmenu()

    mnunext.Enabled = False

    mnuback.Enabled = False

    mnupause.Enabled = False

    mnuplay.Enabled = False

    mnuprev.Enabled = False

    mnustop.Enabled = False

    mnueject.Enabled = False

    mnustep.Enabled = False

End Sub

 

Private Sub select_device(filename As String)

    name1 = UCase(Right(filename, 3))

    Select Case name1

        Case "wav"

            MMControl1.DeviceType = "waveaudio"

            Picture1.Visible = False

        Case "avi"

            On Error GoTo 0

            MMControl1.DeviceType = "avivideo"

            Picture1.Visible = True

            MMControl1.hWndDisplay = Picture1.hWnd

        Case "mmm"

            MMControl1.DeviceType = "mmmovie"

            Picture1.Visible = True

        End Select

 

End Sub

Private Sub end_click()

    MMControl1.Command = "next"

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

    End

End Sub

 

Private Sub exit_click()

    MMControl1.Command = "stop"

    MMControl1.Command = "close"

    End

End Sub

Private Sub Form_Load()

Call initmenu

Form3.Width = 10956

Form3.Height = 10005

Form3.Top = 105

End Sub

Private Sub KewlButtons2_Click()

 Animation1.play

End Sub

 

Private Sub KewlButtons3_Click()

MMControl1.Command = "next"

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

End

End Sub

Private Sub KewlButtons4_Click()

 Form2.Width = 7995

    Form2.Show

End Sub

 

Private Sub KewlButtons6_Click()

Form3.Show

End Sub

Private Sub KewlButtons1_Click()

 End

End Sub

Private Sub mnuback_Click()

    MMControl1.Command = "back"

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

End Sub

Private Sub mnueject_Click()

    MMControl1.Command = "stop"

    MMControl1.Command = "eject"

    mnuplay.Enabled = True

End Sub

 

Private Sub mnuopen_Click()

    CommonDialog1.Filter = "all file|*.*|movie file |*.mmm| wave file |*.wave,*.mp4| midi file|*.midi"

    CommonDialog1.CancelError = True

    On Error GoTo errorhandle

    CommonDialog1.ShowOpen

    If MMControl1.Mode <> micmodenotopen Then

        Call select_device(CommonDialog1.filename)

        MMControl1.filename = CommonDialog1.filename

        MMControl1.Notify = True

        MMControl1.Wait = True

        MMControl1.Shareable = False

        MMControl1.Command = "close"

        MMControl1.Command = "open"

        mnuplay.Enabled = True

        mnunext.Enabled = True

        mnuback.Enabled = True

        mnustep.Enabled = True

        mnuprev.Enabled = True

     End If

    Exit Sub

errorhandle:

   MsgBox ErrorMessage

End Sub

 

Private Sub mnupause_Click()

    MMControl1.Command = "pause"

    mnupause.Enabled = False

    mnuplay.Enabled = True

    mnustop.Enabled = True

End Sub

 

Private Sub mnuplay_Click()

    If MMControl1.Mode <> micmodepause Then

        MMControl1.Command = "prev"

    End If

    MMControl1.Command = "play"

    mnupause.Enabled = True

    mnuplay.Enabled = False

    mnuprev.Enabled = True

    mnustep.Enabled = True

    mnueject.Enabled = True

    mnustop.Enabled = True

End Sub

 

Private Sub mnuprev_Click()

    MMControl1.Command = "prev"

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

End Sub

 

Private Sub mnustep_Click()

    MMControl1.Command = "step"

    mnuplay.Enabled = True

End Sub

 

Private Sub mnustop_Click()

    MMControl1.Command = "stop"

    mnuplay.Enabled = True

    mnustop.Enabled = False

    End Sub

   

 

Private Sub play_Click()

    Animation1.play

End Sub

 

Private Sub Timertime_Timer()

Labeltime.Caption = "New Time: " & Time

Labeldata.Caption = "New Date: " & Date

End Sub

فرم چهارم  به معدفي طراحان ميپردازد:

 و فرم پنجم كه شامل يك ساعت و تاريخ است داراي شمايل ظاهري به صورت زير است:

كد:

 

Const PI = 3.14159

Private Sub CmdExitSetting_Click()

Unload Me

End Sub

Private Sub Form_Activate()

Call DetectDateToSuniDate

Call DaySelect

Call DetectRooz1to31Day

Form5.Height = 6240

Form5.Width = 10095

End Sub

Private Sub LblMax_Click()

Timermax.Enabled = True

End Sub

Private Sub LblMin_Click()

Timermin.Enabled = True

Timermax.Enabled = False

End Sub

Private Sub Timermax_Timer()

If Me.Width >= 10005 Then

LblMax.Visible = False

LblMin.Visible = True

Timermax.Enabled = False

Else

Me.Width = Val(Me.Width) + 100

End If

If Me.Height >= 4680 Then

Else

Me.Height = Val(Me.Height) + 100

End If

 

 

End Sub

Private Sub Timermin_Timer()

If Me.Width <= 800 Then

LblMax.Visible = True

LblMin.Visible = False

Timermin.Enabled = False

Else

Me.Width = Val(Me.Width) - 100

End If

If Me.Height <= 900 Then

Else

Me.Height = Val(Me.Height) - 100

End If

End Sub

Private Sub tmrQuartz_Timer()

Dim Hours As Single, Minutes As Single, Seconds As Single

Dim TrueHours As Single

LblDiTime(0) = Left(Time, 8)

LblDiTime(1) = Right(LblDiTime(0), 2)

LblDiTime(2) = Mid(Time, 4, 2)

'Beep

Hours = Hour(Time)

Minutes = Minute(Time)

Seconds = Second(Time)

TrueHours = Hours + Minutes / 60

LineHour.X2 = 1000 * Cos(PI / 180 * (30 * TrueHours - 90)) + LineHour.X1

LineHour.Y2 = 1000 * Sin(PI / 180 * (30 * TrueHours - 90)) + LineHour.Y1

    LineMinute.X2 = 1500 * Cos(PI / 180 * (6 * Minutes - 90)) + LineHour.X1

LineMinute.Y2 = 1500 * Sin(PI / 180 * (6 * Minutes - 90)) + LineHour.Y1

LineSecond.X2 = 1600 * Cos(PI / 180 * (6 * Seconds - 90)) + LineHour.X1

LineSecond.Y2 = 1600 * Sin(PI / 180 * (6 * Seconds - 90)) + LineHour.Y1

 

Call DetectDateToSuniDate

Call DaySelect

Call DetectRooz1to31Day

 End Sub

Private Sub Form_Load()

For i = 0 To 34

LblDay(i).Caption = LblDay(i).Index

Next i

For i = 1 To 33 Step 2

LblDay(i).BackColor = &HC0FFFF

Next i

'Call DaySelect

Call tmrQuartz_Timer

Call DetectDateToSuniDate

 

 

End Sub

 

Public Function Rooz(F_Date As Long) As Byte

Rooz = F_Date Mod 100

End Function

Function Mah(F_Date As Long) As Byte

Mah = Int((F_Date Mod 10000) / 100)

End Function

Public Function Sal(F_Date As Long) As Byte

Sal = Int(F_Date / 10000)

End Function

Public Function Kabiseh(ByVal OnlySal As Variant) As Byte

Kabiseh = 0

If OnlySal >= 75 Then

If (OnlySal - 75) Mod 4 = 0 Then

Kabiseh = 1

Exit Function

End If

ElseIf OnlySal <= 70 Then

If (70 - OnlySal) Mod 4 = 0 Then

Kabiseh = 1

Exit Function

End If

End If

 

End Function

Function ValidDate(F_Date As Long) As Boolean

Dim M, S, R As Byte

ValidDate = True

S = Sal(F_Date)

M = Mah(F_Date)

R = Rooz(F_Date)

'********

If F_Date < 100101 Then

ValidDate = False

Exit Function

End If

If M > 12 Or M = 0 Or R = 0 Then

ValidDate = False

Exit Function

End If

If R > MahDays(S, M) Then

ValidDate = False

Exit Function

End If

End Function

Public Function AddDay(ByVal F_Date As Long, ByVal add As Integer) As Long

Dim K, M, S, R, Days As Byte

R = Rooz(F_Date)

M = Mah(F_Date)

S = Sal(F_Date)

K = Kabiseh(S)

Days = MahDays(S, M)

If add > Days - R Then

add = add - (Days - R + 1)

R = 1

If M < 12 Then

M = M + 1

Else

M = 1

S = S + 1

End If

Else

R = R + add

add = 0

End If

While add > 0

K = Kabiseh(S) '?????: 1 ? ??? ?????: 0

Days = MahDays(S, M) '????? ?????? ??? ????

Select Case add

Case Is < Days

R = R + add

add = 0

Case Days To IIf(K = 0, 365, 366) - 1

add = add - Days

If M < 12 Then

M = M + 1

Else

S = S + 1

M = 1

End If

Case Else

S = S + 1

add = add - IIf(K = 0, 365, 366)

End Select

Wend

AddDay = (S * 10000) + (M * 100) + (R)

End Function

Public Function Shamsi() As Long

'????? ???? ????? ?? ?? ????? ???? ???? ????? ?? ???

Dim Shamsi_Mabna As Long

Dim Miladi_mabna As Date

Dim Dif As Long

'?? ????? 80/10/11 ?? 2002/01/01 ????? ???????? ???

Shamsi_Mabna = 791012

Miladi_mabna = #1/1/2001#

Dif = DateDiff("d", Miladi_mabna, Date)

If Dif < 0 Then

MsgBox "????? ???? ????? ??? ?????? ??? , ???? ????? ????."

Else

Shamsi = AddDay(Shamsi_Mabna, Dif)

End If

End Function

Public Function Dat()

Dim d As Long

d = Shamsi

Dat = " 13" & Sal(d) & "/" & Mah(d) & "/" & Rooz(d)

End Function

Public Function DatRooz()

Dim dr As Long

dr = Shamsi

DatRooz = Rooz(dr)

End Function

Public Function DatMahe()

Dim dm As Long

dm = Shamsi

DatMahe = Mah(dm)

End Function

Public Function Diff(ByVal FromDate As Long, ByVal To_Date As Long) As Long

Dim Tmp As Long

Dim S1, M1, r1, S2, m2, r2 As Integer

Dim Sumation As Single

Dim Flag As Boolean

Flag = False

If FromDate = 0 Or IsNull(FromDate) = True Or To_Date = 0 Or IsNull(To_Date) = True Then

Diff = 0

Exit Function

End If

 

If FromDate > To_Date Then

Flag = True

Tmp = FromDate

FromDate = To_Date

To_Date = Tmp

End If

r1 = Rooz(FromDate)

M1 = Mah(FromDate)

S1 = Sal(FromDate)

r2 = Rooz(To_Date)

m2 = Mah(To_Date)

S2 = Sal(To_Date)

Sumation = 0

Do While S1 < S2 - 1 Or (S1 = S2 - 1 And (M1 < m2 Or (M1 = m2 And r1 <= r2)))

If Kabiseh((S1)) = 1 Then

If M1 = 12 And r1 = 30 Then

Sumation = Sumation + 365

r1 = 29

Else

Sumation = Sumation + 366

End If

Else

Sumation = Sumation + 365

End If

S1 = S1 + 1

Loop

 

Do While S1 < S2 Or M1 < m2 - 1 Or (M1 = m2 - 1 And r1 < r2)

Select Case M1

Case 1 To 6

If M1 = 6 And r1 = 31 Then

Sumation = Sumation + 30

r1 = 30

Else

Sumation = Sumation + 31

End If

M1 = M1 + 1

Case 7 To 11

If M1 = 11 And r1 = 30 And Kabiseh(S1) = 0 Then

Sumation = Sumation + 29

r1 = 29

Else

Sumation = Sumation + 30

End If

M1 = M1 + 1

Case 12

If Kabiseh(S1) = 1 Then

Sumation = Sumation + 30

Else

Sumation = Sumation + 29

End If

S1 = S1 + 1

M1 = 1

End Select

Loop

If M1 = m2 Then

Sumation = Sumation + (r2 - r1)

Else

Select Case M1

Case 1 To 6

Sumation = Sumation + (31 - r1) + r2

Case 7 To 11

Sumation = Sumation + (30 - r1) + r2

Case 12

If Kabiseh(S1) = 1 Then

Sumation = Sumation + (30 - r1) + r2

Else

Sumation = Sumation + (29 - r1) + r2

End If

End Select

End If

 

If Flag = True Then

Sumation = -Sumation

End If

Diff = Sumation

End Function

 

Public Function DayWeekNo(F_Date As Long) As String

Dim day As String

Dim Shmsi_Mabna As Long

Dim Dif As Long

'???? 80/10/11

Shmsi_Mabna = 801011

Dif = Diff(Shmsi_Mabna, F_Date)

If Shmsi_Mabna > F_Date Then

Dif = -Dif

End If

day = (Dif + 3) Mod 7

If day < 0 Then

DayWeekNo = day + 7

Else

DayWeekNo = day

End If

End Function

Function SalMah(ByVal F_Date As Long) As Integer

SalMah = Val(Left$(F_Date, 4))

End Function

Function MahDays(ByVal Sal As Byte, ByVal Mah As Byte) As Byte

Select Case Mah

Case 1 To 6

MahDays = 31

Case 7 To 11

MahDays = 30

Case 12

If Kabiseh(Sal) = 1 Then

MahDays = 30

Else

MahDays = 29

End If

End Select

End Function

Function Make_Date(ByVal F_Date As Long) As String

Dim d As String

d = Trim(Str(F_Date))

If IsNull(F_Date) = True Or F_Date = 0 Then

Make_Date = ""

Else

Make_Date = "13" & Mid(d, 1, 2) & "/" & Mid(d, 3, 2) & "/" & Mid(d, 5, 2)

End If

End Function

Function NextMah(ByVal Sal_Mah As Integer) As Integer

If (Sal_Mah Mod 100) = 12 Then

NextMah = (Int(Sal_Mah / 100) + 1) * 100 + 1

Else

NextMah = Sal_Mah + 1

End If

End Function

Function PreviousMah(ByVal Sal_Mah As Integer) As Integer

If (Sal_Mah Mod 100) = 1 Then

PreviousMah = (Int(Sal_Mah / 100) - 1) * 100 + 12

Else

PreviousMah = Sal_Mah - 1

End If

End Function

Function SubtractDay(ByVal F_Date As Long, ByVal Subtract As Long) As Long

Dim K, M, S, R, Days As Byte

R = Rooz(F_Date)

M = Mah(F_Date)

S = Sal(F_Date)

K = Kabiseh(S)

If Subtract >= R - 1 Then

Subtract = Subtract - (R - 1)

R = 1

Else

R = R - Subtract

Subtract = 0

End If

While Subtract > 0

K = Kabiseh(S - 1)

Days = MahDays(IIf(M >= 2, S, S - 1), IIf(M >= 2, M - 1, 12)) Select Case Subtract

Case Is < Days

R = Days - Subtract + 1

Subtract = 0

If M >= 2 Then

M = M - 1

Else

S = S - 1

M = 12

End If

Case Days To IIf(K = 0, 365, 366) - 1

Subtract = Subtract - Days

If M >= 2 Then

M = M - 1

Else

S = S - 1

M = 12

End If

Case Else

S = S - 1

Subtract = Subtract - IIf(K = 0, 365, 366)

End Select

Wend

SubtractDay = (S * 10000) + (M * 100) + (R)

End Function

Public Sub DaySelect()

For i = 0 To 41

If LblDay(i).BackColor = &HFF& Then LblDay(i).BackColor = &HC0FFC0

If Trim(LblDay(i).Caption) = Empty Then

Else

LblDay(i + (DatRooz - 1)).BackColor = &HFF&

Exit Sub

End If

Next i

End Sub

Public Sub DetectRooz1to31Day()

MahShow = (Mid(Trim(Dat), 6, 2))

Select Case MahShow

Case 1

MahName = "ÝÑæÑÏíä"

Case 2

MahName = "ÇÑÏíÈåÔÊ"

Case 3

MahName = "ÎÑÏÇÏ"

Case 4

MahName = "撄"

Case 5

MahName = "ãÑÏÇÏ"

Case 6

MahName = "ÔåÑíæÑ"

Case 7

MahName = "ãåÑ"

Case 8

MahName = "ÂÈÇä"

Case 9

MahName = "ÂÐÑ"

Case 10

MahName = "Ïí"

Case 11

MahName = "Èåãä"

Case 12

MahName = "ÇÓÝäÏ"

End Select

n = DatePart("w", Date)

Select Case n

Case 7

a = "ÔäÈå"

Case 1

a = "íßÔäÈå"

Case 2

a = "ÏæÔäÈå"

Case 3

a = "Óå ÔäÈå"

Case 4

a = "åÇÑ ÔäÈå"

Case 5

a = "äÌ ÔäÈå"

Case 6

a = "ÌãÚå"

End Select

Dim dDate As Long

Dim DSal As Long

dDate = Shamsi

DSal = Left(Trim(Dat), 4)

LblToday = " ÇãÑæÒ :  " & a & "  " & Rooz(dDate) & "  " & MahName & " " & "  " & DSal & "         " & Dat

n = DatePart("w", Date)

Select Case n

Case 7

For i = 0 To Val(31)

Next i

a = "ÔäÈå"

Case 1

a = "íßÔäÈå"

Case 2

a = "ÏæÔäÈå"

Case 3

a = "Óå ÔäÈå"

Case 4

a = "åÇÑ ÔäÈå"

Case 5

a = "äÌ ÔäÈå"

Case 6

a = "ÌãÚå"

End Select

End Sub

Public Sub DetectDateToSuniDate()

List1.Clear

List1.AddItem "ÔäÈå"

List1.AddItem "íßÔäÈå"

List1.AddItem "ÏæÔäÈå"

List1.AddItem "Óå ÔäÈå"

List1.AddItem "åÇÑ ÔäÈå"

List1.AddItem "äÌ ÔäÈå"

List1.AddItem "ÌãÚå"

Text1.Text = DatMahe

Text2.Text = DatRooz

Text3 = Dat

n = DatePart("w", Date)

LblDay(0) = n

Select Case n

Case 7

a = "ÔäÈå"

List1.ListIndex = 0

Case 1

a = "íßÔäÈå"

List1.ListIndex = 1

Case 2

a = "ÏæÔäÈå"

List1.ListIndex = 2

Case 3

a = "Óå ÔäÈå"

List1.ListIndex = 3

Case 4

a = "åÇÑ ÔäÈå"

List1.ListIndex = 4

Case 5

a = "äÌ ÔäÈå"

List1.ListIndex = 5

Case 6

a = "ÌãÚå"

List1.ListIndex = 6

End Select

For i = 1 To Val(Text2.Text) - 1

If List1.ListIndex = 0 Then

List1.ListIndex = 6

Else

List1.ListIndex = Val(List1.ListIndex) - 1

End If

Next i

For i = 0 To 41

LblDay(i).Caption = Empty

LblDay(i).BackColor = &HFFFFFF

Next i

Select Case Val(Text1.Text)

Case 1 To 6

     Select Case List1.Text

      Case "ÔäÈå"

     j = 0

     For i = 0 To 30

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

     Next i

          Case "íßÔäÈå"

    j = 0

     For i = 1 To 31

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

    

     Next i

     Case "ÏæÔäÈå"

    j = 0

     For i = 2 To 32

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "Óå ÔäÈå"

    j = 0

     For i = 3 To 33

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "åÇÑ ÔäÈå"

    j = 0

     For i = 4 To 34

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "äÌ ÔäÈå"

    j = 0

     For i = 5 To 35

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "ÌãÚå"

    j = 0

     For i = 6 To 36

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          End Select

Case 7 To 11

     Select Case List1.Text

      Case "ÔäÈå"

     j = 0

     For i = 0 To 29

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

     Next i

          Case "íßÔäÈå"

    j = 0

     For i = 1 To 30

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "ÏæÔäÈå"

    j = 0

     For i = 2 To 31

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "Óå ÔäÈå"

    j = 0

     For i = 3 To 32

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "åÇÑ ÔäÈå"

    j = 0

     For i = 4 To 33

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "äÌ ÔäÈå"

    j = 0

     For i = 5 To 34

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "ÌãÚå"

    j = 0

     For i = 6 To 35

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          End Select

Case 12

     Select Case List1.Text

      Case "ÔäÈå"

     j = 0

     For i = 0 To 30

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

     Next i

          Case "íßÔäÈå"

    j = 0

     For i = 1 To 31

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "ÏæÔäÈå"

    j = 0

     For i = 2 To 32

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

     Case "Óå ÔäÈå"

    j = 0

     For i = 3 To 33

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "åÇÑ ÔäÈå"

    j = 0

     For i = 4 To 34

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

   

     Case "äÌ ÔäÈå"

    j = 0

     For i = 5 To 35

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          Case "ÌãÚå"

    j = 0

     For i = 6 To 36

     j = j + 1

     LblDay(i).Caption = j

     LblDay(i).BackColor = &HC0FFC0

          Next i

          End Select

End Select

End Sub

 

 

اشنايي با محيط سويش

در اين بخش به صورت خلاصه بخش هاي مهم اينترفيس نرم افزار را برايتان معرفي مي كنيم پس از اجراي نرم افزار ابتدا چنين صفحه اي را خواهيد ديد:

تصوير 1

 را از سمت چپ انتخاب كنيد.با اين كار صفحه اي  New movieبراي ادامه گزينه

با اين كادر (صفحه اصلي سويش )ظاهر مي شود.

تصوير 2

اين صفحه بخش هاي مختلفي دارد كخه مهمترين بخش ها را با هم ميبينيم

1 منو و نوار ابزار

منوي نرم افزار سويش شبيه به اكثر نرم افزار هاي تحت ويندوز است

 

تصوير3

 

 يا نوار زمان:Timeline2

اين قسمت مهمترين بخش نرم افزار سويش و اكثر نرم افزار هاي ساخت انيميشن است

كليد فهم سويش ، همين تايم لاين و منطق كاري آن است تايم لاين يك نوار طولاني است كه تعداد زيادي خانه يا سلول مستطيل شكل تشكيل شده است هر يك از اين خانه ها را يك فريم مينامند.

تصوير 4

 يا صفحه طراحي Layout3

ما با اين بخش بيش از همه بخش ها سر و كار داريم زيرا همه فريم هاي انيميشن را  بايد در اينجا طراحي كنيم در واقع اينجا صفحه اصلي كار ماست.

تصوير 5

 يا ابزار tools4

به كمك ابزار هاي موجود در اين بخش مي توانيد اشكال مختلفي د ر صفحه طراحي كنيد متن به ان اضافه كنيد و انها را به دلخواه تغيير دهيد.

  تصوير 6

Aviساخت فايل

براي ساخت از نوار ابزار ،ابزار مورد نظر را انتخاب كرده و شروع به رسم كردن ميكنيم  ا   استفاده ميكنيم. . . . ابزار هايي مانند:  ،

  استفاد ميكنيم. براي نوشتن از ابزار

براي رسم يك شكل از چندين شكل استفاده مي كنيم و اين  موضوع براي حركت تمام اجزا با هم مشكل ساز ميشود زيرا هماهنگي لازم را ندارند و بايد انها به هم چسبانده شوند در اين حالت هر جلوه يا حركتي كه به انها بدهيم روي همه تعمال مي شود براي چسباندن انها به هم اجرايي را كه تشكيل يك مجموعه ميدهن را با هم   و  group as و سپس گزينه groupingگزينه modify انتخاب مي كنيم و از منوي

 را انتخاب كنيدgroup

تصوير 7

بعد از ساخت اشياء نياز به حركت دادن انها داريم براي حركت دادن اشياءاز نوار ابزار ،  را انتخاب و شي مورد نظر را به  هر سمتي كه ميخوايم motion path toolsابزار

حركت دهيم، مي كشيم

 

 

 

 

|+| نوشته شده توسط محسن حبيبي،معصومه يابري،سمیه نورمند در سه شنبه هفتم دی 1389  |
 فرم ها
كه شامل دو مديا پلير و يك دكمه زمان و تاريخ و دكمه ديگري كه اطلاعاتي راجع به سازنده ميدهد.و از كدهاي زير در اين صفحه استفاده شده است:

Private Sub KewlButtons1_Click()

    Form2.Show

End Sub

Private Sub KewlButtons2_Click()

    Form3.Show

End Sub

Private Sub KewlButtons3_Click()

    Form4.Show

End Sub

Private Sub KewlButtons4_Click()

Form5.Show

End Sub

Private Sub KewlButtons5_Click()

End

End Sub

فرم دوم مديا پليري را نشان ميدهد كه با يك فايل تصويري از پيش تعريف شده كار ميكند، و شماي ظاهري ان به صورت زير است:

|+| نوشته شده توسط محسن حبيبي،معصومه يابري،سمیه نورمند در سه شنبه هفتم دی 1389  |
 چند رسانه اي

چند رسانه اي

چند رسانه اي به فناوريي گفته ميشود كه امكان اميختن دو رسانه و يا بيشتر را فراهم ميكند مثل تركيب رسانه متني ،تصوير ونقشه ،صدا ،حركت كامل ،انيميشن و مانند اينها.

براي چند رسانه اي صوت وگرافيك و اطلاعات به طور همزمان بسيار مفيد است.

انواع فايل هاي چند رسانه اي

،شكل ديجيتال تن صدا وبلندي صدا را در طول موسيقي ذخيره ميكندwavفايل هاي

چون اين فايل ها هيچ گونه اطلاعاتي راجع به صداي ذخيره شده ندارند ،حجم زيادي را براي يك اهنگ ذخيره   نام دارد اين فايل اطلاعاتي را كه نت هاي MIDIميكنند .يك نوع فايل صوتي ديگر نيز وجود دارد كه

 اين است MIDIتوسط چه الاتي و به چه مدتي نواخته شوند نگهداري ميكند .از مزاياي ديگر فايل

 از فايل هاي صوتي هستندWav , MIDI است دو فايل Wavكه حجم ان خيلي كمتر از فايل هاي

  ،از نوع فايل هاي تصويري مي باشند.Avi , MPGEفايل هاي

فايل تصويري ، صدا را پشتيباني مي كنند تا بتوانصدا و تصوير را به طور سنكرون(هماهنگ) پخش كرد.

 نامMovفايل هاي فيلم مالتي مديا هم وجود دارند كه صوت وتصوير را با هم دارند اين فايل هاي

 دارند اين فايل ها فايل نوار صوتي ديجيتال نام دارند.Dat دارند. فايل هايي وجود دارند كه پسوند

MCIعنصر

 براي پخش فايل هاي تصويريMCIاين عنصر براي كار با فايل هاي صوتي و تصويري به كار مي رود.عنصر

 شبيه MCIو وسائل چند رسانه اي مورد استفاده قرار مي گيرد. از عناصر وي‍ژوال است عنصر ويژوال

Wav , ضبط صوت مي باشد. با استفاده از اين عنصر مي توان فايل هاي صوتي با پسوند VCR

 (فيلم مالتي مديا) و غيره را پخش كرد .Avi ,  MMMو فايل هاي تصويري Mid , Dat

 در جعبه ابزار ويژوال بيسيك وجود ندارد براي اضلفه كردن اين عنصر به جعبه ابزار MCIعنصر

 را انتخاب Components/microsoft multy media 6.0 project از گزينه

كرده.

 

نحوه ساخت و فرم هاي نرم افزار مديا پلير

طراحي شده ،در اين نرم افزار از پنج فرن مجزا استفاده شدهVb6 اين نرم افزار در

كه به شرح هر كدام مي پردازيم:

فرم اول: در اين فرم كه فرم اصلي و فرم ورودي به ديگر قسمت هاي نرم افزار است شماي ظاهري  اين فرم به صورت زير است

در ادامه....

|+| نوشته شده توسط محسن حبيبي،معصومه يابري،سمیه نورمند در یکشنبه پنجم دی 1389  |
 
 
بالا