Word_processor

by Jerzy Griffiths: L6 Age ~17

Introduction

Jerzy's word processor is inspired by Scrivener. It is intended for authors, but with its effective use of trees for organising documents and tabs and for selecting and viewing them instantly, will be put to more general use by some users (as shown in our demonstration below).

The program enables you to;
  • write novels, play scripts, coursework and general documents;
  • make general notes and/or notes connected with a project;
  • format your documents with selectable font faces, styles, and colours;
  • cut, copy and paste selections of your work;
  • undo and redo your changes;
  • collect resources;
  • view your collected images and listen to your mp3 files;
  • view a word count and set deadlines.

The application makes use of its own file type (.jrg) for each project file so that you can double click on a .jrg filename to open that project in the word processor.

This screenshot shows the main menu that remains while the application is active and the form for making your choice of new project.

Main and New Project Menus

Main and New Project Menus

The next screenshot shows the processor being used to plan a series of assemblies to promote a programming club. The tabs help you to work with several related files.

Word processor demonstration

Word processor demonstration

The final screenshot shows one of the image resources in our demonstration. Again, the use of tabs makes the selection easy.

Viewing image resources

Viewing image resources

Use of Inbuilt Components and Routines

This application provides examples of the appropriate use of large number of components and inbuilt procedures and functions as follows.

  • Components (28 types) added to forms: TButton, TCloseDialog, TColorBox, TComboBox, TEdit, TImageList, TLabel, TListBox, TMediaPlayer, TMemo, TMenu, TMenuItem, TMonthCalendar, TOpenDialog, TOpenPictureDialog, TPageControl, TPanel, TPopupMenu, TPrintDialog, TRadioButton, TRichEdit, TSplitter, TStaticText, TStatusBar, TTabSheet, TToolBar, TToolButton, TTreeView
  • Other inbuilt types: TixmlDocument, TIXMLNode, TInifile, TBrowseInfo, TRegistry, TStrings, TTreeNode, TXMLDocument
  • File routines: Assign, CloseFile, CreateDir, DeleteFile, DirectoryExists, ExtractFilename, ExtractFilePath, FindOpen, FindNext, FindClose, ForceDirectories, IncludeTrailingBackslash, LoadFromFile, ReadInteger (TIniFile), SaveToFile, SHBrowseForFolder, SHChangeNotify?file?, SHGetPathFromIDList, ShellExecute (Windows), WriteInteger (TIniFile)
  • Routines for string manipulation: AnsiContainsStr, FillChar, Format, IntToStr, Length, LowerCase, LeftStr, StringReplace, Trim
  • Other routines: AddChild, CopyToClipboard (TRichEdit), Create, CutToClipboard (TRichEdit), Destroy, FormResize, Free, InputBox, InputQuery, MessageDlg, OpenKey (TRegistry), ShowMessage, Val

Follow the links below to see the code of the Pascal files and help file of this Delphi XE4 application. Word_processor.zip (1.89 MB) contains these files, the form files, the icons, the help file, the project file, and the executable for download. To try the application, unzip the downloaded file and put Word_processor.exe and Helpfile.html (which requires internet access to display its images) in a convenient folder. The application will create "Writing Program Folder" within the program folder. We had to compile the project without debugging.

Jerzy might make the code more easily maintainable in future with more use of versatile procedures, but he has agreed to the publishing of the software as it stands.

Remarks

Could you write such a professional-looking application?

 

Programming - a skill for life!

Student programs to inspire you!