[Lazarus] lazarus for education

Rainer Hamann rainer at hamann-kiel.de
Wed Mar 12 16:41:15 CET 2008


Mattias Gaertner wrote:
> On Wed, 12 Mar 2008 01:50:20 +0100
> willem <wli222 at casema.nl> wrote:
>
>   
>> Rainer Hamann wrote:
>>     
>>> I developed a teaching / learning edition for pascal based on
>>> Delphi and RemObjects Pascal Script.
>>>
>>> There are two different levels at the moment :
>>>
>>> One is Logo like and tested with children of 9 years and up,
>>> another uses objects based on the main form of the application with
>>> no objects to be declared inside the program. The second one is
>>> tested with pupils of 14 years and up.
>>>
>>> My idea is to downgrade the Lazarus ide by compiler options in
>>> order to make it more simple for beginners and to add some tools
>>> like wizards and so on. May be I need help, but some tools are
>>> ready in the Delphi application.
>>>
>>> I would like to know, if there is interest in such a tool.
>>>
>>> Rainer Hamann
>>>
>>>   
>>>       
>> Well I am interested.
>>     
>
> Me too.
>
>  
>   
>> Adding Wizards looks a good idea to me.
>>     
>
>
> Mattias
>
>   
My idea is to hide many of the menu items and parts of the objects bar 
and to extend the source editor in order to simplify it for children. Is 
it better, if it is done by compiler options or by runtime options?

I would prefer compiler options like :

procedure TMainIDEBase.SetupFileMenu;
var
  ParentMI: TIDEMenuSection;
begin
  with MainIDEBar do begin
    CreateMenuSeparatorSection(mnuFile,itmFileNew,'itmFileNew');
    ParentMI:=itmFileNew;
    {$IFDEF LAZ4EDU}
    
CreateMenuItem(ParentMI,itmFileNewOther,'itmFileNewOther',lisMenuNewOther,'menu_new');

    CreateMenuSeparatorSection(mnuFile,itmFileOpenSave,'itmFileOpenSave');
    ParentMI:=itmFileOpenSave;
    CreateMenuItem(ParentMI, itmFileOpen, 'itmFileOpen', lisMenuOpen, 
'menu_open');
    CreateMenuItem(ParentMI,itmFileRevert,'itmFileRevert',lisMenuRevert, 
'menu_file_revert');
    
CreateMenuItem(ParentMI,itmFileSave,'itmFileSave',lisMenuSave,'menu_save');
    
CreateMenuItem(ParentMI,itmFileSaveAs,'itmFileSaveAs',lisMenuSaveAs,'menu_saveas_16');
    
CreateMenuItem(ParentMI,itmFileClose,'itmFileClose',lisMenuClose,'menu_close',false);
    {$ELSE}
    
CreateMenuItem(ParentMI,itmFileNewUnit,'itmFileNewUnit',lisMenuNewUnit,'menu_new_unit');
    
CreateMenuItem(ParentMI,itmFileNewForm,'itmFileNewForm',lisMenuNewForm,'menu_new_form');
    
CreateMenuItem(ParentMI,itmFileNewOther,'itmFileNewOther',lisMenuNewOther,'menu_new');

    CreateMenuSeparatorSection(mnuFile,itmFileOpenSave,'itmFileOpenSave');
    ParentMI:=itmFileOpenSave;

    CreateMenuItem(ParentMI, itmFileOpen, 'itmFileOpen', lisMenuOpen, 
'menu_open');
    CreateMenuItem(ParentMI,itmFileRevert,'itmFileRevert',lisMenuRevert, 
'menu_file_revert');
    
CreateMenuSubSection(ParentMI,itmFileRecentOpen,'itmFileRecentOpen',lisMenuOpenRecent);
    
CreateMenuItem(ParentMI,itmFileSave,'itmFileSave',lisMenuSave,'menu_save');
    
CreateMenuItem(ParentMI,itmFileSaveAs,'itmFileSaveAs',lisMenuSaveAs,'menu_saveas_16');
    
CreateMenuItem(ParentMI,itmFileSaveAll,'itmFileSaveAll',lisMenuSaveAll,'menu_save_all');
    
CreateMenuItem(ParentMI,itmFileClose,'itmFileClose',lisMenuClose,'menu_close',false);
    
CreateMenuItem(ParentMI,itmFileCloseAll,'itmFileCloseAll',lisMenuCloseAll,'menu_close_all',false);

    
CreateMenuSeparatorSection(mnuFile,itmFileDirectories,'itmFileDirectories');
    ParentMI:=itmFileDirectories;

    
CreateMenuItem(ParentMI,itmFileCleanDirectory,'itmFileCleanDirectory',lisMenuCleanDirectory, 
'menu_clean');

    CreateMenuSeparatorSection(mnuFile,itmFileIDEStart,'itmFileIDEStart');
    ParentMI:=itmFileIDEStart;

    
CreateMenuItem(ParentMI,itmFileRestart,'itmFileRestart',lisMenuRestart, 
'menu_restart_16');
    {$ENDIF}
    CreateMenuItem(ParentMI,itmFileQuit,'itmFileQuit',lisMenuQuit, 
'menu_exit');
  end;
end;

Rainer Hamann



More information about the Lazarus mailing list