Jump to content

Finding a string in a text file


Recommended Posts

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

  • Moderators

steve20020,

Welcome to the AutoIt forum. :)

You were pretty close: :thumbsup:

#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 by Melba23
Tags!

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

steve20020,

My pleasure as always. :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

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

:bike:

Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...