Reading/Deleting Last Line Of File
Richard Gaskin
ambassador at fourthworld.com
Fri Feb 12 11:08:12 EST 2010
Alex Tweedly wrote:
> Richard Gaskin wrote:
>> That looks similar to what I posted here on the 9th:
>>
>> open file tFile for update
>> seek relative -1000 in file tFile
>> repeat
>> read from file tFile until cr
>> if it is not empty then
>> put it after tBuffer
>> else
>> delete last line of tBuffer
>> write tBuffer to file tFile
>> end if
>> end repeat
>> close file tFile
>>
>> Does that not do what you need?
>>
> No, it doesn't. If a file is opened for 'update' then any write to the
> file simply overwrites any existing characters at the appropriates
> position(s), and leaves everything following that unchanged. There is no
> EOF implied by a write in update mode.
Good catch. Seems my instinct to use "append" in my first version of
that was closer to the mark.
But FWIW, I tried your version and it seemed to leave the file unchanged
- is this a user error on my end, or does it have a limitation I overlooked?
> on deletelastline pFile
> constant K = 1000
> put the detailed files into t
> filter t with URLEncode(pFile) & ",*"
> put item 2 of t into tFileLength
>
> open file pFile for read
> seek to tFileLength-K in file pFile
> read from file pFile until end
> close file pFile
>
> put the number of chars in the last line of it into tNum
>
> open file pFile for append
> write empty to file pFile at (tFileLength-tNum-3)
> close file pFile
>
> end deletelastline
--
Richard Gaskin
Fourth World
Rev training and consulting: http://www.fourthworld.com
Webzine for Rev developers: http://www.revjournal.com
revJournal blog: http://revjournal.com/blog.irv
More information about the use-livecode
mailing list