[fpc-pascal] Need Advice: Teaching a Child Programming

Martin Frb lazarus at mfriebe.de
Wed Mar 6 20:26:17 CET 2019

On 06/03/2019 20:04, Anthony Walter wrote:
> How does this sound to you guys?
Like a good deal of work.

- Adding a menu, and a form in a new package are trivial.
- Storing your settings
- Make an encrypted connection
- The main bit of work:
SourceEditorInteface allows you to be notified of changes.  You need:
  -- text changes (not just keypress). You may need to add a self 
written plugin to synedit to get senrEditAction (not sure, there may be 
easier ways)
  -- change of caret and selection. Those are in the StatusChange event 
of SynEdit

When a change occurs you need to send it.
Textchanges must be sent with some context, so they can be rejected if 
the line was change on the remote (rejection then needs to be handled 
locally, or merge to be performed)

For selection you can write a SynEditMarkup that shows the selection of 
the other person.
The Markup can also create an additional caret object, to show the other 
persons caret.

On top the markup can keep a list of remote changes and highlight them.

Then you want to add handling if the active editor changes on either 
side, and what that should do on the remote.
Same for new/closed editors.
Maybe scrolling.

Note this is text only.
I don't know how to deal with the form designer.

More information about the fpc-pascal mailing list