mIRC Home    About    Download    Register    News    Help

Print Thread
Page 1 of 2 1 2
#174703 11/04/07 02:23 PM
L
learn3r
learn3r
L
how can i echo the list that is saved txt file

for sample
list.txt

Quote:
text1
text2
text3
text4

#174704 11/04/07 03:01 PM
S
Solo1
Solo1
S
/help /filter
That is probabley the fastest way.

#174705 11/04/07 03:06 PM
S
schaefer31
schaefer31
S
/loadbuf -a list.txt

#174706 11/04/07 03:16 PM
L
learn3r
learn3r
L
works properly using
Code:
/loadbuf -a list.txt 


uhm how can it echo like
Quote:

the list contains the ff:
list1 , list2 , list3 , list4

#174712 11/04/07 04:43 PM
S
schaefer31
schaefer31
S
Code:
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.

#174713 11/04/07 05:12 PM
Joined: Oct 2004
Posts: 8,061
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Oct 2004
Posts: 8,061
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.

S
schaefer31
schaefer31
S
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.

#174716 11/04/07 06:17 PM
Joined: Sep 2005
Posts: 2,630
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Sep 2005
Posts: 2,630
This one shouldn't have a problem with the line too long error.

Code:
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>

#174717 11/04/07 06:19 PM
Joined: Oct 2004
Posts: 8,061
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Oct 2004
Posts: 8,061
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.

hixxy #174719 11/04/07 07:07 PM
Joined: Jan 2003
Posts: 2,125
Q
Hoopy frood
Offline
Hoopy frood
Q
Joined: Jan 2003
Posts: 2,125
* qwerty reminds hixxy of $bvar(&file,%position,900).text

qwerty #174720 11/04/07 07:17 PM
Joined: Sep 2005
Posts: 2,630
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Sep 2005
Posts: 2,630
I didn't know there was one. Thanks smile

Code:
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.
hixxy #174722 11/04/07 07:40 PM
Joined: Jan 2003
Posts: 2,125
Q
Hoopy frood
Offline
Hoopy frood
Q
Joined: Jan 2003
Posts: 2,125
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.
hixxy #174734 12/04/07 12:20 AM
L
learn3r
learn3r
L
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:

Quote:
line1
line2
line3
line4


i echoed it and i want to delete line3

#174735 12/04/07 12:53 AM
Joined: Sep 2005
Posts: 2,630
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Sep 2005
Posts: 2,630
/write -dl<N> <file>

Looking at /help /write would tell you this.

qwerty #174736 12/04/07 01:18 AM
Joined: Jan 2003
Posts: 2,125
Q
Hoopy frood
Offline
Hoopy frood
Q
Joined: Jan 2003
Posts: 2,125
I was better off without the edit :P The correct number would be 900, not sure how I came up with 899.

hixxy #174737 12/04/07 01:26 AM
L
learn3r
learn3r
L
the -l is the line right?
but what if the line aint specified like putting the code into a menu?

#174740 12/04/07 02:13 AM
Joined: Aug 2004
Posts: 7,168
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,168
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)

L
learn3r
learn3r
L
how can i do this on a menu?

#174757 12/04/07 11:27 AM
Joined: Sep 2005
Posts: 2,630
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Sep 2005
Posts: 2,630
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.

hixxy #174760 12/04/07 12:36 PM
L
learn3r
learn3r
L
Quote:
how to delete a certain text on the txt file?

sample:

Quote:

one
two
three
four



i echoed it and i want to delete three

Page 1 of 2 1 2

Link Copied to Clipboard