help with $read a line from a file
#89277
05/07/04 11:15 AM
|
Joined: Feb 2004
Posts: 54
Cyclone
OP
Babel fish
|
OP
Babel fish
Joined: Feb 2004
Posts: 54 |
I'm trying to search a text file for a matching text line and having serious problems. Yes it's embarressing because i thought this was a pretty much straight-forward task. I've read the mIRC helpfile and the commands I am using to try and acheive this from there give me errors. //echo $read(info.txt, s, mirc) Scans the file info.txt for a line beginning with the word mirc and returns the text following the match value. //echo $read(help.txt, w, *help*) Scans the file help.txt for a line matching the wildcard text *help*. The r switch implies a regex match. Both these commands give me this output: * /echo: insufficient parameters Is there any other way to search a file for matching text and output that text or line number please? Help will be greatly appreciated... I am so dumb L  L
|
|
|
Re: help with $read a line from a file
#89278
05/07/04 11:54 AM
|
Joined: Jan 2003
Posts: 3,012
KingTomato
Hoopy frood
|
Hoopy frood
Joined: Jan 2003
Posts: 3,012 |
If the value returned in a number, echo will do that to you. echo treats a numeric value as a color value, and then continues to look for the actual text to output. Example:
/command Output
/echo Hello Hello
/echo 0 Insufficient parameters
/echo -a Hello Hello (Active window)
/echo 0 Hello Hello (black lettering)
-KingTomato
|
|
|
Re: help with $read a line from a file
#89279
05/07/04 01:02 PM
|
Joined: Apr 2004
Posts: 759
Mpdreamz
Hoopy frood
|
Hoopy frood
Joined: Apr 2004
Posts: 759 |
are you sure the paths to.txt files are correct
$maybe
|
|
|
Re: help with $read a line from a file
#89280
05/07/04 01:17 PM
|
Joined: Feb 2004
Posts: 54
Cyclone
OP
Babel fish
|
OP
Babel fish
Joined: Feb 2004
Posts: 54 |
yeah... i checked all paths and filenames etc... I even used readme.txt in the $mircdir to make sure it wasn't working for me. No matter which file i try to scan or which line i try to locate... it gives me an error everytime  Is there any other way of scanning a text file to locate a line containing specified text that anyone knows of please?
|
|
|
Re: help with $read a line from a file
#89281
05/07/04 01:20 PM
|
Joined: Feb 2004
Posts: 54
Cyclone
OP
Babel fish
|
OP
Babel fish
Joined: Feb 2004
Posts: 54 |
forgot to mention:
//echo $read(readme.txt,1) = works fine //echo $read(readme.txt, s, mirc) = gives me an error: * /echo: insufficient parameters //echo %read(readme.txt, w, *irc) = same error
|
|
|
Re: help with $read a line from a file
#89282
05/07/04 02:47 PM
|
Joined: Dec 2002
Posts: 2,962
starbucks_mafia
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,962 |
Use /echo -a instead of just /echo, otherwise mIRC might try to interpret the return value of $read() as various switches instead of as text to echo.
Also remember that with the s switch for plain text search $read() only returns the text coming after the text you searched for. So if a line was mirc and you searched with $read(somefile.txt, s, mirc) then it will return nothing even though it matched the line. To tell whether that's the case or not you must use $readn to see if it contains a non-zero value. I'll also point out that it will only match entire words using plain text search. For instance:
If a text file somefile.txt contained the line hello! world then the following things would occur: $read(somefile.txt, s, hello!) -> returns world. $readn would return the line number it matched. $read(somefile.txt, s, hello) -> returns nothing. $readn would return 0. This is because the first word in the line ends with a !, so mIRC will only match it if your search text contains one too. $read(somefile.txt, s, hello! world) -> returns nothing. $readn would return the line number it matched. The line matched but there was nothing after the text that you searched for.
Spelling mistakes, grammatical errors, and stupid comments are intentional.
|
|
|
Re: help with $read a line from a file
#89283
05/07/04 04:21 PM
|
Joined: Feb 2004
Posts: 54
Cyclone
OP
Babel fish
|
OP
Babel fish
Joined: Feb 2004
Posts: 54 |
Great info starbuck thanks very much.  I've kind of got the hang of using $read switches now... but still have one problem. I'm trying to search in a file for matching text and return a value if $true, or nothing if $false. i.e. If (mirc isin readme.txt) { echo -a $ifmatch } Forgive the incorrect syntax. Is this possible... if so how please?
|
|
|
Re: help with $read a line from a file
#89284
05/07/04 08:21 PM
|
Joined: Apr 2004
Posts: 8
CNO
Nutrimatic drinks dispenser
|
Nutrimatic drinks dispenser
Joined: Apr 2004
Posts: 8 |
hi,
assuming that any value not equal to 0 is $true ( like it is in C and afaik in mirc-script too ) you may try this: it returns 0 ( -> $false ) if nothing was found, or the line number ( not 0 -> $true ) of the keyword's first occurance in the file.
----- ; $1 is the file to search in, $2 the keyword alias isinFile { var %temp = $read($1,w,* $+ $2 $+ *) return $readn }
if ($isinFile(the_file.txt, keyword)) { echo -a $ifmatch } -----
|
|
|
Re: help with $read a line from a file
#89285
12/07/04 06:17 AM
|
Joined: Feb 2004
Posts: 54
Cyclone
OP
Babel fish
|
OP
Babel fish
Joined: Feb 2004
Posts: 54 |
thanks m8... i'll give this bit of code a trial
|
|
|
Re: help with $read a line from a file
#89286
12/07/04 03:22 PM
|
Joined: Feb 2004
Posts: 54
Cyclone
OP
Babel fish
|
OP
Babel fish
Joined: Feb 2004
Posts: 54 |
errrm... $isinfile( file,text ) Does this identifier exist???
|
|
|
Re: help with $read a line from a file
#89287
12/07/04 03:24 PM
|
Joined: Nov 2003
Posts: 2,327
tidy_trax
Hoopy frood
|
Hoopy frood
Joined: Nov 2003
Posts: 2,327 |
alias isinFile { var %temp = $read($1,w,* $+ $2 $+ *) return $readn }
The above is the identifier.
New username: hixxy
|
|
|
Re: help with $read a line from a file
#89288
12/07/04 03:35 PM
|
Joined: Feb 2004
Posts: 54
Cyclone
OP
Babel fish
|
OP
Babel fish
Joined: Feb 2004
Posts: 54 |
DUH!!!! I am so dumb... thanks tidy_trax  If there weren't people like me around you'd be bored right? (Cyclone keeps assuring himself - LOL)
|
|
|
|
|