guinness Posted May 9, 2013 Share Posted May 9, 2013 Also I can't understand why you want to delete items, probably only for displaying the array. Am I right? UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Solution kylomas Posted May 9, 2013 Solution Share Posted May 9, 2013 (edited) This will write a file if the first column (USERNAME) is empty. #include <Constants.au3> #include <Array.au3> #include <File.au3> Local $aArray[51][2], $sid, $sUser, $sVenv, $cClient For $i = 1 To 50 $sID = RegEnumKey("HKEY_USERS\", $i) $len = StringLen($sID) If $len > 9 and $len < 51 then $sVenv = RegEnumKey("HKEY_USERS\" & $sID & "\" & "Volatile Environment\", 1) $aarray[$i][0] = RegRead("HKEY_USERS\" & $sID & "\" & "Volatile Environment", "USERNAME") $aArray[$i][1] = RegRead("HKEY_USERS\" & $sID & "\" & "Volatile Environment\" & $sVenv, "CLIENTNAME") EndIf Next ; will write file if username (first column in each row) is not blank local $flname = @scriptdir & '\User_List_' & @YEAR & '_' & @MON & '_' & @MDAY & '_' & @HOUR & '_' & @MIN & '_' & @SEC & '.txt' local $hfl = fileopen($flname,2) if $hfl = -1 then msgbox($mb_ok,'*** File open Error ***','File=' & $flname) exit endif for $1 = 0 to ubound($aArray) - 1 if $aArray[$1][0] = '' then Else filewrite($hfl,$aArray[$1][0] & ',' & $aArray[$1][1] & @crlf) EndIf next fileclose($hfl) shellexecute($flname) The file name has a DT stamp for ease of identification. You can change the file open to "append" if you want to add to an existing file. If you want to test for all/any column veing empty just change the "if" statement in the for loop. kylomas edit: #$%^%^&^%#$ editor... Edited May 9, 2013 by kylomas Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
allSystemsGo Posted May 13, 2013 Author Share Posted May 13, 2013 Yeah, just deleting elements for display/filewrite purposes. I want this to create a tidy little document that I can print out and place in a binder. I will try the code and report back what I find. Link to comment Share on other sites More sharing options...
allSystemsGo Posted May 13, 2013 Author Share Posted May 13, 2013 Code is working! Added a few modifiers here and there. Now just working on a way to get things to line up correctly! Depending on how long the user name is, the client name doesn't always line up underneath the "Client Name" text. Other than that, I think we are good. Link to comment Share on other sites More sharing options...
kylomas Posted May 13, 2013 Share Posted May 13, 2013 AllSystemsGo, Stringformat is great for stuff like that as... expandcollapse popup#include <Constants.au3> #include <Array.au3> #include <File.au3> Local $aArray[51][2], $sid, $sUser, $sVenv, $cClient For $i = 1 To 50 $sID = RegEnumKey("HKEY_USERS\", $i) $len = StringLen($sID) If $len > 9 and $len < 51 then $sVenv = RegEnumKey("HKEY_USERS\" & $sID & "\" & "Volatile Environment\", 1) $aarray[$i][0] = RegRead("HKEY_USERS\" & $sID & "\" & "Volatile Environment", "USERNAME") $aArray[$i][1] = RegRead("HKEY_USERS\" & $sID & "\" & "Volatile Environment\" & $sVenv, "CLIENTNAME") EndIf Next ; will write file if username (first column in each row) is not blank local $flname = @scriptdir & '\User_List_' & @YEAR & '_' & @MON & '_' & @MDAY & '_' & @HOUR & '_' & @MIN & '_' & @SEC & '.txt' local $hfl = fileopen($flname,2) if $hfl = -1 then msgbox($mb_ok,'*** File open Error ***','File=' & $flname) exit endif filewrite($hfl,stringformat('%-20s %-20s','Username','ClientName') & @crlf) ; <------- added for $1 = 0 to ubound($aArray) - 1 if $aArray[$1][0] = '' then Else filewrite($hfl,stringformat('%-20s %-20s',$aArray[$1][0],$aArray[$1][1]) & @crlf) ; <------ changed EndIf next fileclose($hfl) shellexecute($flname) kylomas Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill 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