|
Joined: Oct 2006
Posts: 342
Fjord artisan
|
OP
Fjord artisan
Joined: Oct 2006
Posts: 342 |
how can i echo the list that is saved txt file for sample list.txt
learn learn learn
|
|
|
|
Joined: Mar 2007
Posts: 139
Vogon poet
|
Vogon poet
Joined: Mar 2007
Posts: 139 |
/help /filter That is probabley the fastest way.
|
|
|
|
Joined: Aug 2005
Posts: 525
Fjord artisan
|
Fjord artisan
Joined: Aug 2005
Posts: 525 |
|
|
|
|
Joined: Oct 2006
Posts: 342
Fjord artisan
|
OP
Fjord artisan
Joined: Oct 2006
Posts: 342 |
works properly using uhm how can it echo like the list contains the ff: list1 , list2 , list3 , list4
learn learn learn
|
|
|
|
Joined: Aug 2005
Posts: 525
Fjord artisan
|
Fjord artisan
Joined: Aug 2005
Posts: 525 |
alias -l list.filter {
if ($1) %list.filter = $iif(%list.filter,$v1 $+ $chr(44) $1,$1)
}
alias _list {
set %list.filter
filter -k list.txt list.filter
echo -ag the list contains the ff:
echo -ag %list.filter
unset %list.filter
} /_list Note that it's subject to the line too long error. It also disregards blank lines in the file.
|
|
|
|
Joined: Oct 2004
Posts: 8,330
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,330 |
Alternatively, you can also use /play with an alias to prevent issues with the line being too long. Or, just use a WHILE loop with $read or $fread.
Invision Support #Invision on irc.irchighway.net
|
|
|
|
Joined: Aug 2005
Posts: 525
Fjord artisan
|
Fjord artisan
Joined: Aug 2005
Posts: 525 |
Right, but he said he wanted, at least this is how I understood it, the text from a file which was in this format:
line 1 line 2 line 3
to be echo'd in this format: line 1, line 2, line 3. If he wanted to just echo all of the lines, line by line then loadbuf (as I brought up already) is the easiest way to go if you ask me.
|
|
|
|
Joined: Sep 2005
Posts: 2,881
Hoopy frood
|
Hoopy frood
Joined: Sep 2005
Posts: 2,881 |
This one shouldn't have a problem with the line too long error.
alias viewfile {
if (!$isfile($1-)) {
echo -abcfilrt Info * /viewfile: No such file ' $+ $1-'
return
}
bread $qt($1-) 0 $file($1-) &file
breplace &file 10 44
var %position = 1, %size = $bvar(&file,0)
if ($bvar(&file,%size) == 44) { bcopy -c &file 1 &file 1 $calc(%size - 1) }
while (%position < %size) {
echo -a $remove($bvar(&file,$+(%position,-,$calc(%position + 900))).text,$cr)
inc %position 900
}
}
/viewfile <file>
|
|
|
|
Joined: Oct 2004
Posts: 8,330
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,330 |
I was just giving an alternative method that can be used to combine the lines as requested (multiple lines onto one line with commas). That can be done with the methods I gave. Even if one way may be easier, showing alternate methods helps people not only to learn, but also to possibly do something a little different that may not be possible with the easiest method.
Invision Support #Invision on irc.irchighway.net
|
|
|
|
Joined: Jan 2003
Posts: 2,523
Hoopy frood
|
Hoopy frood
Joined: Jan 2003
Posts: 2,523 |
* qwerty reminds hixxy of $bvar(&file,%position,900).text
/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com
|
|
|
|
Joined: Sep 2005
Posts: 2,881
Hoopy frood
|
Hoopy frood
Joined: Sep 2005
Posts: 2,881 |
I didn't know there was one. Thanks
alias viewfile {
if (!$isfile($1-)) {
echo -abcfilrt Info * /viewfile: No such file ' $+ $1-'
return
}
bread $qt($1-) 0 $file($1-) &file
breplace &file 10 44
var %position = 1, %size = $bvar(&file,0)
if ($bvar(&file,%size) == 44) { bcopy -c &file 1 &file 1 $calc(%size - 1) }
while (%position < %size) {
echo -a $remove($bvar(&file,%position,899).text,$cr)
inc %position 900
}
}
Thanks again q
Last edited by hixxy; 11/04/07 07:43 PM.
|
|
|
|
Joined: Jan 2003
Posts: 2,523
Hoopy frood
|
Hoopy frood
Joined: Jan 2003
Posts: 2,523 |
The 3rd parameter is length, not end position. What I wrote before should work here.
Actually either 899 in $bvar() or inc %position 901
Last edited by qwerty; 11/04/07 07:42 PM.
/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com
|
|
|
|
Joined: Oct 2006
Posts: 342
Fjord artisan
|
OP
Fjord artisan
Joined: Oct 2006
Posts: 342 |
It now works great... thanks one more question. if writing on a text is /write line.txt $1- how to delete a certain text on the txt file? sample: i echoed it and i want to delete line3
learn learn learn
|
|
|
|
Joined: Sep 2005
Posts: 2,881
Hoopy frood
|
Hoopy frood
Joined: Sep 2005
Posts: 2,881 |
/write -dl<N> <file>
Looking at /help /write would tell you this.
|
|
|
|
Joined: Jan 2003
Posts: 2,523
Hoopy frood
|
Hoopy frood
Joined: Jan 2003
Posts: 2,523 |
I was better off without the edit :P The correct number would be 900, not sure how I came up with 899.
/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com
|
|
|
|
Joined: Oct 2006
Posts: 342
Fjord artisan
|
OP
Fjord artisan
Joined: Oct 2006
Posts: 342 |
the -l is the line right? but what if the line aint specified like putting the code into a menu?
learn learn learn
|
|
|
|
Joined: Aug 2004
Posts: 7,252
Hoopy frood
|
Hoopy frood
Joined: Aug 2004
Posts: 7,252 |
You have to get the line number in some manner in order to ensure that you get the correct line, otherwise you'll end up deleting either the wrong line, or the last line.
If you're using $read in your script, then you can use $readn to return the line (storing it in a variable if you can't do the deletion immediately)
|
|
|
|
Joined: Oct 2006
Posts: 342
Fjord artisan
|
OP
Fjord artisan
Joined: Oct 2006
Posts: 342 |
how can i do this on a menu?
learn learn learn
|
|
|
|
Joined: Sep 2005
Posts: 2,881
Hoopy frood
|
Hoopy frood
Joined: Sep 2005
Posts: 2,881 |
It depends what you want to delete. The computer isn't psychic and neither are we, tell us exactly what you're wanting to delete from the file.
|
|
|
|
Joined: Oct 2006
Posts: 342
Fjord artisan
|
OP
Fjord artisan
Joined: Oct 2006
Posts: 342 |
how to delete a certain text on the txt file? sample: i echoed it and i want to delete three
learn learn learn
|
|
|
|
|