steve20020 Posted July 5, 2013 Share Posted July 5, 2013 Hi, I am pretty new to AutoIT and also new to scripting/programming - so please take it easy I am trying to determine if a string is present in a text file. The code is below.. it does not work and I am even more confused now then when I started.. can anyone please help Many thanks in advance, Steve #include <File.au3> $filetosearch = FileOpen("new.txt", 0) While 1 $line = FileReadLine($filetosearch) If @error = -1 Then ExitLoop If StringInStr("$line", "bad") Then MsgBox(0, "Found", $line) Else MsgBox(0, "not found", $line) FileClose($filetosearch) EndIf WEnd FileClose($filetosearch) Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 5, 2013 Moderators Share Posted July 5, 2013 (edited) steve20020,Welcome to the AutoIt forum. You were pretty close: #include <File.au3> $filetosearch = FileOpen("new.txt", 0) While 1 $line = FileReadLine($filetosearch) If @error = -1 Then ExitLoop If StringInStr($line, "bad") Then ; Remove the "" around the variable MsgBox(0, "Found", $line) ExitLoop ; Why look any further? Else MsgBox(0, "not found", $line) EndIf WEnd FileClose($filetosearch)All clear? Please ask if not. M23 Edited July 5, 2013 by Melba23 Tags! Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
steve20020 Posted July 5, 2013 Author Share Posted July 5, 2013 That's great thank you so much for your help Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 5, 2013 Moderators Share Posted July 5, 2013 steve20020,My pleasure as always. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
michaelslamet Posted July 5, 2013 Share Posted July 5, 2013 Another way #include <array.au3> #include <file.au3> global $aArray, $line _FileReadToArray("new.txt", $aArray) $line = _ArraySearch($aArray, "bad") If @error Then MsgBox(0, "Not Found", "Not Found") Else MsgBox(0, "Found", $line) EndIf Link to comment Share on other sites More sharing options...
michaelslamet Posted July 5, 2013 Share Posted July 5, 2013 Another version, but this one doesn't display message if not found: #include <file.au3> global $aArray, $n _FileReadToArray("new.txt", $aArray) For $n = 1 to Ubound($aArray)-1 If StringInStr($aArray[$n], "bad") Then MsgBox(0, "Found", $n) ExitLoop EndIf Next Link to comment Share on other sites More sharing options...
steve20020 Posted July 5, 2013 Author Share Posted July 5, 2013 many thanks michaelslamet for showing me a different approach. I am new so it's really good seeing the various ways of doing things, it is helping my learning I like this and that it returns what line the first instance occurs 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