[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [StrongED] Taskwindow/BASIC delete



In message <3ba9beb755.fjgraute@xxxxxxxxx>
          Fred Graute <fjgraute@xxxxxxxxx> wrote:

> In message <40fa06b755.Iyonix@-.->
>           Ron <gettingchoppy@xxxxxxxxx> wrote:
>
> > Hi, I'm currently using 4.69f9 in RO 5.22(Iyonix)
> > Using BASIC PRINT you cannot delete the first column.
>
> That's how it was in pre 4.67 versions but I changed it because it could
> cause the prompt to be deleted under some circumstances (IIRC - this was
> over a decade ago). The old code is still in there (commented out) so it
> could be changed back easily.
>
> > A related problem in this area is wether a (8) or (127) /from/
> > column one should take you to the end of the previous line.
> > Possibly should if it is a wrapped string (no nl) at least.
>
> StrongED uses start and end of textline so I guess it does wrap when in
> column 1 (and it's not start of text line).
>
> > I dont really know the working of SE at that level
>
> The source is available. :-)
>
Yes, could be helpful in outlining a problem, you seem to know this one.

> TaskWindow handling is in the UserMessg file and control codes are dealt
> with in the routine TaskCtrl. It shouldn't be too hard to get a basic
> understanding of what the code does.
>
> > (deletes)
> > Usually VDU 8 is a move left without overstrike/delete, [..]
>
> Yes, and that's how StrongED handles it unlike Edit which treats Delete
> and Backspace the same (as the source showed).
>

I checked CHR$(8) the next day and it did behave correctly again.
(sorry for the latter of the results) It must be possible to corrupt
things at some point. I'll try and find why sometime.

>   PRINT "ABC" + CHR$(8) + CHR$(8) + "x"
>   PRINT "ABC" + CHR$(127) + CHR$(127) + "x"
>
> These should give AxC and Ax respectively. StrongED (& Zap) do it right
> but Edit shows Ax for both.
>
> Cheers,
> Fred.

Is there any preference to using VDU vs PRINT at all? I haven't tried
the SYS cmd to use VDU to print a whole or part string, I would assume
PRINT would be more universal. Zap uses a VDU text area I think and will
accept one or two more VDU movement commands, like 11 and 30. I think
moving left and right is sufficient otherwise !Graphtask style app
probably should be used. From what I can see with !Edit the only
movement possible is by adding or deleting a character at the end. The
LineEditor module works but !Edit doesn't delete or overstrike where it
should, so you dont get to see the result until the next return/redraw.

The problem with not being able to delete to the start is that a ^K type
action to clear a line results in one character being left and the new
printout is shifted around one position.

The work around at the moment is to print a number of spaces and use
CHR$(8)'s to move back. This can result in causing a linefeed sometimes,
and potentially a line of spaces could be a problem at some point.
IIRC a number of VDU 127 will work better (even in !Edit).
There is of course other complications using ^K wether you are at the
start or middle of a line. Some can be resolved by distinguishing
between keyboard entry vs dumping text.

If all the apps adopted a ^K or if the one in the LineEditor was
accessible from BASIC/C it might not be a problem.

With regard to the 'deleting of the prompt sometimes' I imagine that
would still not fix the case of someone using an alias prompt. (As
outlined in the User Guide)- Or maybe the alias replacement would work
better, I dont know.

Thanks, Ron M.









--=20
To unsubscribe send a mail to StrongED+unsubscribe@xxxxxxxxxxxxxx
List archives at http://www.Torrens.org.uk/RO/StrongED/index.html