Hello Eric:
That did it!! Thanks so much. I have to say that
I haven't looked at the list too much, so let me ask
you this:
I've been programming in C/C++ for years, and have
built numerous libraries of reusable code and useful
classes.
Does rebol have a parallel strategy?
Any suggestions?
Thanks, Eric
:>) Tim
At 11:25 AM 2/9/00 +0900, you wrote:
>
>Hi Tim,
>
>REMOVE removes by default the first element of a series. So when you say
>
> remove first fp
>
>the first element of FP is a string, and REMOVE will remove the first
>element of that string. You want to zap the whole string, I take it,
>so you should do:
>
> remove fp
>
>Here's a function based on your code to do what you want. I changed
>remove-flag to a true/false flag, which is easier to test for. Also,
>when you go through a series deleting some items and skipping others,
>FORALL doesn't give you enough control. You have to use
>
> while [ not tail? series-value ] [ ... ]
>
>and use either NEXT or REMOVE every time you go through the loop.
>
>remove-text: func [fp [file!]][
> fp: open/lines fp
> remove-flag: false
> lines-done: 0
> while [ not tail? fp ] [
> if find first fp "begin insert here" [
> print "found"
> remove-flag: true
> ]
> either remove-flag [
> either find first fp "end insert here" [
> remove-flag: false
> print "done"
> fp: next fp
> ][
> either zero? lines-done [
> print "setting lines-done"
> lines-done: 1
> fp: next fp
> ][
> print ["Removing " first fp]
> remove fp
> ]
> ]
> ][
> fp: next fp
> ]
> ]
> update fp
> close fp
>]
>
>See you,
>Eric
>
>