1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Bitnugger

Beiträge von Bitnugger

  • StringSplit innhalber einer Funktion, funktioniert nicht

    • Bitnugger
    • 20. Oktober 2017 um 21:51
    Zitat von Musashi

    Die (Re)dimensionierung des Arrays

    Habe ich nun komplett entfernt und auch noch drei Fehler beseitigt. BiosCharacteristics, BIOSVersion und ListOfLanguages sind Arrays... die ich aber als String behandelt hatte.

    Zitat von Musashi

    Es ist für 'Normaluser' nur schwer zu erkennen, dass er auch die jeweiligen Enum-Werte entfernen muss

    Tja, und was bitte soll ich daran ändern?

    _GetBIOSInfo
    C
    ;-- TIME_STAMP   2017-10-20 21:33:12   v 1.2
    
    #Region ;************ Includes ************
    #include <Array.au3>
    #EndRegion ;************ Includes ************
    
    Opt('MustDeclareVars', 1) ; Variablen müssen vor der Verwendung deklariert werden
    
    Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
    
    Global Enum $eBiosCharacteristics, $eBIOSVersion, $eBuildNumber, $eCaption, $eCodeSet, $eCurrentLanguage, $eDescription, $eEmbeddedControllerMajorVersion, $eEmbeddedControllerMinorVersion, $eIdentificationCode, $eInstallableLanguages, $eInstallDate, $eLanguageEdition, $eListOfLanguages, $eManufacturer, $eName, $eOtherTargetOS, $ePrimaryBIOS, $eReleaseDate, $eSerialNumber, $eSMBIOSBIOSVersion, $eSMBIOSMajorVersion, $eSMBIOSMinorVersion, $eSMBIOSPresent, $eSoftwareElementID, $eSoftwareElementState, $eStatus, $eSystemBiosMajorVersion, $eSystemBiosMinorVersion, $eTargetOperatingSystem, $eVersion, $eSizeOff
    
    Global $g_aBIOSInfo = _GetBIOSInfo()
    
    If @error Then
        ConsoleWrite("! Fehler in der Funktion _GetBIOSInfo! Error = " & @error & @CRLF)
    Else
        For $i = 0 To $eSizeOff - 1 Step 1
            ConsoleWrite(StringFormat('> %32s = %s\r', $g_aBIOSInfo[$i][0], $g_aBIOSInfo[$i][1]))
        Next
        ConsoleWrite(@CRLF)
    
        Local $aSplit
    
        $aSplit = _SplitStr($g_aBIOSInfo[$eSMBIOSBIOSVersion][1])
        ConsoleWrite(StringFormat('! %32s = %s\r', 'SMBBIOSVersion Split 1', $aSplit[0]))
        ConsoleWrite(StringFormat('! %32s = %s\r', 'SMBBIOSVersion Split 2', $aSplit[1]))
    
        ConsoleWrite(@CRLF)
    
        $aSplit = _SplitStr($g_aBIOSInfo[$eVersion][1])
        ConsoleWrite(StringFormat('- %32s = %s\r', '       Version Split 1', $aSplit[0]))
        ConsoleWrite(StringFormat('- %32s = %s\r', '       Version Split 2', $aSplit[1]))
    
        ConsoleWrite(@CRLF)
    
        ConsoleWrite(StringFormat('+ %32s = %s\r', '       Version Split 1', _SplitStr($g_aBIOSInfo[$eVersion][1])[0]))
        ConsoleWrite(StringFormat('+ %32s = %s\r', '       Version Split 2', _SplitStr($g_aBIOSInfo[$eVersion][1])[1]))
    
        ConsoleWrite(@CRLF)
    
        ConsoleWrite(StringFormat('@ %32s = %s\r', $g_aBIOSInfo[$eManufacturer][0], $g_aBIOSInfo[$eManufacturer][1]))
    
        _ArrayDisplay($g_aBIOSInfo)
    EndIf
    
    Func _GetBIOSInfo()
        Local $objWMI, $colItems, $objItem, $wbemFlagReturnImmediately = 0x10, $wbemFlagForwardOnly = 0x20
        Local $sBIOSVersion, $sManufacturer, $sSerialNumber
        Local $aReturn[$eSizeOff][2]
    
        $objWMI = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & @ComputerName & "\root\cimv2")
        $colItems = $objWMI.ExecQuery("SELECT * FROM Win32_BIOS", "WQL", BitOR($wbemFlagReturnImmediately, $wbemFlagForwardOnly))
        If IsObj($colItems) Then
            For $objItem In $colItems
                With $objItem
                    If IsArray(.BiosCharacteristics) Then _ArraySetItem($aReturn, $eBiosCharacteristics, "BiosCharacteristics", _ArrayToString(.BiosCharacteristics, ","))
                    If IsArray(.BIOSVersion) Then _ArraySetItem($aReturn, $eBIOSVersion, "BIOSVersion", _ArrayToString(.BIOSVersion, ","))
                    _ArraySetItem($aReturn, $eBuildNumber, "BuildNumber", .BuildNumber)
                    _ArraySetItem($aReturn, $eCaption, "Caption", .Caption)
                    _ArraySetItem($aReturn, $eCodeSet, "CodeSet", .CodeSet)
                    _ArraySetItem($aReturn, $eCurrentLanguage, "CurrentLanguage", .CurrentLanguage)
                    _ArraySetItem($aReturn, $eDescription, "Description", .Description)
                    _ArraySetItem($aReturn, $eEmbeddedControllerMajorVersion, "EmbeddedControllerMajorVersion", .EmbeddedControllerMajorVersion)
                    _ArraySetItem($aReturn, $eEmbeddedControllerMinorVersion, "EmbeddedControllerMinorVersion", .EmbeddedControllerMinorVersion)
                    _ArraySetItem($aReturn, $eIdentificationCode, "IdentificationCode", .IdentificationCode)
                    _ArraySetItem($aReturn, $eInstallableLanguages, "InstallableLanguages", .InstallableLanguages)
                    _ArraySetItem($aReturn, $eInstallDate, "InstallDate", .InstallDate)
                    _ArraySetItem($aReturn, $eLanguageEdition, "LanguageEdition", .LanguageEdition)
                    If IsArray(.ListOfLanguages) Then _ArraySetItem($aReturn, $eListOfLanguages, "ListOfLanguages", _ArrayToString(.ListOfLanguages, ","))
                    _ArraySetItem($aReturn, $eManufacturer, "Manufacturer", .Manufacturer)
                    _ArraySetItem($aReturn, $eName, "Name", .Name)
                    _ArraySetItem($aReturn, $eOtherTargetOS, "OtherTargetOS", .OtherTargetOS)
                    _ArraySetItem($aReturn, $ePrimaryBIOS, "PrimaryBIOS", .PrimaryBIOS)
                    _ArraySetItem($aReturn, $eReleaseDate, "ReleaseDate", .ReleaseDate)
                    _ArraySetItem($aReturn, $eSerialNumber, "SerialNumber", .SerialNumber)
                    _ArraySetItem($aReturn, $eSMBIOSBIOSVersion, "SMBIOSBIOSVersion", .SMBIOSBIOSVersion)
                    _ArraySetItem($aReturn, $eSMBIOSMajorVersion, "SMBIOSMajorVersion", .SMBIOSMajorVersion)
                    _ArraySetItem($aReturn, $eSMBIOSMinorVersion, "SMBIOSMinorVersion", .SMBIOSMinorVersion)
                    _ArraySetItem($aReturn, $eSMBIOSPresent, "SMBIOSPresent", .SMBIOSPresent)
                    _ArraySetItem($aReturn, $eSoftwareElementID, "SoftwareElementID", .SoftwareElementID)
                    _ArraySetItem($aReturn, $eSoftwareElementState, "SoftwareElementState", .SoftwareElementState)
                    _ArraySetItem($aReturn, $eStatus, "Status", .Status)
                    _ArraySetItem($aReturn, $eSystemBiosMajorVersion, "SystemBiosMajorVersion", .SystemBiosMajorVersion)
                    _ArraySetItem($aReturn, $eSystemBiosMinorVersion, "SystemBiosMinorVersion", .SystemBiosMinorVersion)
                    _ArraySetItem($aReturn, $eTargetOperatingSystem, "TargetOperatingSystem", .TargetOperatingSystem)
                    _ArraySetItem($aReturn, $eVersion, "Version", .Version)
                EndWith
            Next
        Else
            Return SetError(1)
        EndIf
    
        Return $aReturn
    EndFunc   ;==>_GetBIOSInfo
    
    Func MyErrFunc()
        ConsoleWrite("! COM Error!" & @CRLF & _
                "!    err.description is  : " & @TAB & $oMyError.description & @CRLF & _
                "!    err.windescription  : " & @TAB & $oMyError.windescription & @CRLF & _
                "!    err.number is       : " & @TAB & Hex($oMyError.number, 8) & @CRLF & _
                "!    err.lastdllerror is : " & @TAB & $oMyError.lastdllerror & @CRLF & _
                "!    err.scriptline is   : " & @TAB & $oMyError.scriptline & @CRLF & _
                "!    err.source is       : " & @TAB & $oMyError.source & @CRLF & _
                "!    err.helpfile is     : " & @TAB & $oMyError.helpfile & @CRLF & _
                "!    err.helpcontext is  : " & @TAB & $oMyError.helpcontext & @CRLF)
    EndFunc   ;==>MyErrFunc
    
    Func _ArraySetItem(ByRef $aArray, $eNum, $sName, $sItem)
        $aArray[$eNum][0] = $sName
        $aArray[$eNum][1] = $sItem
    EndFunc   ;==>_ArraySetItem
    
    Func _SplitStr($sStr)
        Local $aSplit[2], $iSeperator = -1, $aSeperator = ['.', ' - ', '-', '']
        Do
            $iSeperator += 1
            If $aSeperator[$iSeperator] = '' Or $sStr = '' Then
                ReDim $aSplit[2]
                $aSplit[0] = $sStr
                $aSplit[1] = ''
                ExitLoop
            EndIf
            $aSplit = StringRegExp($sStr, '(.+)\' & $aSeperator[$iSeperator] & '(.+)', 1)
        Until UBound($aSplit) = 2
    
        Return $aSplit
    EndFunc   ;==>_SplitStr
    Alles anzeigen
  • StringSplit innhalber einer Funktion, funktioniert nicht

    • Bitnugger
    • 20. Oktober 2017 um 19:46
    Zitat von Musashi

    The requested action with this object has failed.

    Hm, da bin ich aber sehr erstaunt, dass auf einigen System nicht alle Properties unterstützt werden. Bei mir (Win 10 X64) sind sie alle verfügbar, aber wie bei BugFix sind einige davon nicht befüllt.

    Funktioniert denn die Version von AspirinJunkie bei euch?

    Hier der Ordnung halber noch mal meine Version mit Error-Handler...

    _GetBIOSInfo()
    C
    ;-- TIME_STAMP   2017-10-20 19:44:56   v 1.1
    
    #Region ;************ Includes ************
    #include <Array.au3>
    #EndRegion ;************ Includes ************
    
    Opt('MustDeclareVars', 1) ; Variablen müssen vor der Verwendung deklariert werden
    
    Global $oMyError = ObjEvent("AutoIt.Error","MyErrFunc")
    
    Global Enum $eBiosCharacteristics, $eBIOSVersion, $eBuildNumber, $eCaption, $eCodeSet, $eCurrentLanguage, $eDescription, $eEmbeddedControllerMajorVersion, $eEmbeddedControllerMinorVersion, $eIdentificationCode, $eInstallableLanguages, $eInstallDate, $eLanguageEdition, $eListOfLanguages, $eManufacturer, $eName, $eOtherTargetOS, $ePrimaryBIOS, $eReleaseDate, $eSerialNumber, $eSMBIOSBIOSVersion, $eSMBIOSMajorVersion, $eSMBIOSMinorVersion, $eSMBIOSPresent, $eSoftwareElementID, $eSoftwareElementState, $eStatus, $eSystemBiosMajorVersion, $eSystemBiosMinorVersion, $eTargetOperatingSystem, $eVersion, $eSizeOff
    
    Global $g_aBIOSInfo = _GetBIOSInfo()
    
    If @error Then
        ConsoleWrite("! Fehler in der Funktion _GetBIOSInfo! Error = " & @error & @CRLF)
    Else
        For $i = 0 To $eSizeOff - 1 Step 1
            ConsoleWrite(StringFormat('> %32s = %s\r', $g_aBIOSInfo[$i][0], $g_aBIOSInfo[$i][1]))
        Next
        ConsoleWrite(@CRLF)
    
        Local $aSplit
    
        $aSplit = _SplitStr($g_aBIOSInfo[$eSMBIOSBIOSVersion][1])
        ConsoleWrite(StringFormat('! %32s = %s\r', 'SMBBIOSVersion Split 1', $aSplit[0]))
        ConsoleWrite(StringFormat('! %32s = %s\r', 'SMBBIOSVersion Split 2', $aSplit[1]))
    
        ConsoleWrite(@CRLF)
    
        $aSplit = _SplitStr($g_aBIOSInfo[$eVersion][1])
        ConsoleWrite(StringFormat('- %32s = %s\r', '       Version Split 1', $aSplit[0]))
        ConsoleWrite(StringFormat('- %32s = %s\r', '       Version Split 2', $aSplit[1]))
    
        ConsoleWrite(@CRLF)
    
        ConsoleWrite(StringFormat('+ %32s = %s\r', '       Version Split 1', _SplitStr($g_aBIOSInfo[$eVersion][1])[0]))
        ConsoleWrite(StringFormat('+ %32s = %s\r', '       Version Split 2', _SplitStr($g_aBIOSInfo[$eVersion][1])[1]))
    
        ConsoleWrite(@CRLF)
    
        ConsoleWrite(StringFormat('@ %32s = %s\r', $g_aBIOSInfo[$eManufacturer][0], $g_aBIOSInfo[$eManufacturer][1]))
    
        _ArrayDisplay($g_aBIOSInfo)
    EndIf
    
    Func _GetBIOSInfo()
        Local $objWMI, $colItems, $objItem, $wbemFlagReturnImmediately = 0x10, $wbemFlagForwardOnly = 0x20
        Local $sBIOSVersion, $sManufacturer, $sSerialNumber
        Local $aReturn[0][2]
        Local $strBiosCharacteristics, $strBIOSVersion, $strListOfLanguages
    
        $objWMI = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & @ComputerName & "\root\cimv2")
        $colItems = $objWMI.ExecQuery("SELECT * FROM Win32_BIOS", "WQL", BitOR($wbemFlagReturnImmediately, $wbemFlagForwardOnly))
        If IsObj($colItems) Then
            For $objItem In $colItems
                With $objItem
                    $strBiosCharacteristics &= .BiosCharacteristics & ","
                    _ArrayAddItem($aReturn, "BiosCharacteristics", $strBiosCharacteristics)
                    $strBIOSVersion &= .BIOSVersion & ","
                    _ArrayAddItem($aReturn, "BIOSVersion", $strBIOSVersion)
                    _ArrayAddItem($aReturn, "BuildNumber", .BuildNumber)
                    _ArrayAddItem($aReturn, "Caption", .Caption)
                    _ArrayAddItem($aReturn, "CodeSet", .CodeSet)
                    _ArrayAddItem($aReturn, "CurrentLanguage", .CurrentLanguage)
                    _ArrayAddItem($aReturn, "Description", .Description)
                    _ArrayAddItem($aReturn, "EmbeddedControllerMajorVersion", .EmbeddedControllerMajorVersion)
                    _ArrayAddItem($aReturn, "EmbeddedControllerMinorVersion", .EmbeddedControllerMinorVersion)
                    _ArrayAddItem($aReturn, "IdentificationCode", .IdentificationCode)
                    _ArrayAddItem($aReturn, "InstallableLanguages", .InstallableLanguages)
                    _ArrayAddItem($aReturn, "InstallDate", .InstallDate)
                    _ArrayAddItem($aReturn, "LanguageEdition", .LanguageEdition)
                    $strListOfLanguages &= .ListOfLanguages & ","
                    _ArrayAddItem($aReturn, "ListOfLanguages", $strListOfLanguages)
                    _ArrayAddItem($aReturn, "Manufacturer", .Manufacturer)
                    _ArrayAddItem($aReturn, "Name", .Name)
                    _ArrayAddItem($aReturn, "OtherTargetOS", .OtherTargetOS)
                    _ArrayAddItem($aReturn, "PrimaryBIOS", .PrimaryBIOS)
                    _ArrayAddItem($aReturn, "ReleaseDate", .ReleaseDate)
                    _ArrayAddItem($aReturn, "SerialNumber", .SerialNumber)
                    _ArrayAddItem($aReturn, "SMBIOSBIOSVersion", .SMBIOSBIOSVersion)
                    _ArrayAddItem($aReturn, "SMBIOSMajorVersion", .SMBIOSMajorVersion)
                    _ArrayAddItem($aReturn, "SMBIOSMinorVersion", .SMBIOSMinorVersion)
                    _ArrayAddItem($aReturn, "SMBIOSPresent", .SMBIOSPresent)
                    _ArrayAddItem($aReturn, "SoftwareElementID", .SoftwareElementID)
                    _ArrayAddItem($aReturn, "SoftwareElementState", .SoftwareElementState)
                    _ArrayAddItem($aReturn, "Status", .Status)
                    _ArrayAddItem($aReturn, "SystemBiosMajorVersion", .SystemBiosMajorVersion)
                    _ArrayAddItem($aReturn, "SystemBiosMinorVersion", .SystemBiosMinorVersion)
                    _ArrayAddItem($aReturn, "TargetOperatingSystem", .TargetOperatingSystem)
                    _ArrayAddItem($aReturn, "Version", .Version)
                EndWith
            Next
        Else
            Return SetError(1)
        EndIf
    
        Return $aReturn
    EndFunc  ;==>_GetBIOSInfo
    
    Func MyErrFunc()
        ConsoleWrite("! COM Error!" & @CRLF & _
            "!    err.description is  : " & @TAB & $oMyError.description & @CRLF & _
            "!    err.windescription  : " & @TAB & $oMyError.windescription & @CRLF & _
            "!    err.number is       : " & @TAB & Hex($oMyError.number,8) & @CRLF & _
            "!    err.lastdllerror is : " & @TAB & $oMyError.lastdllerror & @CRLF & _
            "!    err.scriptline is   : " & @TAB & $oMyError.scriptline & @CRLF & _
            "!    err.source is       : " & @TAB & $oMyError.source & @CRLF & _
            "!    err.helpfile is     : " & @TAB & $oMyError.helpfile & @CRLF & _
            "!    err.helpcontext is  : " & @TAB & $oMyError.helpcontext & @CRLF)
    Endfunc
    
    Func _ArrayAddItem(ByRef $aArray, $sName, $sItem)
        Local $iDim = UBound($aArray) + 1
        ReDim $aArray[$iDim][2]
        $aArray[$iDim - 1][0] = $sName
        $aArray[$iDim - 1][1] = $sItem
    EndFunc  ;==>_ArrayAddItem
    
    Func _SplitStr($sStr)
        Local $aSplit[2], $iSeperator = -1, $aSeperator = ['.', ' - ', '-', '']
        Do
            $iSeperator += 1
            If $aSeperator[$iSeperator] = '' Or $sStr = '' Then
                ReDim $aSplit[2]
                $aSplit[0] = $sStr
                $aSplit[1] = ''
                ExitLoop
            EndIf
            $aSplit = StringRegExp($sStr, '(.+)\' & $aSeperator[$iSeperator] & '(.+)', 1)
        Until UBound($aSplit) = 2
    
        Return $aSplit
    EndFunc  ;==>_SplitStr
    Alles anzeigen

    @Musashi

    In den meisten Funktionen kann man nicht nach Belieben irgendwelche Zeilen auskommentieren und dabei erwarten, dass sie ohne weitere Anpassungen funktionieren. Hier in diesem Fall müssten lediglich die entsprechenden Enum-Werte entfernt werden. Alternativ könnte man die Funktion auch umschreiben, dass sie nur die gewünschten Werte liefert... z.B.: _GetBIOSInfo('SMBIOSBIOSVersion', 'SMBIOSMajorVersion', 'SMBIOSMinorVersion', 'Version')

    Global Enum $eBiosCharacteristics, $eBIOSVersion, $eBuildNumber, $eCaption, $eCodeSet, $eCurrentLanguage, $eDescription, $eEmbeddedControllerMajorVersion, $eEmbeddedControllerMinorVersion, $eIdentificationCode, $eInstallableLanguages, $eInstallDate, $eLanguageEdition, $eListOfLanguages, $eManufacturer, $eName, $eOtherTargetOS, $ePrimaryBIOS, $eReleaseDate, $eSerialNumber, $eSMBIOSBIOSVersion, $eSMBIOSMajorVersion, $eSMBIOSMinorVersion, $eSMBIOSPresent, $eSoftwareElementID, $eSoftwareElementState, $eStatus, $eSystemBiosMajorVersion, $eSystemBiosMinorVersion, $eTargetOperatingSystem, $eVersion, $eSizeOff

    Global Enum $eBiosCharacteristics, $eBIOSVersion, $eBuildNumber, $eCaption, $eCodeSet, $eCurrentLanguage, $eDescription, $eIdentificationCode, $eInstallableLanguages, $eInstallDate, $eLanguageEdition, $eListOfLanguages, $eManufacturer, $eName, $eOtherTargetOS, $ePrimaryBIOS, $eReleaseDate, $eSerialNumber, $eSMBIOSBIOSVersion, $eSMBIOSMajorVersion, $eSMBIOSMinorVersion, $eSMBIOSPresent, $eSoftwareElementID, $eSoftwareElementState, $eStatus, $eSystemBiosMajorVersion, $eSystemBiosMinorVersion, $eTargetOperatingSystem, $eVersion, $eSizeOff


    ;_ArrayAddItem($aReturn, "EmbeddedControllerMajorVersion", .EmbeddedControllerMajorVersion)

    ;_ArrayAddItem($aReturn, "EmbeddedControllerMinorVersion", .EmbeddedControllerMinorVersion)

  • StringSplit innhalber einer Funktion, funktioniert nicht

    • Bitnugger
    • 20. Oktober 2017 um 00:24

    Hier mal eine Version von mir...

    _GetBIOSInfo()
    C
    ;-- TIME_STAMP   2017-10-20 00:21:02   v 0.1
    
    #Region ;************ Includes ************
    #include <Array.au3>
    #EndRegion ;************ Includes ************
    
    Opt('MustDeclareVars', 1) ; Variablen müssen vor der Verwendung deklariert werden
    
    Global Enum $eBiosCharacteristics, $eBIOSVersion, $eBuildNumber, $eCaption, $eCodeSet, $eCurrentLanguage, $eDescription, $eEmbeddedControllerMajorVersion, $eEmbeddedControllerMinorVersion, $eIdentificationCode, $eInstallableLanguages, $eInstallDate, $eLanguageEdition, $eListOfLanguages, $eManufacturer, $eName, $eOtherTargetOS, $ePrimaryBIOS, $eReleaseDate, $eSerialNumber, $eSMBIOSBIOSVersion, $eSMBIOSMajorVersion, $eSMBIOSMinorVersion, $eSMBIOSPresent, $eSoftwareElementID, $eSoftwareElementState, $eStatus, $eSystemBiosMajorVersion, $eSystemBiosMinorVersion, $eTargetOperatingSystem, $eVersion, $eSizeOff
    
    Global $g_aBIOSInfo = _GetBIOSInfo()
    
    If @error Then
        ConsoleWrite("! Fehler in der Funktion _GetBIOSInfo! Error = " & @error & @CRLF)
    Else
        For $i = 0 To $eSizeOff - 1 Step 1
            ConsoleWrite(StringFormat('> %32s = %s\r', $g_aBIOSInfo[$i][0], $g_aBIOSInfo[$i][1]))
        Next
        ConsoleWrite(@CRLF)
    
        Local $aSplit
    
        $aSplit = _SplitStr($g_aBIOSInfo[$eSMBIOSBIOSVersion][1])
        ConsoleWrite(StringFormat('! %32s = %s\r', 'SMBBIOSVersion Split 1', $aSplit[0]))
        ConsoleWrite(StringFormat('! %32s = %s\r', 'SMBBIOSVersion Split 2', $aSplit[1]))
    
        ConsoleWrite(@CRLF)
    
        $aSplit = _SplitStr($g_aBIOSInfo[$eVersion][1])
        ConsoleWrite(StringFormat('- %32s = %s\r', '       Version Split 1', $aSplit[0]))
        ConsoleWrite(StringFormat('- %32s = %s\r', '       Version Split 2', $aSplit[1]))
    
        ConsoleWrite(@CRLF)
    
        ConsoleWrite(StringFormat('+ %32s = %s\r', '       Version Split 1', _SplitStr($g_aBIOSInfo[$eVersion][1])[0]))
        ConsoleWrite(StringFormat('+ %32s = %s\r', '       Version Split 2', _SplitStr($g_aBIOSInfo[$eVersion][1])[1]))
    
        ConsoleWrite(@CRLF)
    
        ConsoleWrite(StringFormat('@ %32s = %s\r', $g_aBIOSInfo[$eManufacturer][0], $g_aBIOSInfo[$eManufacturer][1]))
    
        _ArrayDisplay($g_aBIOSInfo)
    EndIf
    
    Func _GetBIOSInfo()
        Local $objWMI, $colItems, $objItem, $wbemFlagReturnImmediately = 0x10, $wbemFlagForwardOnly = 0x20
        Local $sBIOSVersion, $sManufacturer, $sSerialNumber
        Local $aReturn[0][2]
        Local $strBiosCharacteristics, $strBIOSVersion, $strListOfLanguages
    
        $objWMI = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & @ComputerName & "\root\cimv2")
        $colItems = $objWMI.ExecQuery("SELECT * FROM Win32_BIOS", "WQL", BitOR($wbemFlagReturnImmediately, $wbemFlagForwardOnly))
        If IsObj($colItems) Then
            For $objItem In $colItems
                With $objItem
                    $strBiosCharacteristics &= .BiosCharacteristics & ","
                    _ArrayAddItem($aReturn, "BiosCharacteristics", $strBiosCharacteristics)
                    $strBIOSVersion &= .BIOSVersion & ","
                    _ArrayAddItem($aReturn, "BIOSVersion", $strBIOSVersion)
                    _ArrayAddItem($aReturn, "BuildNumber", .BuildNumber)
                    _ArrayAddItem($aReturn, "Caption", .Caption)
                    _ArrayAddItem($aReturn, "CodeSet", .CodeSet)
                    _ArrayAddItem($aReturn, "CurrentLanguage", .CurrentLanguage)
                    _ArrayAddItem($aReturn, "Description", .Description)
                    _ArrayAddItem($aReturn, "EmbeddedControllerMajorVersion", .EmbeddedControllerMajorVersion)
                    _ArrayAddItem($aReturn, "EmbeddedControllerMinorVersion", .EmbeddedControllerMinorVersion)
                    _ArrayAddItem($aReturn, "IdentificationCode", .IdentificationCode)
                    _ArrayAddItem($aReturn, "InstallableLanguages", .InstallableLanguages)
                    _ArrayAddItem($aReturn, "InstallDate", .InstallDate)
                    _ArrayAddItem($aReturn, "LanguageEdition", .LanguageEdition)
                    $strListOfLanguages &= .ListOfLanguages & ","
                    _ArrayAddItem($aReturn, "ListOfLanguages", $strListOfLanguages)
                    _ArrayAddItem($aReturn, "Manufacturer", .Manufacturer)
                    _ArrayAddItem($aReturn, "Name", .Name)
                    _ArrayAddItem($aReturn, "OtherTargetOS", .OtherTargetOS)
                    _ArrayAddItem($aReturn, "PrimaryBIOS", .PrimaryBIOS)
                    _ArrayAddItem($aReturn, "ReleaseDate", .ReleaseDate)
                    _ArrayAddItem($aReturn, "SerialNumber", .SerialNumber)
                    _ArrayAddItem($aReturn, "SMBIOSBIOSVersion", .SMBIOSBIOSVersion)
                    _ArrayAddItem($aReturn, "SMBIOSMajorVersion", .SMBIOSMajorVersion)
                    _ArrayAddItem($aReturn, "SMBIOSMinorVersion", .SMBIOSMinorVersion)
                    _ArrayAddItem($aReturn, "SMBIOSPresent", .SMBIOSPresent)
                    _ArrayAddItem($aReturn, "SoftwareElementID", .SoftwareElementID)
                    _ArrayAddItem($aReturn, "SoftwareElementState", .SoftwareElementState)
                    _ArrayAddItem($aReturn, "Status", .Status)
                    _ArrayAddItem($aReturn, "SystemBiosMajorVersion", .SystemBiosMajorVersion)
                    _ArrayAddItem($aReturn, "SystemBiosMinorVersion", .SystemBiosMinorVersion)
                    _ArrayAddItem($aReturn, "TargetOperatingSystem", .TargetOperatingSystem)
                    _ArrayAddItem($aReturn, "Version", .Version)
                EndWith
            Next
        Else
            Return SetError(1)
        EndIf
    
        Return $aReturn
    EndFunc  ;==>_GetBIOSInfo
    
    Func _ArrayAddItem(ByRef $aArray, $sName, $sItem)
        Local $iDim = UBound($aArray) + 1
        ReDim $aArray[$iDim][2]
        $aArray[$iDim - 1][0] = $sName
        $aArray[$iDim - 1][1] = $sItem
    EndFunc  ;==>_ArrayAddItem
    
    Func _SplitStr($sStr)
        Local $aSplit[2], $iSeperator = -1, $aSeperator = ['.', ' - ', '-', '']
        Do
            $iSeperator += 1
            If $aSeperator[$iSeperator] = '' Or $sStr = '' Then
                ReDim $aSplit[2]
                $aSplit[0] = $sStr
                $aSplit[1] = ''
                ExitLoop
            EndIf
            $aSplit = StringRegExp($sStr, '(.+)\' & $aSeperator[$iSeperator] & '(.+)', 1)
        Until UBound($aSplit) = 2
    
        Return $aSplit
    EndFunc  ;==>_SplitStr
    Alles anzeigen
  • _GDIPlus_ImageFixFileExtension

    • Bitnugger
    • 16. Oktober 2017 um 18:20

    Sehr schön, gefällt mir!

    Zitat von Oscar

    Allerdings funktioniert das prüfen auf die Dateiendung mit StringInStr nicht. Wenn man z.B. als Dateiendung nur ".jp" hat (das "g" vergessen), dann wird das mit StringinStr als korrekt angesehen.

    Das hat mir keine Ruhe gelassen... muss doch auch als Einzeiler gehen! 8o

    Code
    If StringInStr($__g_aGDIPDecoders[$iFormat][6] & ';', StringRegExpReplace($sFilename & ';', '(?:.+)(\..+;)', '$1')) Then Return SetError(0, 1, $sFilename)

    Ich habe noch ein paar Zeilen geändert... schau es dir einfach mal an.

    Dateien

    _GDIPlus_ImageFixFileExtension.au3 5,13 kB – 360 Downloads
  • Umlaute in einer PDF-Datei

    • Bitnugger
    • 15. Oktober 2017 um 11:30
    Zitat von alpines

    Das _Iif kann man sich seit einigen Versionen sparen und durch den ternären Operatoren ersetzen.

    Hehe, ja, jetzt wo du es sagst, sehe ich es auch...:)

    In dem Fall müssten die Zeilen 251, 252, 253, 258, 824 geändert werden:

    Code: Zeilen 251, 252, 253, 258
    Func _ClosePDFFile()
        $_iResource = __InitObj(4)
        __ToBuffer("<<" & _
                ($_sFONT <> "" ? "/Font<<" & $_sFONT & ">>" : "") & _
                "/ProcSet [/PDF/Text" & ($_Image <> "" ? "/ImageB/ImageC/ImageI" : "") & "]" & _
                (($_Image <> "") Or ($_sObject <> "") ? "/XObject <<" & $_Image & $_sObject & ">>" : "") & ">>")
        __EndObj()
        $_iPages = __InitObj(3)
        __ToBuffer("<</Type /Pages /Count " & $_Pages & " /MediaBox [0 0 " & __ToStr($_PageWidth,1) & " " & __ToStr($_PageHeight,1) & "] " & _
                "/CropBox [" & __ToStr($__SetMargin) & " " & __ToStr($__SetMargin) & " " & __ToStr($_PageWidth - $__SetMargin,1) & " " & __ToStr($_PageHeight - $__SetMargin,1) & "] " & _
                ($_Orientation = $PDF_ORIENTATION_LANDSCAPE ? "/Rotate -90" : "") & "/Kids [" & $_sPage & "] " & "/Resources " & $_iResource & " 0 R>>")
        __EndObj()
        __ToBuffer("xref")
        __ToBuffer("0 " & $_iMaxObject+1)
        __ToBuffer("0000000000 65535 f")
        For $i = 1 To $_iMaxObject
            __ToBuffer($aXREF[$i])
        Next
        __ToBuffer("trailer" & @CRLF & _
                "<<    /Size " & $_iMaxObject + 1 & "/Info 1 0 R" & "/Root 2 0 R" & ">>")
        __ToBuffer("startxref" & @CRLF & StringLen("startxref" & @CRLF & $_Buffer & "%%EOF" & @CRLF) + 6)
        $_FileName = FileOpen($PDF_NAME,18)
        FileWrite($_FileName, $_Buffer & "%%EOF" & @CRLF)
        FileClose($_FileName)
        If $_bOpen Then ShellExecute($PDF_NAME)
    EndFunc   ;==>_ClosePDFFile
    Alles anzeigen
    Code: Zeile 824
    $k += (($C >= $FirstChar) And ($C <= $LastChar) ? $Widths[$C] : $MissingWidth)


    Mit SumatraPDF (dafür gibt es übrigens auch eine UDF) wird es auch korrekt angezeigt...

  • Umlaute in einer PDF-Datei

    • Bitnugger
    • 15. Oktober 2017 um 10:15
    Zitat von Ahnungslos

    Meines Erachtens ist in Zeile 1184 der MPDF-UDF ein Fehler enthalten, habe es mal abgeändert und angehängt.

    Ich kratze mich gerade am Kopf... weil ich nicht verstehen kann, wieso du diese eine Zeile hier nicht einfach nennst, sondern stattdessen die komplette UDF dafür hochlädst - in der übrigens am Ende die letzte Funktion

    _Iif(() fehlt - und deine Version der UDF somit garantiert nicht funktionieren kann! Die korrekte UDF hat SirJonny in Post #3 angehängt.

    Code: Geänderte Zeile
    ;For $j = $FirstChar To $LastChar
    For $j = $FirstChar To $LastChar + $FirstChar
    Code: Fehlende Funktion: _Iif
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _Iif
    ; Description ...: Perform a boolean test within an expression.
    ; Syntax.........: _Iif($fTest, $vTrueVal, $vFalseVal)
    ; Parameters ....: $fTest     - Boolean test.
    ;                  $vTrueVal  - Value to return if $fTest is true.
    ;                  $vFalseVal - Value to return if $fTest is false.
    ; Return values .: True         - $vTrueVal
    ;                  False        - $vFalseVal
    ; Author ........: Dale (Klaatu) Thompson
    ; Modified.......:
    ; Remarks .......:
    ; Related .......:
    ; Link ..........:
    ; Example .......: Yes
    ; ===============================================================================================================================
    Func _Iif($fTest, $vTrueVal, $vFalseVal)
        If $fTest Then
            Return $vTrueVal
        Else
            Return $vFalseVal
        EndIf
    EndFunc   ;==>_Iif
    Alles anzeigen
  • Umlaute in einer PDF-Datei

    • Bitnugger
    • 14. Oktober 2017 um 21:16

    Liebe :Glaskugel:,

    bitte verrate mir, ob SirJonny einen Fehler in seinem Script hat, oder ob die UDF der Übeltäter ist.

    Antwort: Error 404 - Script not found!

  • _GDIPlus_ImageFixFileExtension

    • Bitnugger
    • 14. Oktober 2017 um 19:25
    Zitat von Oscar

    Naja, ich denke, dass das übertrieben wäre, jetzt auch noch eine Abfrage auf Gleichheit der Dateien einzubauen.

    Sind doch nur ein paar Zeilen mehr... ich war mal so frei und habe sie eingebaut.

    Code: Ausgabe
    > _GDIPlus_ImageFixFileExtension(): FileName   = m:\Meine Bilder\AutoIt.tif
    > _GDIPlus_ImageFixFileExtension(): Format     = BMP
    > _GDIPlus_ImageFixFileExtension(): Extensions = *.BMP;*.DIB;*.RLE
    ! _GDIPlus_ImageFixFileExtension(): Diese Dateien sind identisch:
    ! --> Crc32 = 0x831ACA8E  m:\Meine Bilder\AutoIt.tif     - Falsche Dateierweiterung  (wird gelöscht)
    + --> Crc32 = 0x831ACA8E  m:\Meine Bilder\AutoIt.bmp     - Richtige Dateierweiterung (wird behalten)
    @@ Debug(18) : $vRet = m:\Meine Bilder\AutoIt.bmp
    Zitat von Oscar

    Und bezüglich dem ExifTool: eine 2.5KB-Funktion gegen ein 5MB-Programm austauschen?

    Wer nur die von GDIPlus unterstützten Formate überprüfen möchte, ist mit deiner Funktion bestens bedient... wer möglichst viele Formate überprüfen will, hat mit dem Exiftool eine gute Alternative.

    Dateien

    _GDIPlus_ImageFixFileExtension.au3 4,78 kB – 402 Downloads
  • _GDIPlus_ImageFixFileExtension

    • Bitnugger
    • 14. Oktober 2017 um 13:56

    Du solltest hier aber noch differenzieren, dass File Type nicht gleich File Type Extension ist... denn *.JPG in *.JPEG oder *.TIF in *.TIFF umzubenennen, ist zumindest für mich nicht erwünscht.

    Ich möchte hier aber auch noch eine Möglichkeit aufzeigen, mit der sich weitaus mehr File Type Extensions korrigieren lassen, als die von GDI+ unterstützen: ExifTool

    Das Tool downloaden, in "exiftool.exe" umbenennen, um es als Command line tool verwenden zu können, und dann kann man die Ausgabe der (gewünschten) Exif-Tags zu den übergebenen Dateien in eine Datei umleiten, die man dann mit AutoIt auswerten kann.

    Hier mal ein Beispiel:

    Code
    :: all but those with no ext
    m:\exiftool.exe -FilePath -FileType -FileTypeExtension -ext "*" --ext . "m:\Meine Bilder" > m:\out.txt
    Code: Ausgabe
    ======== m:/Meine Bilder/Anleitung.tif
    File Path                       : m:/Meine Bilder/Anleitung.tif
    File Type                       : TIFF
    File Type Extension             : tif
    ======== m:/Meine Bilder/AutoIt.bmp
    File Path                       : m:/Meine Bilder/AutoIt.bmp
    File Type                       : BMP
    File Type Extension             : bmp
    ======== m:/Meine Bilder/AutoIt.gif
    File Path                       : m:/Meine Bilder/AutoIt.gif
    File Type                       : BMP
    File Type Extension             : bmp
    ======== m:/Meine Bilder/Vista.jpg
    File Path                       : m:/Meine Bilder/Vista.jpg
    File Type                       : JPEG
    File Type Extension             : jpg
    ======== m:/Meine Bilder/Zwergenhaus.png
    File Path                       : m:/Meine Bilder/Zwergenhaus.png
    File Type                       : PNG
    File Type Extension             : png
        1 directories scanned
        5 image files read
    Alles anzeigen
    Code: supported file types by ExifTool
    Below is a list of file types and meta information formats currently
        supported by ExifTool (r = read, w = write, c = create):
    
          File Types
          ------------+-------------+-------------+-------------+------------
          3FR   r     | DVB   r/w   | JSON  r     | OFR   r     | RTF   r
          3G2   r/w   | DYLIB r     | K25   r     | OGG   r     | RW2   r/w
          3GP   r/w   | EIP   r     | KDC   r     | OGV   r     | RWL   r/w
          A     r     | EPS   r/w   | KEY   r     | OPUS  r     | RWZ   r
          AA    r     | EPUB  r     | LA    r     | ORF   r/w   | RM    r
          AAX   r/w   | ERF   r/w   | LFP   r     | OTF   r     | SEQ   r
          ACR   r     | EXE   r     | LNK   r     | PAC   r     | SO    r
          AFM   r     | EXIF  r/w/c | M2TS  r     | PAGES r     | SR2   r/w
          AI    r/w   | EXR   r     | M4A/V r/w   | PBM   r/w   | SRF   r
          AIFF  r     | EXV   r/w/c | MAX   r     | PCD   r     | SRW   r/w
          APE   r     | F4A/V r/w   | MEF   r/w   | PDB   r     | SVG   r
          ARW   r/w   | FFF   r/w   | MIE   r/w/c | PDF   r/w   | SWF   r
          ASF   r     | FLA   r     | MIFF  r     | PEF   r/w   | THM   r/w
          AVI   r     | FLAC  r     | MKA   r     | PFA   r     | TIFF  r/w
          AZW   r     | FLIF  r/w   | MKS   r     | PFB   r     | TORRENT r
          BMP   r     | FLV   r     | MKV   r     | PFM   r     | TTC   r
          BPG   r     | FPF   r     | MNG   r/w   | PGF   r     | TTF   r
          BTF   r     | FPX   r     | MOBI  r     | PGM   r/w   | VCF   r
          CHM   r     | GIF   r/w   | MODD  r     | PLIST r     | VRD   r/w/c
          COS   r     | GZ    r     | MOI   r     | PICT  r     | VSD   r
          CR2   r/w   | HDP   r/w   | MOS   r/w   | PMP   r     | WAV   r
          CRW   r/w   | HDR   r     | MOV   r/w   | PNG   r/w   | WDP   r/w
          CS1   r/w   | HEIC  r     | MP3   r     | PPM   r/w   | WEBP  r
          DCM   r     | HEIF  r     | MP4   r/w   | PPT   r     | WEBM  r
          DCP   r/w   | HTML  r     | MPC   r     | PPTX  r     | WMA   r
          DCR   r     | ICC   r/w/c | MPG   r     | PS    r/w   | WMV   r
          DFONT r     | ICS   r     | MPO   r/w   | PSB   r/w   | WV    r
          DIVX  r     | IDML  r     | MQV   r/w   | PSD   r/w   | X3F   r/w
          DJVU  r     | IIQ   r/w   | MRW   r/w   | PSP   r     | XCF   r
          DLL   r     | IND   r/w   | MXF   r     | QTIF  r/w   | XLS   r
          DNG   r/w   | INX   r     | NEF   r/w   | RA    r     | XLSX  r
          DOC   r     | ISO   r     | NRW   r/w   | RAF   r/w   | XMP   r/w/c
          DOCX  r     | ITC   r     | NUMBERS r   | RAM   r     | ZIP   r
          DPX   r     | J2C   r     | O     r     | RAR   r     |
          DR4   r/w/c | JNG   r/w   | ODP   r     | RAW   r/w   |
          DSS   r     | JP2   r/w   | ODS   r     | RIFF  r     |
          DV    r     | JPEG  r/w   | ODT   r     | RSRC  r     |
    Alles anzeigen

    Nachtrag:

    Diese beiden Dateien sind identisch...

    m:/Meine Bilder/AutoIt.gif und m:/Meine Bilder/AutoIt.bmp

    Hier habe ich lediglich eine Kopie der AutoIt.bmp erstellt und sie in AutoIt.gif umbenannt. Hiervon sollte also keine weitere *.bmp Kopie unter anderem Namen erstellt werden.

  • reguläre Suche nach Zahlen und Zahlen in Worte umwandeln

    • Bitnugger
    • 12. Oktober 2017 um 22:00

    Deinen ersten Satz hättest du dir sparen können! Ansonsten stimme ich dir zu, dass Execute() besser gemieden werden sollte. Und übrigens... dein Beispiel funktioniert mit dem getürkten String nicht.

    Hier noch ein wenig Unsinn... :P

    Code
    Local $sTest = "1302948576Beep()&ShellExecute('www.google.de')", $aZahlen = ["Null", "Eins", "Zwei", "Drei", "Vier", "Fünf", "Sechs", "Sieben", "Acht", "Neun"]
    ConsoleWrite('> ' & Execute(StringRegExpReplace(_ArrayToString(StringRegExp($sTest, '(\d){1}', 3), ''), '(\d){1}', '$aZahlen[\1]&') & '""') & @CRLF)
    
    Local $sTest = "1302948576Beep()&ShellExecute('www.google.de')", $aZahlen = ["Null", "Eins", "Zwei", "Drei", "Vier", "Fünf", "Sechs", "Sieben", "Acht", "Neun"]
    For $i=0 To UBound($aZahlen)-1
        $sTest = StringReplace($sTest, String($i), $aZahlen[$i])
    Next
    ConsoleWrite('! ' & $sTest & @CRLF)

    Unsinn.png

  • PNG in Listview

    • Bitnugger
    • 12. Oktober 2017 um 17:02
    Zitat von mcbaldrian

    Meine Tabelle ist so aufgebaut

    Wert1 ; Wert2; Wert3; Name des Bildes


    'Simple Pistol' '1', 'Weapon', 'admincheat', '1.png'

    Das wird so nicht funktionieren, weil du den Pfad zum Bild nicht mit in der DB gespeichert hast! Doch tun wir mal so, als wäre dies der Fall...

    Im Anhang findest du eine kleine Demo (_GUICtrlListView.au3), die bei dir funktionieren sollte... wenn die Bilder gefunden werden! Zudem musst du dir dann noch das Archiv "_GUIImageList_AddImage.zip" laden - daraus brauchst du nur die Datei "_GUIImageList_AddImage.au3", die in der _GUICtrlListView.au3 als Include geladen wird.

    _GUIImageList_AddImage.zip - jetzt werden auch BMP/JPG mit transparenten Hintergrund angezeigt

    GDIP.7z - Ein Wrapper mit erweiterten Funktionen für GDIPlus (Original-Archiv)

    GDIP_En.7z - Hilfe-Dateien für GDIP

    GDIP.zip - Hier noch einmal den Inhalt (ohne Examples) von GDIP.7z in bereinigter Form!

    _GUIImageList_AddImage.png

    Dateien

    _GUICtrlListView.au3 3,11 kB – 323 Downloads GDIP.7z 507,16 kB – 308 Downloads GDIP_En.7z 557,36 kB – 235 Downloads GDIP.zip 74,58 kB – 295 Downloads
  • reguläre Suche nach Zahlen und Zahlen in Worte umwandeln

    • Bitnugger
    • 10. Oktober 2017 um 19:01
    Zitat von AutoMit

    Wow - ich bin beeindruckt, wie kurz sich das schreiben lässt.

    Das geht sogar noch kürzer... ;)

    Code
    Local $sTest = "1302", $aZahlen = ["Null", "Eins", "Zwei", "Drei"]
    ConsoleWrite(Execute(StringRegExpReplace($sTest, '(\d){1}', '$aZahlen[\1]&') & '""') & @CRLF)
  • PNG in Listview

    • Bitnugger
    • 8. Oktober 2017 um 12:57
    Zitat von autoiter

    Da verstehe ich nur nicht, dass ich überhaupt keine Probleme beim ausführen habe.

    Ist doch klare Sache... weil du eben dieselbe GDIPlus.au3 installiert hast, wie ich... und alle anderen Funktionen befinden sich im Script! 8)

  • PNG in Listview

    • Bitnugger
    • 8. Oktober 2017 um 12:06

    Diese Funktionen sind auch nicht Bestandteil der aktuellen GDIPlus.au3! Wenn ich mich nicht irre, stammen die aus einer älteren Version und womöglich gibt es in der aktuellen Version auch alternative Funktionen, welche in dem Fall dann wohl auch vorzugsweise genommen werden sollten... insofern man denn weiß, wie... doch ich bin ja in Sachen GDI ein echtes Greenhorn! ;)

    Ich habe die aktuelle AutoIt-Version (inkl. der Beta) installiert, mit der auch die von mir verwendete GDIPlus.au3 mitbringt.

    @AutoItVersion = 3.3.14.2

    c:\Program Files (x86)\AutoIt3\Include\GDIPlus.au3 280.482 17.09.2015 11:50 ra--

    https://www.autoitscript.com/site/autoit/downloads/


    Ich habe allerdings eine... angestaubte "GDI+" (für AutoIt Version: 3.3.6.1) gefunden, in der diese Funktionen in leicht geänderter From enthalten sind:

    https://www.autoitscript.com/forum/topic/106021-gdipau3/

    Was mich noch nervt, dass ich die Transparenz bei *.BMP noch nicht (ohne Umwege) hin bekomme... aber einen guten Ansatz habe ich bereits:

    _GDIPlus_ImageAttributesSetRemapTable()

  • PNG in Listview

    • Bitnugger
    • 7. Oktober 2017 um 16:50
    Zitat von Oscar

    Deine Funktion kann man noch etwas erweitern, um auch Bilder aus dem Speicher laden zu können

    Ahhh... super Idee!

  • PNG in Listview

    • Bitnugger
    • 7. Oktober 2017 um 16:29

    Hier noch ein wenig erweitert...

    1. *.ico wird nun auch via _GUIImageList_AddImage() geladen, weil die Qualität so viel besser ist.
    2. Unterstützte Formate: '*.ICO', '*.JPG', '*.JPEG', '*.GIF', '*.PNG', '*.BMP', '*.TIF', '*.TIFF
    3. Bilder können nun auch direkt aus dem Speicher hinzugefügt werden ( Oscar )

    ImageList_Add.png

    Dateien

    _GUIImageList_AddImage.zip 132,98 kB – 499 Downloads
  • PNG in Listview

    • Bitnugger
    • 7. Oktober 2017 um 15:08
    Zitat von Oscar

    Einem Listview kann man eine ImageList zuweisen, aber dann ist das Bild in der ersten Spalte.

    Nein, nicht nur in der ersten Spalte...

    Dateien

    _GUIImageList_AddImage.zip 94,08 kB – 492 Downloads
  • GuiCtrlBusy - wie ToolTip, nur anders ;-) - Final [v1.0]

    • Bitnugger
    • 3. Oktober 2017 um 06:44

    Es wäre sehr schön, wenn man die Textausrichtung ($iAlign = 0|1|2 - left|right|centered) mit angeben könnte. Noch schöner wäre es, wenn man links neben dem Text noch ein Icon platzieren könnte. ;)

    Zitat von BugFix

    Ich hatte noch als Idee, die Funktionen _GuiCtrlBusy_RegisterSingleClick($hWnd, "function") und _GuiCtrlBusy_RegisterDoubleClick($hWnd, "function") zu erstellen, die dann entsprechend Klick/Doppelklick auf das Control auswerten. Wäre das interessant/nützlich/sinnvoll?

    Unbedingt!

    Oder ginge das auch so: _GuiCtrlBusy_RegisterMessage($hWnd, $WM_LBUTTONDBLCLK, "function"') und _GuiCtrlBusy_RegisterMessage($hWnd, $WM_CLOSE, "function"')

  • Grafische Darstellung von Messwerten

    • Bitnugger
    • 18. September 2017 um 09:48

    Hi, doch, aber mit Lust hat es wenig zu tun, denn ich bin leider noch einige Zeit ausser Gefecht... bin nun zum zweiten Mal an den Bandscheiben operiert worden. Momentan kann ich nur kurze Zeit vor dem PC sitzen... aber ich denke mal, in 1-2 Wochen bin ich wieder fit genug, um dir dein Script fertig zu schreiben.

  • Versenden e-Mail fehlerhaft

    • Bitnugger
    • 18. September 2017 um 09:18

    tubsids

    Hier mal eine kleine Demo mit _INetSmtpMailCom() - mit E-Mail-ConfigGUI - die Daten werden verschlüsselt gespeichert.

    Den Code habe ich aus einem meiner Scripte extrahiert. Bevor du eine Mail versenden kannst, musst die Einstellungen in der E-Mail-ConfigGUI anpassen!

    Mit den in der Ini gespeicherten Daten funktioniert es bei mir - ich habe lediglich das Passwort geändert und bei den E-Mail-Adresssen deinen Nick eingetragen.

    Ändern musst du also zumindest foglenden Daten:

    • E-Mail-Adressse des Empfängers
    • E-Mail-Adressse des Senders
    • Adresse des SMTP-Servers
    • Passwort für den SMTP-Server (wird auch verwendet um die E-Mail-ConfigGUI öffen zu dürfen, wenn das Script kompiliert ist!)

    Dateien

    SendMail.zip 131,62 kB – 271 Downloads

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™