AlmarM Posted August 20, 2010 Share Posted August 20, 2010 (edited) Hiya,I don't know if this will become handy for someone someday but...I thought i'd share these old -and mayby useful- snippets I had made.Don't mind the messiness please. :stupid:_GetObjClasses - Debugs all current installed object classes_GetNetworkCards - Gets all current installed network cards_GetNetworkProfiles - Gets all network profiles_ArrayAverage - Calculates the average of a 1D Array_ArrayTotal - Calculates the total of a 1D Arrayexpandcollapse popup;; Array Example #include <Array.au3> Global $myArray[15] For $i = 0 To 14 $myArray[$i] = Random(1, 100) Next _ArrayDisplay($myArray) $r = Random(1, 10, 1) MsgBox(0, "", "Total R: " & _ArrayTotal($myArray, 0, 1) & @CRLF & _ "Total UR: " & _ArrayTotal($myArray) & @CRLF & _ "Average R: " & _ArrayAverage($myArray, 1) & @CRLF & _ "Average UR: " & _ArrayAverage($myArray)) ; ============================================================ ;; Other Examples _GetObjClasses() MsgBox(0, "", "Watch the SciTE console.") $NetworkCards = _GetNetworkCards() $NetworkProfiles = _GetNetworkProfiles() _ArrayDisplay($NetworkCards, "Network Cards") _ArrayDisplay($NetworkProfiles, "Network Profiles") ; #FUNCTION # ======================================================= ; Name............; _GetObjClasses ; Description.....; Debugs all current installed Object classes ; Syntax..........; - ; Parameters......; - ; Return Values...; 1 | Succes ; Author..........; AlmarM (Almar Mulder) ; Modified........; - ; Remarks.........; - ; Related.........; - ; Link............; - ; Example.........; Yes ; =================================================================== Func _GetObjClasses() Local $sReg = "HKEY_LOCAL_MACHINE\SOFTWARE\Classes" For $i = 1 To 9999 $sReadKey = RegEnumKey($sReg, $i) If @error = 0 Then If StringLeft($sReadKey, 1) <> "." And StringLeft($sReadKey, 1) <> "*" And StringInStr($sReadKey, ".") Then ConsoleWrite("[" & $i & "] " & $sReadKey & @CRLF) EndIf EndIf Next Return 1 EndFunc ;==>_GetObjClasses ; #FUNCTION # ======================================================= ; Name............; _GetNetworkCards ; Description.....; Get all current installed network cards ; Syntax..........; - ; Parameters......; - ; Return Values...; Returns a 2D array, first dimenstion is named to the key, second dimenstion is givin the networkcard name ; Author..........; AlmarM (Almar Mulder) ; Modified........; - ; Remarks.........; - ; Related.........; _GetNetworkProfiles ; Link............; - ; Example.........; Yes ; =================================================================== Func _GetNetworkCards() Local $sReg = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards" Local $aReturn[99][99], $iNum = 0 For $i = 1 To 99 $sReadKey = RegEnumKey($sReg, $i) If @error = 0 Then $aReturn[$i - 1][0] = $sReadKey $aReturn[$i - 1][1] = RegRead($sReg & "\" & $sReadKey, "Description") $iNum += 1 EndIf Next ReDim $aReturn[$iNum][2] Return $aReturn EndFunc ;==>_GetNetworkCards ; #FUNCTION # ======================================================= ; Name............; _GetNetworkProfiles ; Description.....; Gets all network profiles ; Syntax..........; - ; Parameters......; - ; Return Values...; Returns a 2D array, first dimenstion is named to the key, second dimenstion is givin the networkprofile name ; Author..........; AlmarM (Almar Mulder) ; Modified........; - ; Remarks.........; - ; Related.........; _GetNetworkCards ; Link............; - ; Example.........; Yes ; =================================================================== Func _GetNetworkProfiles() Local $sReg = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles" Local $aReturn[99][99], $iNum = 0 For $i = 1 To 99 $sReadKey = RegEnumKey($sReg, $i) If @error = 0 Then $aReturn[$i - 1][0] = $sReadKey $aReturn[$i - 1][1] = RegRead($sReg & "\" & $sReadKey, "ProfileName") $iNum += 1 EndIf Next ReDim $aReturn[$iNum][2] Return $aReturn EndFunc ;==>_GetNetworkProfiles ; #FUNCTION # ======================================================= ; Name............; _ArrayAverage ; Description.....; Calculates the average in a 1D array ; Syntax..........; _ArrayAverage(ByRef $Array, $iRound = 0) ; Parameters......; | $Array - the array it should calculate the average of ; | $iRound - change this option to 1 if you want to round the calculated average ; Return Values...; Returns the calculated average, depending on its rounding option ; Author..........; AlmarM (Almar Mulder) ; Modified........; - ; Remarks.........; - ; Related.........; _ArrayTotal ; Link............; - ; Example.........; Yes ; =================================================================== Func _ArrayAverage(ByRef $Array, $iRound = 0) If Not IsArray($Array) Then Return SetError(1, 0, 0) Local $aTotal = _ArrayTotal($Array, 1, 1) If ($iRound == 0) Then Return ($aTotal[1] / $aTotal[0]) If ($iRound == 1) Then Return Round(($aTotal[1] / $aTotal[0]), 0) EndFunc ;==>_ArrayAverage ; #FUNCTION # ======================================================= ; Name............; _ArrayTotal ; Description.....; Calculates the total of a 1D array ; Syntax..........; _ArrayTotal(ByRef $Array, $iOption = 0, $iRound = 0) ; Parameters......; | $Array - the array it should calculate the average of ; | $iOption - change this to 1 if you wish to return the length of the array aswell ; | $iRound - change this option to 1 if you want to round the calculated total ; Return Values...; | Returns the calculated total depending on its rounding value ; | [0] - if the $iOption parameter has been set to 1, this will be the calculated total ; | [1] - same as above, this will be the array length ; Author..........; AlmarM (Almar Mulder) ; Modified........; - ; Remarks.........; - ; Related.........; _ArrayAverage ; Link............; - ; Example.........; Yes ; =================================================================== Func _ArrayTotal(ByRef $Array, $iOption = 0, $iRound = 0) If Not IsArray($Array) Then Return SetError(1, 0, 0) Local $iTmp = 0 For $i = 0 To UBound($Array) - 1 $iTmp2 = $iTmp $iTmp = $Array[$i] + $iTmp2 Next Switch ($iOption) Case 0 If ($iRound == 0) Then Return $iTmp If ($iRound == 1) Then Return Round($iTmp, 0) Case 1 Local $aReturn[2] $aReturn[0] = UBound($Array) If ($iRound == 0) Then $aReturn[1] = $iTmp If ($iRound == 1) Then $aReturn[1] = Round($iTmp, 0) Return $aReturn EndSwitch EndFunc ;==>_ArrayTotal Edited August 20, 2010 by AlmarM Minesweeper A minesweeper game created in autoit, source available. _Mouse_UDF An UDF for registering functions to mouse events, made in pure autoit. 2D Hitbox Editor A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now