nealgres Posted February 26, 2007 Share Posted February 26, 2007 Hello all I have been looking for this answer for several hours now so i figured i would put it to the group. I have a sript that is parsing several log files at once, i am copying a simplified version here that gets the problem accross. #include<Array.au3> #include<file.au3> Dim $aOutputFile[1],$bFileList, $bFileLine $bFileList=_FileListToArray(@ScriptDir,"*_*.messages*",1) For $bFileNum = 1 to $bFileList[0] _FileReadToArray($bFileList[$bFileNum],$bFileLine) For $LineNum = 1 to $bFileLine[0] $Warning = StringInStr($bFileLine[$LineNum],"WARNING") If $Warning > 0 Then _ArrayAdd($aOutputFile,$bFileLine[$LineNum]) Next _FileWriteFromArray(@ScriptDir & "\_" & $bFileList[$bFileNum],$aOutputFile) Next Everything seems to work just fine except that it doesnt clear the Output array before the next run, so that at the end of 10 files i have the contents of the complete directory in one file Nice to have but not what i was looking for really. I honestly cant see how to do that in AutoIt i would hate to have to spawn a seperate array for each file I want to process. I am sure that its a simple answere that I just missed completly but the help is appreciated. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted February 26, 2007 Moderators Share Posted February 26, 2007 For $bFileNum = 1 to $bFileList[0] _FileReadToArray($bFileList[$bFileNum],$bFileLine) For $LineNum = 1 to $bFileLine[0] $Warning = StringInStr($bFileLine[$LineNum],"WARNING") If $Warning > 0 Then _ArrayAdd($aOutputFile,$bFileLine[$LineNum]) Next _FileWriteFromArray(@ScriptDir & "\_" & $bFileList[$bFileNum],$aOutputFile) $aOutputFile = '' Dim $aOutputFile[1] Next Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
MrCreatoR Posted February 26, 2007 Share Posted February 26, 2007 (edited) There is another way to “clean” the array: Dim $Array[1] = [0] Edited February 26, 2007 by MsCreatoR Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
nealgres Posted February 26, 2007 Author Share Posted February 26, 2007 There is another way to clean the array: Dim $Array[1] = [0] Thanks every one I knew it had to be something so simple as this. 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