Kyle_Katarn | j'au trouvé c'est :
Code :
- Public Function MCI_MAKE_TMSF( _
- intTrack As Integer, _
- intMinute As Integer, _
- intSecond As Integer, _
- intFrames As Integer) _
- As Long
- ' Comments : This function converts from Tracks/Minute/Seconds to a position
- ' usable by MCI
- ' Parameters: intTrack - The track position
- ' intMinute - The minute position
- ' intSecond - The seconds position
- ' Returns : The converted position
- '
- On Error GoTo PROC_ERR
- 'MCI_MAKE_TMSF = CLng(intTrack) Or CLng(Shli(intMinute, 8)) Or CLng(Shll(intSecond, 16))
-
- MCI_MAKE_TMSF = CLng(intTrack) Or CLng(Shli(intMinute, 8)) Or CLng(Shll(intSecond, 16)) Or CLng(Shll(Shli(intFrames, 8), 16))
-
- PROC_EXIT:
- Exit Function
- PROC_ERR:
- MsgBox "Error: " & Err.Number & ". " & Err.Description, , _
- "MCI_MAKE_TMSF"
- Resume PROC_EXIT
- End Function
- Private Function Shll(ByVal lngNumber As Long, ByVal bytPlaces As Byte) As Long
- ' Comments : Shifts a numeric Value left the specified number of bits.
- ' Parameters: lngNumber - long Value to shift
- ' bytPlaces - number of places to shift
- ' Returns : Shifted Value
- '
- Dim dblMultiplier As Double
- ' if we are shifting 32 or more bits, then the result is always zero
- If bytPlaces >= 32 Then
- Shll = 0
- Else
- dblMultiplier = 2 ^ bytPlaces
- Shll = CLng(lngNumber * dblMultiplier)
- End If
- End Function
- Private Function Shli( _
- ByVal intValue As Integer, _
- ByVal bytPlaces As Byte) _
- As Integer
- ' Comments : Shifts a numeric value left the specified number of bits.
- ' Left shifting can be defined as a multiplication operation.
- ' For the number of bits we want to shift a value to the
- ' left, we need to raise two to that power, then multiply the
- ' result by our original value.
- ' Parameters: intValue - integer value to shift
- ' bytPlaces - number of places to shift
- ' Returns : Shifted value
- '
- Dim lngMultiplier As Long
- ' if we are shifting 16 or more bits, then the result is always zero
- If bytPlaces >= 16 Then
- Shli = 0
- Else
- lngMultiplier = 2 ^ bytPlaces
- Shli = CInt(intValue * lngMultiplier)
- End If
- End Function
|
A quand la mise en forme VB du texte... |