Search the Community
Showing results for tags 'Fixed'.
Found 2 results
I had problem differentiating drives of system and External drives as they're both of same type - "FIXED" when using DriveGetDrive and DriveGetType, so managed to make a small script to detect External ones. Im a newb, so you may will find silly, unnecessary code which could have been done better with smart work instead of hard work, if you know what i mean #include <Array.au3> Local $drivelist = DriveGetDrive("FIXED"), $addspace = 0, $getspace, $systemdrives, $externaldrives ;~ _ArrayDisplay($drivelist) findexthdd() Func findexthdd() RunWait(@ComSpec & " /c " & 'wmic diskdrive get PNPDeviceID, size /format:csv | find /v "USBSTOR" > wmic.txt', @ScriptDir, @SW_HIDE) $file = FileOpen("wmic.txt") $readfile = FileRead($file) $readfile = StringSplit($readfile, ",") ;~ _ArrayDisplay($readfile) $last = $readfile $totalsize = $readfile[$last] $totalsize = $totalsize / 1024 / 1024 / 1024 ;MB Do Local $c = 1 $totalsize = StringTrimRight($totalsize, $c) $c = $c + 1 $return = StringInStr($totalsize, ".") Until $return = 0 $return = 1 For $w = 1 To UBound($drivelist) - 1 $getspace = DriveSpaceTotal($drivelist[$w]) / 1024 Do Local $z = 1 $getspace = StringTrimRight($getspace, $z) $z = $z + 1 $return = StringInStr($getspace, ".") Until $return = 0 $addspace += $getspace If $addspace <= $totalsize Then ;463 vs 465 $systemdrives &= $drivelist[$w] & "," Else ;~ MsgBox(0, "", $drivelist[$w] & " is the f****** external hard drive!") $externaldrives &= $drivelist[$w] & "," EndIf Next $systemdrives = StringTrimRight($systemdrives, 1) $systemdrives = StringSplit($systemdrives, ",") _ArrayDisplay($systemdrives, "SYSTEM DRIVES LIST") $externaldrives = StringTrimRight($externaldrives, 1) $externaldrives = StringSplit($externaldrives, ",") _ArrayDisplay($externaldrives, "EXTERNAL DRIVES LIST") EndFunc ;==>findexthdd
Hello everybody! Here i am with a new, small but usefull UDF. This UDF is for managing 'special' Arrays: When adding elements, then deleting elements in the middle, then the last elements's ID are not changed, i mean they are not shifted You will ask: Why!? For example: You are managing a TreeView in your program, and you want to associate some data (other than simple numbers, like file paths ...) with the TreeViewItem. I don't know any function to do that, but all you can do, is associate a simple number with a TreeViewItem (_GuiCtrlTreeView_SetItemParam). So, you store the data in a simple array, and the id of the data in the array is associated with the TreeViewItem But there is a problem: when you delete an item, and the array element associated with it, other elements in the array are shifted, and their ID in the array is changed! So, the IDs associated with the TreeViewItem becomes invalid! But, when using this UDF, you will not have this problem! Here is the functions list (with calltips) _FixArray_Create( [ iUBound ] ) Create a Fixed id's Array (required: #include "FixArray.au3") _FixArray_Destroy( aArray ) Destroy a Fixed id's Array (required: #include "FixArray.au3") _FixArray_Add( aArray , aValues ) Add a value, or values to a Fixed ID's Array (required: #include "FixArray.au3") _FixArray_Set( aArray , iId , vNewData , [ iSubItem = 0 ] ) Modify an element's value (required: #include "FixArray.au3") _FixArray_Get( aArray, iId ) Get the value(s) contained in the Fixed id's Array element Id (required: #include "FixArray.au3") _FixArray_Del( aArray, iId ) Delete an element of the Fixed id's Array (required: #include "FixArray.au3") _FixArray_Empty( aArray ) Delete all items in a Fixed id's Array (required: #include "FixArray.au3") _FixArray_UBound( aArray , [ iOnlyValides ] ) Return the number of elements in the Fixed id's Array (required: #include "FixArray.au3") _FixArray_IsValid( aArray , iId ) Check an element's validity (have it been deleted) (required: #include "FixArray.au3") Any comments and suggestions are welcome!!! PS: this is the only example i have, because it's what i did in my Scite Project Manager (still in developpement) UDF_FixArray.zip Important: the guy who downloaded the first archive should redownload, cause i made a mistake and uploaded an outdated version.