kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Videos in VB

    geschrieben von meme

    Hallo!

    Gibt es als m?glichkeit eigentlich ein Upload von Dateien? Dann h?tte ich mir all diese Posts sparen k?nnen und es alles nur in einem Post hochladen k?nnen. W?r' f?rs Programmieren auch einfacher!

    Mfg

    Meme
  • in: Videos in VB

    geschrieben von meme

    Zum Ausf?hren wird auch das Registry Modul von Visual Basic gebraucht, wenn ihr nicht wisst wie Ihr dran kommt, dann hier der Source-Code:

    ' Dieses Modul liest und schreibt Registrierungsschl?ssel. Im Gegensatz
    ' zu den internen Registrierungszugriffsmethoden von VB, kann es
    ' Registrierungsschl?ssel mit Zeichenfolgenwerten lesen und schreiben.

    '---------------------------------------------------------------
    '- API-Deklarationen der Registrierung...
    '---------------------------------------------------------------
    Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
    Private Declare Function RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByRef phkResult As Long, ByRef lpdwDisposition As Long) As Long
    Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
    Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
    Private Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long

    '---------------------------------------------------------------
    '- API-Konstanten der Registrierung...
    '---------------------------------------------------------------
    ' Registrierungsdatentypen...
    Const REG_SZ = 1 ' Null-terminierte Unicode-Zeichenfolge
    Const REG_EXPAND_SZ = 2 ' Null-terminierte Unicode-Zeichenfolge
    Const REG_DWORD = 4 ' 32-Bit-Zahl

    ' Registrierungsschl?ssel-Typwerte erstellen...
    Const REG_OPTION_NON_VOLATILE = 0 ' Schl?ssel bleibt beim Neustart erhalten

    ' Registrierungsschl?ssel-Sicherheitsoptionen...
    Const READ_CONTROL = &H20000
    Const KEY_QUERY_VALUE = &H1
    Const KEY_SET_VALUE = &H2
    Const KEY_CREATE_SUB_KEY = &H4
    Const KEY_ENUMERATE_SUB_KEYS = &H8
    Const KEY_NOTIFY = &H10
    Const KEY_CREATE_LINK = &H20
    Const KEY_READ = KEY_QUERY_VALUE + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + READ_CONTROL
    Const KEY_WRITE = KEY_SET_VALUE + KEY_CREATE_SUB_KEY + READ_CONTROL
    Const KEY_EXECUTE = KEY_READ
    Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
    KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
    KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL

    ' Registrierungsschl?ssel-Stammtypen...
    Public Const HKEY_CLASSES_ROOT = &H80000000
    Public Const HKEY_CURRENT_USER = &H80000001
    Public Const HKEY_LOCAL_MACHINE = &H80000002
    Public Const HKEY_USERS = &H80000003
    Public Const HKEY_PERFORMANCE_DATA = &H80000004

    ' R?ckgabewert...
    Const ERROR_NONE = 0
    Const ERROR_BADKEY = 2
    Const ERROR_ACCESS_DENIED = 8
    Const ERROR_SUCCESS = 0

    '---------------------------------------------------------------
    '- Sicherheitsattributtyp der Registrierung...
    '---------------------------------------------------------------
    Private Type SECURITY_ATTRIBUTES
    nLength As Long
    lpSecurityDescriptor As Long
    bInheritHandle As Boolean
    End Type


    '-------------------------------------------------------------------------------------------------
    'Verwendungsbeispiel - Debug.Print UpodateKey(HKEY_CLASSES_ROOT, "keyname", "newvalue")
    '-------------------------------------------------------------------------------------------------
    Public Function UpdateKey(KeyRoot As Long, KeyName As String, SubKeyName As String, SubKeyValue As String) As Boolean
    Dim rc As Long ' R?ckgabe-Code
    Dim hKey As Long ' Zugriffsnummer f?r Registrierungsschl?ssel
    Dim hDepth As Long '
    Dim lpAttr As SECURITY_ATTRIBUTES ' Sicherheitstyp der Registrierung

    lpAttr.nLength = 50 ' Sicherheitsattribute auf Standardeinstellungen setzen...
    lpAttr.lpSecurityDescriptor = 0 ' ...
    lpAttr.bInheritHandle = True ' ...

    '------------------------------------------------------------
    '- Registrierungsschl?ssel erstellen/?ffnen...
    '------------------------------------------------------------
    rc = RegCreateKeyEx(KeyRoot, KeyName, _
    0, REG_SZ, _
    REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, lpAttr, _
    hKey, hDepth) ' //KeyRoot//KeyName erstellen/?ffnen

    If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError ' Fehler behandeln...

    '------------------------------------------------------------
    '- Schl?sselwert erstellen/bearbeiten...
    '------------------------------------------------------------
    If (SubKeyValue = "") Then SubKeyValue = " " ' F?r RegSetValueEx() wird zur korrekten Ausf?hrung ein Leerzeichen ben?tigt...

    ' Schl?sselwert erstellen/bearbeiten
    rc = RegSetValueEx(hKey, SubKeyName, _
    0, REG_SZ, _
    SubKeyValue, LenB(StrConv(SubKeyValue, vbFromUnicode)))

    If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError ' Fehler behandeln
    '------------------------------------------------------------
    '- Registrierungsschl?ssel schlie?en...
    '------------------------------------------------------------
    rc = RegCloseKey(hKey) ' Schl?ssel schlie?en

    UpdateKey = True ' Erfolgreiche Ausf?hrung zur?ckgeben
    Exit Function ' Beenden
    CreateKeyError:
    UpdateKey = False ' Fehlerr?ckgabe-Code festlegen
    rc = RegCloseKey(hKey) ' Versuchen, den Schl?ssel zu schlie?en
    End Function

    '-------------------------------------------------------------------------------------------------
    'Verwendungsbeispiel - Debug.Print GetKeyValue(HKEY_CLASSES_ROOT, "COMCTL.ListviewCtrl.1\CLSID", "")
    '-------------------------------------------------------------------------------------------------
    Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String) As String
    Dim i As Long ' Schleifenz?hler
    Dim rc As Long ' R?ckgabe-Code
    Dim hKey As Long ' Zugriffsnummer f?r einen offenen Registrierungsschl?ssel
    Dim hDepth As Long '
    Dim sKeyVal As String
    Dim lKeyValType As Long ' Datentyp eines Registrierungsschl?ssels
    Dim tmpVal As String ' Tempor?rer Speicher eines Registrierungsschl?sselwertes
    Dim KeyValSize As Long ' Gr??e einer Registrierungsschl?sselvariablen

    ' Registrierungsschl?ssel unter dem Stamm {HKEY_LOCAL_MACHINE...} ?ffnen
    '------------------------------------------------------------
    rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Registrierungsschl?ssel ?ffnen

    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Fehler behandeln...

    tmpVal = String$(1024, 0) ' Platz f?r Variable reservieren
    KeyValSize = 1024 ' Gr??e der Variable markieren

    '------------------------------------------------------------
    ' Registrierungsschl?sselwert abrufen...
    '------------------------------------------------------------
    rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
    lKeyValType, tmpVal, KeyValSize) ' Schl?sselwert abrufen/erstellen

    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Fehler behandeln

    tmpVal = Left$(tmpVal, InStr(tmpVal, Chr(0)) - 1)

    '------------------------------------------------------------
    ' Schl?sselwerttyp f?r Konvertierung bestimmen...
    '------------------------------------------------------------
    Select Case lKeyValType ' Datentypen durchsuchen...
    Case REG_SZ, REG_EXPAND_SZ ' Zeichenfolge f?r Registrierungsschl?sseldatentyp
    sKeyVal = tmpVal ' Zeichenfolgenwert kopieren
    Case REG_DWORD ' Registrierungsschl?sseldatentyp DWORD
    For i = Len(tmpVal) To 1 Step -1 ' Jedes Bit konvertieren
    sKeyVal = sKeyVal + Hex(Asc(Mid(tmpVal, i, 1))) ' Wert Zeichen f?r Zeichen erstellen
    Next
    sKeyVal = Format$("&h" + sKeyVal) ' DWORD in Zeichenfolge konvertieren
    End Select

    GetKeyValue = sKeyVal ' Wert zur?ckgeben
    rc = RegCloseKey(hKey) ' Registrierungsschl?ssel schlie?en
    Exit Function ' Beenden

    GetKeyError: ' Bereinigen, nachdem ein Fehler aufgetreten ist...
    GetKeyValue = vbNullString ' R?ckgabewert auf leere Zeichenfolge setzen
    rc = RegCloseKey(hKey) ' Registrierungsschl?ssel schlie?en
    End Function


  • in: Videos in VB

    geschrieben von meme

    Hier die Komplette Klasse: Bitte f?r das Klassenmodul auch "MCIClass" als Namen verwenden:

    Option Explicit

    Private Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, ByVal uLength As Long) As Long 'Get the error message of the mcidevice if any
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long 'Send command strings to the mci device

    Private fsData As String * 128 ' Puffer f?r Dateninput
    Private flError As Long ' Error Message
    Private fsFilename As String ' Dateiname

    Public Enum MCIWindowStyles
    popUp = 0
    Child = 1
    Overlapped = 2
    End Enum




    Public Sub SetFilename(ByVal lsFilename As String)
    ' Zuweisung des Dateinamens
    fsFilename = lsFilename
    End Sub
    Public Function GetFilename() As String
    ' Abfrage des Dateinamens
    GetFilename = fsFilename
    End Function

    Public Function StepFrames(ByVal llValue As Long)
    ' Get eine Anzahl von Frames vor (im Movie)
    flError = mciSendString("step movie by " & llValue, 0, 0, 0)
    End Function
    Public Function RestoreSizeDefault()
    ' Resettet die Einstelluing f?r Gr?sse des Videos auf Standard (nicht im Child-Modus)
    flError = mciSendString("put movie window", 0, 0, 0)
    End Function
    Public Function OpenMovie()
    Dim llStelle As Long
    Dim lsMCIHandler As String

    ' ?ffnet ein Video in einem Fenster (Fenstermodus)
    flError = mciSendString("close movie", 0, 0, 0) ' Falls noch ein Video ge?ffnet ist

    ' ?ffnet das Video mit dem MPEGVIDEO Treiber
    If Len(fsFilename) <= 4 Then Exit Function
    llStelle = InStrRev(fsFilename, ".")
    lsMCIHandler = GetKeyValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\MCI Extensions", LCase(Left(fsFilename, Len(fsFilename) - llStelle)))
    If lsMCIHandler <> "" Then
    flError = mciSendString("open " & GetFilenameAsAPICommand & " type " & lsMCIHandler & " alias movie", 0, 0, 0)
    Else
    flError = mciSendString("open " & GetFilenameAsAPICommand & " type mpegvideo alias movie", 0, 0, 0)
    End If

    ' Auskommentieren, falls oberes nicht funktioniert (MCI sucht selbst Treiber)
    'flError = mciSendString("open " & GetFilenameAsAPICommand & " alias movie", 0, 0, 0)
    End Function
    Public Function OpenMovieWindow(ByVal llHWND As Long, Optional ByVal loWindowStyle As MCIWindowStyles = popUp)
    Dim llStelle As Long
    Dim lsMCIHandler As String

    ' ?ffnet ein Video in einem Fenster (nach Auswahl)

    Dim lsOption As String

    Select Case loWindowStyle
    Case 0: lsOption = "popup"
    Case 1: lsOption = "child"
    Case 2: lsOption = "overlapped"
    End Select

    flError = mciSendString("close movie", 0, 0, 0) ' Falls noch ein Video ge?ffnet ist

    ' ?ffnet das Video mit dem MPEGVIDEO Treiber
    If Len(fsFilename) <= 4 Then Exit Function
    llStelle = InStrRev(fsFilename, ".")
    lsMCIHandler = GetKeyValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\MCI Extensions", LCase(Left(fsFilename, Len(fsFilename) - llStelle)))
    If lsMCIHandler <> "" Then
    flError = mciSendString("open " & GetFilenameAsAPICommand & " type " & lsMCIHandler & " alias movie parent " & llHWND & " style " & lsOption & " ", 0, 0, 0)
    Else
    flError = mciSendString("open " & GetFilenameAsAPICommand & " type mpegvideo alias movie parent " & llHWND & " style " & lsOption & " ", 0, 0, 0)
    End If

    ' Auskommentieren, falls oberes nicht funktioniert (MCI sucht selbst Treiber)
    'flError = mciSendString("open " & GetFilenameAsAPICommand & " alias movie parent " & hWnd & " style " & WindowStyle & " ", 0, 0, 0)
    End Function
    Public Function CaptureMovie(ByVal lsFilename As String)
    ' Screenshot des Videos (wird selten unterst?tzt)
    flError = mciSendString("save movie " & lsFilename & " wait", 0, 0, 0)
    End Function
    Public Function MinimizeMovie()
    ' Minimiert das Videofenster
    flError = mciSendString("window movie state minimized", 0, 0, 0)
    End Function
    Public Function PlayMovie()
    ' Play des Videos (nach ?ffnen des Videos)
    flError = mciSendString("play movie", 0, 0, 0)
    End Function
    Public Function HideMovie()
    ' Versteckt das Video Fenster
    flError = mciSendString("window movie state hide", 0, 0, 0)
    End Function
    Public Function ShowMovie()
    ' Zeigt das Video Fenster (wenn HideMovie benutzt wurde)
    flError = mciSendString("window movie state show", 0, 0, 0)
    End Function
    Public Function RestoreMovie()
    ' Resettet das Fenster zum Anfangspunkt
    flError = mciSendString("window movie state restore", 0, 0, 0)
    End Function
    Public Function StopMovie()
    ' Stopped das Video
    flError = mciSendString("stop movie", 0, 0, 0)
    End Function
    Public Function ExtractCurrentMovieSize(ByRef llLeft As Long, ByRef llTop As Long, ByRef llWidth As Long, ByRef llHeight As Long)
    ' Gibt die aktuelle Gr?sse des Videos zur?ck
    Dim a As String
    Dim b As String
    Dim c As String
    Dim f As String
    Dim g As String

    On Error Resume Next
    a = GetCurrentSize
    b = InStr(1, a, " ")
    c = InStr(b + 1, a, " ")
    f = Mid(a, c + 1)
    g = InStr(1, f, " ")

    llLeft = 0
    llTop = 0
    llWidth = Val(Left(f, g)) 'width
    llHeight = Val(Mid(f, g)) 'height
    On Error GoTo 0
    End Function
    Public Function ExtractDefaultMovieSize(ByRef llWidth As Long, ByRef llHeight As Long)
    'Returns the default size of the movie even if the size
    'of the movie has been changed
    Dim a As String
    Dim b As String
    Dim c As String
    Dim f As String
    Dim g As String

    On Error Resume Next
    a = GetDefaultSize
    b = InStr(1, a, " ") '2
    c = InStr(b + 1, a, " ") '4
    f = Mid(a, c + 1) '9
    g = InStr(1, f, " ")

    llWidth = Val(Left(f, g)) 'width
    llHeight = Val(Mid(f, g)) 'height
    On Error GoTo 0
    End Function
    Public Function GetBitsPerPixel()
    ' Ermittelt die BitsPerPixel (Nur bei AVI)
    flError = mciSendString("status movie bitsperpel", fsData, 128, 0)
    GetBitsPerPixel = Val(fsData)
    End Function
    Public Function GetMovieInput() As String
    ' Gibt die aktuelle Input-Quelle zur?ck
    flError = mciSendString("status movie monitor input", fsData, 128, 0)
    GetMovieInput = fsData
    End Function
    Public Function GetMovieOutput() As String
    ' Gibt die aktuelle Output-Quelle zur?ck
    flError = mciSendString("status movie monitor output", fsData, 128, 0)
    GetMovieOutput = fsData
    End Function
    Public Function GetAudioStatus() As String
    ' Gibt zur?ck, ob Audio an oder aus ist
    flError = mciSendString("status movie audio", fsData, 128, 0)
    GetAudioStatus = fsData
    End Function
    Public Function SizeLocateMovie(ByVal llLeft As Long, ByVal llTop As Long, ByVal llWidth As Long, ByVal llHeight As Long)
    ' ?ndert Position und Gr?sse eines Videos (in Pixel)
    flError = mciSendString("put movie window at " & llLeft & " " & llTop & " " & llWidth & " " & llHeight, 0, 0, 0)
    End Function
    Public Function IsMoviePlaying() As Boolean
    ' Gibt zur?ck, ob das Video l?uft
    Dim lsIsPlaying As String

    flError = mciSendString("status movie mode", fsData, 128, 0)
    lsIsPlaying = Left(fsData, 7)
    If lsIsPlaying = "playing" Then
    IsMoviePlaying = True
    Else
    IsMoviePlaying = False
    End If
    End Function
    Public Function CheckError() As String
    ' Ermittelt den Klartext eines Fehlers
    CheckError = Space$(255)
    mciGetErrorString flError, CheckError, Len(CheckError)
    End Function
    Public Function GetDeviceName() As String
    ' Gibt den aktuellen Ger?tetreiber zur?ck
    flError = mciSendString("info movie product", fsData, 128, 0)
    GetDeviceName = fsData
    End Function
    Public Function GetDeviceVersion() As String
    ' Gibt die aktuelle Version des Ger?tetreibers zur?ck
    flError = mciSendString("info movie version", fsData, 128, 0)
    GetDeviceVersion = fsData
    End Function
    Public Function GetNominalFrameRate() As Long
    ' Gibt die Nominale FrameRate des Videos zur?ck
    flError = mciSendString("status movie nominal frame rate wait", fsData, 128, 0)
    GetNominalFrameRate = Val(fsData)
    End Function
    Public Function GetFramePerSecRate() As Long
    ' Gibt die Frames/sec eines Videos zur?ck (AVI und MPEG)
    flError = mciSendString("status movie frame rate", fsData, 128, 0)
    GetFramePerSecRate = Val(fsData) \ 1000
    End Function
    Public Function GetCurrentSize() As String
    ' Gibt aktuelle H?he und Breite des Videos zur?ck
    flError = mciSendString("where movie destination max", fsData, 128, 0)
    GetCurrentSize = fsData
    End Function
    Public Function GetDefaultSize() As String
    ' Gibt eigentliche H?he und Breite des Videos zur?ck
    flError = mciSendString("where movie source", fsData, 128, 0)
    GetDefaultSize = fsData
    End Function
    Public Function GetLengthInFrames() As Long
    ' Gibt die Gesamtanzahl der Frames zur?ck
    flError = mciSendString("set movie time format frames", 0, 0, 0)
    flError = mciSendString("status movie length", fsData, 128, 0)
    GetLengthInFrames = Val(fsData)
    End Function
    Public Function GetLengthInMS() As Long
    ' Gibt die Gesamtanzahl der Millisekunden zur?ck
    flError = mciSendString("set movie time format ms", 0, 0, 0)
    flError = mciSendString("status movie length", fsData, 128, 0)
    GetLengthInMS = Val(fsData)
    End Function
    Public Function PlayFullScreen()
    ' Abspielen des Videos in Fullscreen
    flError = mciSendString("play movie fullscreen", 0, 0, 0)
    End Function
    Public Function GetLengthInSec() As Long
    ' Gibt die Gesamtl?nge des Videos in Sekunden zur?ck
    GetLengthInSec = GetLengthInMS \ 1000
    End Function
    Public Function SetVideoOff()
    ' Schaltet das Video-Ger?t aus
    flError = mciSendString("set all video off", 0, 0, 0)
    End Function
    Public Function SetVideoOn()
    ' Schaltet das Video-Ger?t ein
    flError = mciSendString("set all video on", 0, 0, 0)
    End Function
    Public Function PauseMovie()
    ' Pause
    flError = mciSendString("pause movie", 0, 0, 0)
    End Function
    Public Function ResumeMovie()
    ' Pause aufheben
    flError = mciSendString("resume movie", 0, 0, 0)
    End Function
    Public Function GetPositionInMS() As Long
    ' Aktuelle Position in Millisekunden
    flError = mciSendString("set movie time format ms", 0, 0, 0)
    flError = mciSendString("status movie position wait", fsData, 128, 0)
    GetPositionInMS = Val(fsData)
    End Function
    Public Function GetRate() As Long
    ' Ermittelt die aktuelle Geschwindigkeit des Videos
    flError = mciSendString("status movie speed", fsData, 128, 0)
    GetRate = Val(fsData)
    End Function
    Public Function GetPositionInFrames() As Long
    ' Aktuelle Position in Frames
    flError = mciSendString("set movie time format frames wait", 0, 0, 0)
    flError = mciSendString("status movie position", fsData, 128, 0)
    GetPositionInFrames = Val(fsData)
    End Function
    Public Function GetStatus() As String
    ' Aktueller Modus des Videos
    ' (Playing, Stopped, Paused, Not Ready)
    flError = mciSendString("status movie mode", fsData, 128, 0)
    GetStatus = StrConv(fsData, vbProperCase)
    End Function
    Public Function CloseMovie()
    ' MCI Treiber schliessen
    flError = mciSendString("close movie", 0, 0, 0)
    End Function
    Public Function GetFormatPosition() As String
    ' Gibt die Position in einer Benutzerfreundlichen Form zur?ck
    GetFormatPosition = GetThisTime(GetPositionInMS)
    End Function
    Public Function GetFormatLength() As String
    ' Gibt die L?nge in einer Benutzerfreundlichen Form zur?ck
    GetFormatLength = GetThisTime(GetLengthInMS)
    End Function

    Private Function GetThisTime(ByVal llTimeIn As Long) As String
    ' Zeitformatierung

    Dim liConH As Integer
    Dim liConM As Integer
    Dim liConS As Integer
    Dim llRemTime As Long
    Dim lsRetTime As String

    On Error GoTo MCI_Fehler
    llRemTime = llTimeIn / 1000
    liConH = Int(llRemTime / 3600)
    llRemTime = llRemTime Mod 3600
    liConM = Int(llRemTime / 60)
    llRemTime = llRemTime Mod 60
    liConS = llRemTime

    If liConH > 0 Then
    lsRetTime = Trim(Str(liConH)) & ":"
    Else
    lsRetTime = ""
    End If
    If liConM >= 10 Then
    lsRetTime = lsRetTime & Trim(Str(liConM))
    ElseIf liConM > 0 Then
    lsRetTime = lsRetTime & Trim(Str(liConM))
    Else
    lsRetTime = lsRetTime & "0"
    End If
    lsRetTime = lsRetTime & ":"
    If liConS >= 10 Then
    lsRetTime = lsRetTime & Trim(Str(liConS))
    ElseIf liConS > 0 Then
    lsRetTime = lsRetTime & "0" & Trim(Str(liConS))
    Else
    lsRetTime = lsRetTime & "00"
    End If
    GetThisTime = lsRetTime
    On Error GoTo 0
    Exit Function

    MCI_Fehler:
    MsgBox Err.Description, , " Error"
    On Error GoTo 0
    End Function
    Public Function GetVolume() As Long
    ' Ermittelt Lautst?rke
    flError = mciSendString("status movie volume", fsData, 128, 0)
    GetVolume = Val(fsData)
    End Function
    Public Function GetVideoStatus() As String
    ' Ermittelt Status des Videos (An/Aus)
    flError = mciSendString("status movie video", fsData, 128, 0)
    GetVideoStatus = fsData
    End Function
    Public Function GetTimeFormat() As String
    ' Gibt aktuelles Zeit-Format zur?ck (Frames oder Millisekunden)
    flError = mciSendString("status movie time format", fsData, 128, 0)
    GetTimeFormat = fsData
    End Function
    Public Function GetLeftVolume() As Long
    ' Gibt Lautst?rke f?r linken Kanal zur?ck
    flError = mciSendString("status movie left volume", fsData, 128, 0)
    GetLeftVolume = Val(fsData)
    End Function
    Public Function GetPositionInSec() As Long
    ' Ermittelt Position in Sekunden
    GetPositionInSec = GetPositionInMS \ 1000
    End Function
    Public Function GetRightVolume() As Long
    ' Gibt Lautst?rke f?r rechten Kanal zur?ck
    flError = mciSendString("status movie right volume", fsData, 128, 0)
    GetRightVolume = fsData
    End Function
    Public Function SetAudioOff()
    ' Audio aus
    flError = mciSendString("set movie audio all off", 0, 0, 0)
    End Function
    Public Function SetAudioOn()
    ' Audio an
    flError = mciSendString("set movie audio all on", 0, 0, 0)
    End Function
    Public Function SetLeftOff()
    ' Linker Audio-Kanal aus
    flError = mciSendString("set movie audio left off", 0, 0, 0)
    End Function
    Public Function SetRightOff()
    ' Rechter Audio-Kanal aus
    flError = mciSendString("set movie audio right off", 0, 0, 0)
    End Function
    Public Function SetLeftOn()
    ' Linker Audio-Kanal an
    flError = mciSendString("set movie audio left on", 0, 0, 0)
    End Function
    Public Function SetRightOn()
    ' Rechter Audio-Kanal an
    flError = mciSendString("set movie audio right on", 0, 0, 0)
    End Function
    Public Function SetDoorOpen()
    ' ?ffnet CD-Rom Laufwerk
    flError = mciSendString("set cdaudio door open", 0, 0, 0)
    End Function
    Public Function SetDoorClosed()
    ' Schliesst CD-Rom Laufwerk
    flError = mciSendString("set cdaudio door closed", 0, 0, 0)
    End Function
    Public Function SetVolume(ByVal llValue As Long)
    ' Stellt Lautst?rke f?r beide Kan?le ein
    If llValue > 1000 Then llValue = 1000
    If llValue < 0 Then llValue = 0
    flError = mciSendString("setaudio movie volume to " & llValue, 0, 0, 0)
    End Function
    Public Function SetPositionTo(ByVal llSecond As Long)
    ' Setzt Position des Videos
    llSecond = llSecond * 1000
    If IsMoviePlaying = True Then
    mciSendString "play movie from " & llSecond, 0, 0, 0
    ElseIf IsMoviePlaying = False Then
    mciSendString "seek movie to " & llSecond, 0, 0, 0
    End If
    End Function
    Public Function SetPositionToMS(ByVal llMS As Long)
    ' Setzt Position des Videos
    If IsMoviePlaying = True Then
    mciSendString "play movie from " & llMS, 0, 0, 0
    ElseIf IsMoviePlaying = False Then
    mciSendString "seek movie to " & llMS, 0, 0, 0
    End If
    End Function
    Public Function PlayAtPosition(ByVal llMS As Long)
    ' Setzt Position des Videos
    mciSendString "play movie from " & llMS, 0, 0, 0
    End Function
    Public Function RestartMovie()
    ' Startet das Video vom Beginn
    flError = mciSendString("seek movie to start", 0, 0, 0)
    PlayMovie
    End Function
    Public Function RewindByMS(ByVal llNumMS As Long)
    ' Zur?ckspulen in MS
    flError = mciSendString("set movie time format ms", 0, 0, 0)
    flError = mciSendString("play movie from " & GetPositionInMS - llNumMS, 0, 0, 0)
    End Function
    Public Function RewindByFrames(ByVal llNumFrames As Long)
    ' Zur?ckspulen in Frames
    flError = mciSendString("set movie time format frames", 0, 0, 0)
    flError = mciSendString("play movie from " & GetPositionInFrames - llNumFrames, 0, 0, 0)
    End Function
    Public Function RewindBySeconds(ByVal llNumSec As Long)
    ' Zur?ckspulen in Sekunden
    flError = mciSendString("set movie time format ms", 0, 0, 0)
    flError = mciSendString("play movie from " & GetPositionInMS - 1000 * llNumSec, 0, 0, 0)
    End Function
    Public Function ForwardByFrames(ByVal llNumFrames As Long)
    ' Vorspulen in Frames
    flError = mciSendString("set movie time format frames", 0, 0, 0)
    flError = mciSendString("play movie from " & GetPositionInFrames + llNumFrames, 0, 0, 0)
    End Function
    Public Function ForwardByMS(ByVal llNumMS As Long)
    ' Vorspulen in MS
    flError = mciSendString("set movie time format ms", 0, 0, 0)
    flError = mciSendString("play movie from " & GetPositionInMS + llNumMS, 0, 0, 0)
    End Function
    Public Function ForwardBySeconds(ByVal llNumSec As Long)
    ' Vorspulen in Sekunden
    flError = mciSendString("set movie time format ms", 0, 0, 0)
    flError = mciSendString("play movie from " & GetPositionInMS + 1000 * llNumSec, 0, 0, 0)
    End Function
    Public Function CheckDeviceReady() As String
    ' Pr?ft, ob Ger?t Betriebsbereit ist
    flError = mciSendString("status movie ready", fsData, 128, 0)
    CheckDeviceReady = fsData
    End Function
    Public Function SetSpeed(ByVal llValue As Long)
    ' Setzt Geschwindigkeit des Videos
    ' 0 = so schnell wie m?glich
    If llValue > 2000 Then llValue = 2000
    If llValue < 0 Then llValue = 0
    flError = mciSendString("set movie speed " & llValue, 0, 0, 0)
    End Function
    Public Function SetLeftVolume(ByVal llValue As Long)
    ' Setzt Lautst?rke f?r linken Kanal
    flError = mciSendString("setaudio movie left volume to " & llValue, 0, 0, 0)
    End Function
    Public Function SetRightVolume(ByVal llValue As Long)
    ' Setzt Lautst?rke f?r rechten Kanal
    flError = mciSendString("setaudio movie right volume to " & llValue, 0, 0, 0)
    End Function
    Sub TimeOut(ByVal llDuration As Long)
    ' Pause f?r angegebene Millisekunden
    Dim llStartTime As Long

    llStartTime = Timer
    Do While Timer - llStartTime < llDuration
    DoEvents
    Loop
    End Sub



    Private Function GetFilenameAsAPICommand() As String
    ' F?gt Anf?hrungsstriche um den Dateinamen ein
    GetFilenameAsAPICommand = Chr$(34) & fsFilename & Chr$(34)
    End Function
  • in: Videos in VB

    geschrieben von meme

    Hallo!

    Ich hatte mal f?r ein Projekt ein Video Objekt gebraucht! Ich hatte aber schoneinmal probiert den Kompletten Source-Code hochzuladen, aber hat nicht geklappt. Ich werde das dann nun auf mehrere Threads aufgeben, also mit bitte nicht ?ber nehmen. Hier aber schon der Source-Code des eigentlichen Programms (also deins):

    Nur eine PictureBox (Picture1) erstellen in der dieses angezeigt wird:

    Dim foMCI As New MCIClass

    Private Sub Form_Load()
    foMCI.SetFilename "C:\test.avi"
    foMCI.OpenMovieWindow Picture1.hWnd, Child
    foMCI.PlayMovie
    End Sub

    Mfg

    Meme
  • in: Bit

    geschrieben von meme

    Hallo!

    Wie du sicher wie?t haben die Bits eine solche Vortlaufene Gr??e: 1.2.4.8.16.32.64.128.256...

    So kannst du dass auch im Source-Code machen:

    I = 233
    If (I AND 1) = 1 Then MsgBox "Bit 1 gesetzt!"
    If (I AND 2) = 2 Then MsgBox "Bit 2 gesetzt!"
    If (I AND 4) = 4 Then MsgBox "Bit 3 gesetzt!"
    If (I AND 8) = 8 Then MsgBox "Bit 4 gesetzt!"
    If (I AND 16) = 16 Then MsgBox "Bit 5 gesetzt!"
    If (I AND 32) = 32 Then MsgBox "Bit 6 gesetzt!"
    If (I AND 64) = 64 Then MsgBox "Bit 7 gesetzt!"
    If (I AND 128) = 128 Then MsgBox "Bit 8 gesetzt!"
    If (I AND 256) = 256 Then MsgBox "Bit 9 gesetzt!"
    If (I AND 512) = 512 Then MsgBox "Bit 10 gesetzt!"
    ...

    Der Trick dabei ist die Maskierung. Hier ein Beispiel:

    011 = 3 Dies ist eine Drei (z.B. I)
    010 = 2 Dies ist eine Zwei
    100 = 4 Dies ist eine Vier
    Also I=3 -> I AND 2

    011 AND 010 ergibt 010 (also 2), da der Bit gesetzt wurde!
    011 AND 100 Ergibt 000 (also 0), da keine Bits gleich sind!

    Ich hoffe du wei?t was ich meine!

    Mfg

    MeMe
  • in: Problem mit der combox

    geschrieben von meme

    Hallo!

    Hier ein Beispiel:

    Code steht im Click Ereignis der ComboBox:

    Select Case Combo1.Text
    Case "Form1": Form1.Show
    Case "Form2": Form2.Show
    Case "Form3": Form3.Show
    Case "Form4": Form4.Show
    ...
    End Select

    Als Text steht zum Beispiel hier in jeder Zeile Form1, Form2, usw.

    Die Eigenschaft "Style" der Kombinationsbox solltest du aber auf "2 - Dropdown-Liste" setzen.

    Mfg

    Meme
  • in: Browserfenster im VB Programm!?

    geschrieben von meme

    Hallo!

    Du solltest die Komponente "Microsoft Internet Controls" hinzuf?gen. Dann die Komponente auf dem Fenster aufziehen und Text Feld aufziehen. Dann folgendes zum Code hinzuf?gen:

    Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
    KeyAscii = 0
    WebBrowser1.Navigate lsPage
    End If
    End Sub

    Wird nun in der textbox ein Wert eingetragen, und mit Return best?tigt (Ascii = 13) dann soll dieser return ermal aus dem Tastaturspeicher entfernt werden (bei return macht es ansonsten Beep) und dann wird die Seite mit Hilfe der Navigate Funktion geladen. Es stehen noch weitere m?glichkeiten zur Steuerung des Browsers zur Verf?gung, z.B.:

    WebBrowser1.Stop ' Beendet das Laden
    WebBrowser1.GoBack ' Geht zur?ck
    WebBrowser1.GoForward ' Geht Vor
    WebBrowser1.GoHome ' Geht zur Startseite (Internet Explorer Startseite)
    WebBrowser1.GoSearch ' geht zur Microsoft Suchseite
    WebBrowser1.Refresh ' F?hrt eine Aktualisierung aus

    Mfg

    Meme
  • in: Scrollbar

    geschrieben von meme

    Hallo!

    Zum Beispiel f?r einen Frame kannst du folgendes nutzen:

    In dem Change-Ereignis des Scroll Objektes (hier Vertikal Scroll):

    Private Sub VScroll1_Change()
    Frame1.Top = VScroll1.Value
    End Sub

    Die Max Eigenschaft f?r VScroll solltest du zum Beispiel auf 500 setzen und die "ScaleMode" Eigenschaft des Fensters sollte auf "3 - Pixel" stehen (damit nicht zu kleine, nicht sichtbare Schritte genutzt werden, denn twips ist mei?t 16 mal kleiner als ein Darstellungpunkt auf dem Bildschirm)

    Dann sollte es schon eigentlich klappen!

    M?chtest du das alles Fixieren in ein Objekt (mit Rand), dann solltest du alle Objekte zum beispiel in eine PictureBox erstellen (die ein eigenes HDC hat). Borderstyle evtl. dann auf "0 - Kein" stellen.

    Meme
  • in: Do-Loop schleife für mehrere Zahlen

    geschrieben von meme

    Hallo!

    Ich verstehe nicht ganz deine Frage. K?nntest du die noch genauer Beschreiben? Hier zwei m?glichkeiten wie du das jetzt meinst:

    Du m?chtest als letztes vbCrLf & "ok"... UND ein Z?hler sollte nicht mehr als 17 werden? Dann so:

    i = 0
    Do
    i=i+1
    ....
    Loop until right (t, 6) = vbcrlf +"ok" ... and i>=17

    (Achtung: Falls du i in der Liste manipulierst, solltest du immer >= benutzen!)

    Oder meinst du als letztes vbCrLf & "ok"... ODER einen Z?hler der nicht mehr als 17 sein sollte? Dann so:

    i = 0
    Do
    i=i+1
    ....
    Loop until right (t, 6) = vbcrlf +"ok" ... or i>=17

    Noch ein Tip: Du kannst auch "Exit Do" benutzen -> Dieser springt aus der Schleife direkt raus! Beispiel:

    i = 0
    Do
    i=i+1
    ....
    if i>=17 Then Exit Do
    ...
    Loop until right (t, 6) = vbcrlf +"ok" ...

    Falls da? das richtige noch nicht war, bitte ich um mehr informationen!

    Meme

Login zum Webhosting ohne Werbung!