Main About Download Schemes Documentation Resources

Revision History (Older Versions)

Version 2.10 (November 22, 2017)

  • The Function Manager was improved. The new version allows entire functions to be copied. cut, and pasted.
  • Color Scheme Editor can now be opened with Control-E
  • Fixed a bug in the Color Scheme Editor. The effects the "dropper" tool. If a transparent area of a shape is clicked, the color would be incorrect. 
  • Fixed some minor tab-order issues.

Version 2.9.2 (November 9, 2017)

  • The Save-As feature, in both the Main Window and the Color Scheme Editor, works far better now. It will show the current name as a default.
  • Updated the Retro Computer color scheme.
  • Restored textboxes, that are used for expressions, to left-to-right for all cultures.

Version 2.9.1 (November 4, 2017)

  • Fixed a bug that effected in Right-To-Left languages.

Version 2.9 (November 3, 2017)

  • Added support for Korean - special thanks to Inkee Jeong.
  • New error message. When a function is used in an expression, it must have a return value. The new error message properly explains, to the user, what happened. Beforehand, the error was being handled by Type Mismatch. This wasn't particularly helpful.
  • Output Shapes were improved. Output can now include or exclude the newline character. This will give better control over output - and allow the "ASCII art" commonly used in beginning programming.
  • Color schemes were improved. The colors of the Comment Shape can now be customized. Beforehand, it used the same colors as the page.
  • A few built-in color schemes were modified.
  • Bug fix: When an error occurs, the system will show the shape that cause the error. Unfortunately, the system failed to do this if the error occurred in a different function (than the one being displayed)
  • Updated the About Window. The new version of the About Window was designed to maximum screen real estate. The old version was becoming far too large.
  • Minor updates to the Error Dialog and Message Dialog windows.
  • Minor GUI tweaks.

Version 2.8 (October 7, 2017)

  • Added support for Dutch - special thanks to Ralf Djojomoenawi & Sander Dol.
  • If a function is incomplete (missing its return variable), it will now display in gray.
  • The comment shape was updated. The left-side connecting line will always use the color of the rest of the lines. The idea is to prevent it from "vanishing" if the current scheme's Selection border color is the same as the background color. In addition, the preview image no longer displays the left-side connecting line.
  • Fixed a bug that occurred when a function, that doesn't return a value, is used in an expression. While the error message produced now isn't the best, it is far better than before.

Version 2.7.1 (September 16, 2017)

  • Fixed a bug in Python generated code. Empty blocks were not including 'pass' statements. Special thanks to Clive Long for reporting the bug.
  • The internal logic used to draw shapes was updated.

Version 2.7 (September 6, 2017)

  • Added support for Indonesian - special thanks to Abdul Kadir
  • The Polish Translation was updated - special thanks to Robert Gajewski.
  • Updated the logic used to show the Add Shape and Clipboard pop-up windows. Hopefully, this change will work better for those using WINE to run Flowgorithm on the Macintosh.
  • Fixed a bug where lines wouldn't "line up" on Comment Shapes.
  • The Color Scheme Editor now has a "copy" dropper that will copy all the attributes (text, fill, and border) from another clicked shape.
  • The colors used by Comment Shapes was redone. Now, both the text and border will use the page's text (label) color.

Version 2.6.1 (August 10, 2017)

  • The Console Window now responds to pressing F5, F6, F7, and F8. These are used to Run, Step, Pause, and Stop respectively.
  • The Italian Translation was updated - special thanks to Roberto Atzori
  • In the Color Scheme Editor, the image scrollbars work far better than before.
  • The graphic image, used the various shape edit windows, is better horizontally centered between the window's edge and the text.

Version 2.6 (August 7, 2017)

  • Added support for Farsi (Persian) - thanks to Vahid Baghi
  • The Declare Shapes can now support multiple variables. The user can list different variable names separated by commas.
  • File changes:
    • To accommodate older versions of Flowgorithm, the application can now save programs in 1.0 and 2.0 format. The current format is 2.6. The current version can still open any previous file version.
    • One of the redundant legacy fields, "variables", in the Declare tag, was removed. This was designed for forward compatibility with older versions of Flowgorithm (pre 1.7). Since Flowgorithm can now save to older formats, it is unnecessary.
  • The word-wrapping, used on shapes, was improved. Beforehand, the text could, sometimes, fail to be vertically centered. The new logic both resolves this problem and wraps based on syntactic elements (such as operators).
  • Printing was improved:
    • The window now opens the Print Common Dialog window. This allows the user to find printers, set advance features, and much more.
    • An icon for portrait & landscape were added.
    • Printer settings are now saved to the registry. This includes the printer's name, landscape, and margins.
  • Color Scheme Editor:
    • Added a Save-As button.
    • When a new color scheme is created, the hover color of the 'line' is now set to orange. Before, it was white.
  • The system can catch, and report, Overflow Errors far better than it did before.
  • The Console Window now has a limit on the number of items in the buffer. This prevents the system from running out of resources if (as an example) a loop prints from 1 to a million. No errors are caused. Early items are simply removed.
  • The Turkish translation was updated.
  • The Add Shape pop-up menu and Clipboard pop-up menu work better than before. They should appear quicker and properly return focus to the main window when closed.
  • When the flowchart background is double-clicked, the Program Attributes window will open. Before, the user would left double-click. It has been changed to right double-click to avoid it being opened by accident.
  • The message window was updated. In particular, the padding between graphical elements was increased.
  • Bug fixes:
    • The thumbwheel on the mouse was moving the scrollbar, but not updating the window.
    • On the Gaddis Chart Style, the assignment caption had extra spaces.
    • The Console Window no longer aggressively sets its Z-Order. Before, anytime the window received output, it would force itself on top of all the other windows. This made it difficult to stop the program from the Main Window.

Version 2.5.4 (June 16, 2017)

  • Fixed a bug in the Variable Watch Window. It was not translating the label "Main" into the current language.
  • Double-clicking on the main window's background will now open the Program Properties window. This was an old feature that was removed before the shape selection object was updated. However, it wasn't re-enabled until now.

Version 2.5.3 (June 15, 2017)

  • Updated an even better translation for Italian - Thanks to Roberto Atzori
  • Improved the Color Scheme Editor. The internal logic, used to determine if a color scheme was changed, was improved.
  • Fixed a bug in the Color Scheme Editor. The Open Image dialog was not being translated.
  • The "If' Shape appearance was improved. Padding was added around the text - so the line and text should not overlap.
  • Some miscellaneous changes to windows - minor and probably not noticeable.

Version 2.5.2 (June 14, 2017)

  • Updated the translation for Italian (fixing my Google Translate text) - Thanks to Roberto Atzori
  • Fixed a bug that prevented the key combinations of Control+ and Control- from zooming the main window.

Version 2.5.1 (June 12, 2017)

  • Updated the translation for Traditional Chinese - Thanks to 黃昕暐 (Shin-Wei Hwang)
  • Updated the Color Scheme Editor. Now the editor, opens the current scheme. It also applies any changes to the main window.
  • The icon used for Traditional Chinese (the Taiwanese flag), was updated with a better version.

Version 2.5 (June 8, 2017)

  • Added support for Traditional Chinese - Thanks to 黃昕暐 (Shin-Wei Hwang)
  • Customized Color Schemes were added.
    • Color schemes can be created and edited with the use of a new Color Scheme Editor.
    • The files are saved using the .fclr extension.
    • To make it easy to load schemes, "open" buttons were added to the Print, Export Bitmap, Export Scalable Graphics, and Change Chart Style windows.
  • The Variable Watch Window now graphically displays the name of the current function.
  • Chart preview images (used in the Print, Export Bitmap, Export Scalable Graphics, and Chart style) were improved. They are larger, contain an additional shape, and show text on the shapes.
  • Auto-scrolling, used when the window automatically scrolls when selecting shapes, works far better now.
  • Window activation works better now. Beforehand, if the user chose to show a window, but it was minimalized, it stayed minimalized. Now, the window will normalize.
  • Source Code Viewer:
    • PHP was added. It contains both the "hanging" and "aligned" brace formatting styles.
    • Apple Swift 3 was added. Swift 2 was retained.
    • Fixed in a bug in Python generated code. The code was using 'true' and 'false' rather than 'True' and 'False'. Thanks to Jon Rios for reporting this.
  • The "Traffic" color scheme was modified to have a blue background. The original color scheme can still be downloaded on the Color Schemes page.

Version 2.4.3 (March 18, 2017)

  • Fixed a bug in C# generated code. The generated source code uses 'boolean' rather than 'Boolean'. Special thanks to Jeffrey Burton.

Version 2.4.2 (March 18, 2017)

  • Fixed a bug in Python generated code. The bug affected For Loops. Special thanks to Dave Braunschweig.

Version 2.4.1 (March 17, 2017)

  • Fixed a minor bug that caused the Function Dropdown to flicker when the language was set to Thai.

Version 2.4 (March 17, 2017)

  • The modulo operator (mod, %) is now restricted to positive integers. Different programming languages treat negative integers differently - some inheriting the negative sign from the dividend and others the divisor. This can cause issues with code generation.
  • The Console Window and the ToReal() intrinsic function will now accept commas as the decimal-point. Beforehand, the system would only accept the period for (for ToReal) and either a comma or period in the Console Window. To make the output consistent, the system will always use the international notation - the period.
  • The main toolbar was updated. The icon for Clear Breakpoint was removed and replaced with an icon for Layout Windows.
  • When a shape is edited, the system now clears the selection. This will allow the user to see the shape change from gray (incomplete) to color.
  • Source Code Viewer:
    • Improved Java generated code. In particular, the Scanner library is only included if needed.
    • Fixed a major bug that caused the application to crash if a new Input Shape added.
    • Fixed For Loops in Python. For loops use the range() to create a series of values. However, this does not include the ending value. Special thanks to Paul Gardner.
    • Fixed the generated input functions for VBA. The name "input" conflicts with a reserved word. Special thanks to Roberto Atzori.
    • Cleaned up the IBO Pseudocode.
  • Fixed a minor display bug that occurred when a new function was added. The screen was not updating the alignment - so the new function was being left-aligned rather than centered.
  • Fixed some translation errors (that I made). Special thanks to Roberto Atzori.
  • Fixed a formatting bug in the Console Window. When the information was displayed in simple text, it was not being aligned correctly.

Version 2.3.1 (March 9, 2017)

  • Fixed a minor bug with the colors displayed in the Console Window.

Version 2.3 (March 8, 2017)

  • Added support for Arabic - Thanks to Amr Ibrahim Khudair
  • Added support for Slovenian - Thanks to Gregor Anželj
  • The application can now support right-to-left languages. This required extensive testing and some major internal changes. Special thanks to Amr Ibrahim Khudair for all his help.
  •  Added IBO Pseudocode to the Source Code Viewer. 
  • Flowcharts are now centered in the window. Beforehand, the flowcharts would always start left-aligned.
  • Resizing the main window works far better now. This was an oversight on my part.
  • The scaling of the flowchart works better now.
  • Fixed a bug with the ToInteger() and ToReal() intrinsic functions. They were not allowing the dash "-" used to denote negative numbers. Thanks to Roberto Atzori for reporting this.
  • The icon on the "Enter" button in the Console Window was changed.

Version 2.2 (October 13, 2016)

  • Added support for Turkish - Thanks to Cafer Usta
  • Added support for Mongolian - Thanks to Tuvshinbayar Amarsaikhan
  • The Italian translation was improved. As new features were added to Flowgorithm, I manually translated new fields. However, some were not accurate. Thanks to Roberto Atzori for his help.
  • The Export to Vector tool was improved. In particular, Scalable Vector Graphics files will now work better on many websites and applications. Beforehand, text was aligned vertically using the "alignment-baseline" attribute. However, not all applications support it. So, text is now manually aligned.
  • Fixed a bug that affected internal lookup tables. It affected Turkish-language computers.

Version 2.1.2 (October 3, 2016)

  • The Print feature now uses generated EMF files. The resulting documents will print quicker and will be higher quality.
  • In the last two updates, the size of the text on the Error Window was too small. I've restored the original appearance.

Version 2.1.1 (September 30, 2016)

  • Enhanced the Most Recently Used (MRU) file list. If a file is not found, it will be removed from the list.
  • The MRU will now only be saved to the user's local settings.
  • Fixed a minor bug in EMF exported files. The character width of the ampersand (&) was not being measured correctly.

Version 2.1 (September 27, 2016)

  • Added support for Polish - Thanks to R. Robert Gajewski
  • Added support for Thai - Thanks to Pongsathorn Sraouthai (พงศธรณ์ สระอุทัย)
  • Added a Most Recently Used (MRU) file list.
  • The Print Window now displays the printing status on the main status bar (rather than a local one).
  • Updated the EMF files created by the Export to Vector utility. They should print better than before.

Version 2.0.2 (August 16, 2016) - Bug fix

  • Fixed a bug that occurred when a variable was assigned data that is incompatible with its data type (basic type mismatch). The system wasn't properly treating it as an error.

Version 2.0.1 (August 4, 2016) - Minor update

  • Translations:
    • Updated the Hungarian translation.
    • Fixed a flaw in the British English translation.
  • Fixed a bug in the Source Code Viewer for C++ generated code.
  • The Console window now displays a message if a Breakpoint is reached.
  • Made some configuration changes to improve installation.
  • Some minor cosmetic changes.

Version 2.0 (August 2, 2016) 

  • Added a new shape: Breakpoint
    • The new shape is available from the Add Shape pop-up menu. It acts as the same as the breakpoint feature found in most IDEs.
    • Add a "Remove Breakpoints" icon to the main toolbar.
    • File format was updated. The "fileversion" now displays "2.0" rather than "1.7". This is based on that fact that newer programs can save the <breakpoint/> tag. This won't be a problem for older versions of Flowgorithm. They were designed to simply ignore unrecognized tags. So, if a program (that contains breakpoints) is opened in a older version, they will simply be absent.
  • Easy right-clicking shapes. Single shapes can be simple clicked and cut/copy/pasted. This is a highly requested feature.
  • Added buttons the Edit Function window that allows parameters to be reordered.
  • New graphics library! The graphics engine was completely rewritten using a new design. 
    • Shapes appear better - especially the curved edges used by the terminal shape.
    • Faster
    • Arrows now display a fine tip (the arrow heads are triangles). This will be apparent when the flowcharts are displayed in high resolution.
    • Mouse-overs highlight the entire line. Beforehand, it only highlighted the top or bottom half of the line.
  • Miscellaneous improvements
    • Add Shape popup menu displays much, much better.
    • Auto scrolling works much better (and is much faster).
    • Layout Windows received some minor aesthetic improvements.
    • New message dialog windows. The new windows use custom icons (information, questions, etc...). Also, the buttons are now translated.
  • Colors & Styles
    • New color scheme: Magic. This color scheme is a homage to Harry Potter. It uses the 4 house colors, the Sorting Hat, and snow/Hedwig/Buckbeak.
    • New color scheme: Traffic. This color scheme is based on colors used in traffic signs. It was inspired by the new breakpoint shape (which is an octagon).
    • Some of the other color schemes were tweaked slightly.
    • The Add Shape popup menu shows the "hover" effect using the a new color. Before, it was always using the menu label color.
    • Added a new chart style: Blocks. The style only uses the rectangle shape.
  • New: Export to Scalable Vector Graphics. Flowcharts can now be exported to Scalable Vector Graphics (SVG) and Enhanced Metafiles (EMF).

Version 1.12.1 (May 8, 2016) 

  • Updated the language icons. I was displaying them in 8-bit rather than 32-bit. They should look much nicer now.
  • Added the current language to the status bar of the main window. This was designed to make it easy for someone, who doesn't understand the current displayed language, change it. I didn't include the flag image. The flag is designed to help the user locate the correct icon, but seems a tad unnecessary on the main window.
  • In the Export Image window, the margin (in pixels) inputbox was changed to a combobox. The user can enter any value they want, but it has the most common ones available on the drop down list.
  • The visual styles manifest was removed from the installation script. This was originally added so the tile background would not appear red in Windows 8.1. However, the issue became moot with the release of Windows 10.
  • Bug fixes:
    • The Print Windows wasn't showing its progress in its status bar.
    • The Export Image Window wasn't showing updates in its status bar.

Version 1.12 (March 30, 2016) 

  • Added support for Russian - Thanks to Olga Cooke.
  • Updated the generated C++ code to use the vector template.
  • Fixed a translation error in Galician. This was completely my fault.

Version 1.11.3 (January 29, 2016) 

  • Added support for the Brazilian dialect of Portuguese - Thanks to Theldo Cruz Franqueira.

Version 1.11.2 (January 17, 2016) 

  • Added the Play, Step, Pause, and Stop buttons to the Console Window. These have the same behavior as the buttons on the main window.
  • Made some internal changes to make the Console Window draw better.
  • I forgot to fix a bug in Lua generated code. It was missing the -1 for descending loops.

Version 1.11.1 (January 15, 2016) 

  • Fixed a bug in JavaScript generated code. The For Loop was not being setup correctly for decreasing values.
  • Fixed a bug in Python Code. A comma was missing for decreasing loops.

Version 1.11 (January 11, 2016) 

  • Added support for Japanese - Thanks to Saito Yutaka
  • Clipboard Popup Menu now follows the current color scheme.
  • Rubén Castiñeiras Lorenzo released new versions of his Spanish (Castilian) and Galician translations.
  • Added a new tab to the About Window. The new tab lists the names of everyone who has helped find bugs and give valuable feedback.
  • Source Code Viewer:
    • To denote the start of the programs "main" code, the source code often contains a comment. Now, the comment will only be added if needed.
    • For Java, the generated class is now called "JavaApplication". This follows the defacto standard used by Java IDEs.
  • Made some internal changes to the Add Shape Popup Menu.
  • Bug fixes (thanks to Mathieu Kourouma):
    • Made some internal changes that prevent the Variable Watch Window from crashing on certain versions of Windows.
    • Fixed a various grammatical and spelling mistakes.

Version 1.10.2 (December 24, 2015) 

  • Added support for French - Thanks to François Capon
  • Fixed a typo in the English translation (thanks again to François Capon)
  • Updated the Change Translation and About windows. The languages/names are now displayed in a ListView control.
  • Made some changes to the Add Shape menu so that it loads quicker and, hopefully, with less flicker.
  • Fixed a small flaw in the Edit Comment window. It was displaying an icon and appearing in the Windows Task Bar. This wasn't consistent with the rest of the edit windows. I doubt anyone noticed.

Version 1.10.1 (December 18, 2015) 

  • Modified the Swift code created by the Source Code Viewer. The intrinsic function Random() now maps to the Swift random() function.
  • Made some internal changes so the program loads faster.
  • Some miscellaneous GUI tweaks.

Version 1.10 (December 17, 2015) 

  • Added the ability to control execution speed. The system now supports: Fast, Medium, and Slow. When set to medium or slow, the user can passively watch each shape execute. It essentially works like the user pressing the "Step" button.
  • The behavior of the Play, Step, Pause, and Stop buttons were improved.
  • Added Apple's Swift to the Source Code Viewer.
  • Added a new color scheme: Vibrant.
  • Made some cosmetic changes to the window headers. Now, each draws a line on the top and bottom. The goal was to prevent color clashes with the window's title bar.
  • When the window is resized, it now makes sure it doesn't size it larger than the screen. Before, it was always defaulting to 800x600.
  • Fixed an error in the Italian translation. It was my fault, not the original translator. When I changed the translation file format, I mistranslated "Assignment". Thanks to Roberto Atzori for letting me know.

Version 1.9.2 (November 17, 2015) 

  • Fixed an error that affected parameters displayed in the Edit Function window. The parameters weren't being translated correctly.

Version 1.9.1 (November 15, 2015) 

  • Fixed a typo.

Version 1.9 (November 14, 2015)

  • Addedsupport for Portuguese - Thanks to Jorge Duque.
  • Chart styles:
    • When selecting a chart style and color scheme, the preview image now shows the proper colors and shapes. This preview is used in the Change Chart Style window, Print window, and Export Image window. The "Color Preview" caption was removed since it is no longer needed.
    • Added a new chart style: Default (Descriptive). It is identical to the "Default" chart style, but uses descriptive text on each shape.
    • Added a new color schemes: "Blueprints" and "Sacramento State". Eventually, the application will allow custom color schemes to be created.
  • The current color scheme is now used in dialog windows. In previous versions, the window header background was always blue. With the change, the background color changes for each scheme.
  • The Add Shape popup menu was modified to handle the new color scheme design. Changes include the hover effect as well as the border of the window.
  • Most dialog windows were increased in size.
  • Added a Copy button to the Console Window.
  • Made some internal changes in preparation for a Macintosh/Linux port.
  • Random number generation was improved. This is an internal change.
  • Bug fixes:
    • Fixed a bug in For Loops. The system was not checking the range before executing the first time.
    • Fixed a bug in QBasic generated code. The dollar suffix was missing on the call to MID$.

Version 1.8.2  (October 5, 2015) - Minor Update

  • Fixed some minor translations issues such as failing to put a tooltip on the Functions Dropdown Menu.
  • Made some improvements to Java generated code. In particular, string comparison was fixed.
  • Made some improvements to QBasic generated code.

Version 1.8.1  (October 3, 2015)

  • Added languages:
    • Spanish (Castilian) - Thanks to Rubén Castiñeiras Lorenzo.
    • Galician - Thanks to Rubén Castiñeiras Lorenzo.
    • Italian - Thanks to Riccardo Scorretti
  • Source Code Viewer:
    • QBasic was added.
    • The Java/C++/C# code was improved. Beforehand, it wasn't using the proper Usual Arithmetic Conversions for the algebraic operators. This resulted in unnecessary casting.
  • The modulus operator is no longer restricted to integers.
  • Some buttons and windows were resized. The changes were made to either better accommodate other translations or to simply make the window look better.
  • Bug fixes: If a function was renamed in the Function Manager, the dropdown list wasn't being updated.

Version 1.8  (August 15, 2015) - Major Update

  • Beside English, Flowgorithm now supports multiple spoken languages. Please check out the "Change Language" menu item under Tools. Supported languages include:
    • Chinese - Thanks to 苏晓 .
    • Czech - Thanks to Honza Vaněk.
    • German  - Thanks to Andrej Preradovic.
    • Hungarian - Thanks to  Péter Bernát.
    • Spanish - Thanks to Juan Carlos Rosales Larralde.
  • A new intrinsic functions:
    • ToFixed() will convert a real to a string with fixed number of digits after the decimal point. For example: ToFixed(3.14159265, 2) will return the string "3.14".
    • ToCode() will convert a string into a character code. It is the opposite of ToChar().
  • Registry is used to save settings. If the application is started in Administrator Mode, it will save settings to the Local Computer. This will used as the default for any new users (which are saved to the Current User).
  • Source Code Viewer:
    • Perl was added.
    • When stepping through a program, the window will now keep the current statement visible.
    • Line numbers can now be displayed. To save screen space, the feature is unchecked by default.
    • Lua source code was improved. The source now uses a simple helper function for array access. Lua uses 1-indexing while most languages (including Flowgorithm) uses 0-indexing.
    • The C# and Visual Basic .NET code was changed slightly. The helper functions for inputting values were renamed.
    • If a comment contains multiple lines (the user hit manually added a newline), multiple comments were will be produced.
  • Color schemes and styles:
    • Added several color schemes. These include: Paint, Paint (dark background), Cyberspace, and Retro Computer (1980's EGA color).
    • Added a new style: Classic (Trapezoid). This is a variation of the classic flowchart format which uses trapezoids to represent input/output (rather than using a parallelogram for both).
    • Added a new style: Classic (GOST). This is a slight variation of the classic style that is used in Russia and other states in the vicinity.
    • The Add Shape Pop-up Menu now shows the same shapes as the current flowchart style. Beforehand, it always displayed static images based on the "default" style.
    • The Source Code Viewer, Console Window, and Add Shape Pop-up Window now use the current color scheme.
  • Console Window:
    • The prompt text was moved into a Status Strip.
    • Added a small icon to the Enter Button.
    • If the output is displayed in the text-only format, rather than "chat bubbles", it will be displayed in Courier New.
  • The Variable Watch Window was improved. If the window is wide enough, the variables will be displayed in multiple columns. This feature can be disabled by unchecking the Columns button.
  • The Error Window now shows the "Cause" rather than a more generic "Details" field.
  • The mouse scroll wheel now works with the main window, Source Code Viewer and Console Window.
  • Printing was improved. The color scheme's background color is used on the whole page (rather than just the bounding square for the image).
  • The Layout Windows feature was modified slightly. The "Variables" layout sets the Variable Watch Window at 1/4 of the screen rather than half.
  • Added a Stack Overflow Error. If recursion is being taught (or implemented accidently), the system will prevent a run-away recursive call from taking down the application. Instead, an error message will be displayed. The maximum internal stack size can be get in the registry to a larger value if needed (which should never be the case).
  • Bug fixes:
    • Fixed a bug that affected For Loops. If the range was incorrect (i.e. it should never execute the block), it was still executing it once.
    • Fixed a JavaScript code error. The code, for retrieving a character from a string, had the two operands switched.
    • Fixed a rare bug with the clipboard. It was possible to copy "zero" shapes to the clipboard.
    • Fixed a bug in generated Python code. Python uses the same Usual Arithmetic Conversions as C, but the code was not converting operands to floats (if needed).
    • Java and C# were not putting the "static" modifier on user-defined functions.
  • Fixed a typo in the Comment Edit Window.

Version 1.7.4 (February 12, 2015) - Minor Update

  • Fixed a few minor spelling errors.
  • The captions were made more consistent throughout the application.

Version 1.7.3 (February 9, 2015)

  • Fixed a rather careless bug with the contextual menu that appears for highlighted shapes. It should just appears after a single right-click. However, it was requiring two clicks. Fortunately, the Control-X, Control-V and delete buttons were working.

Version 1.7.2 (January 19, 2015)

  • Minor changes to some error windows.

Version 1.7.1 (January 7, 2015)

  • Source Code Viewer:
    • Cleaned up the Delphi/Pascal generated code. The new code will make better use of dynamic arrays and the SetLength() function.
    • Updated some internal logic so the window updates better - in particular, the vertical scroll bar.
  • The system will no longer display a syntax error if the user clicks "OK" on an incomplete shape. The shape will still be displayed in gray.
  • New shapes can be added by just clicking once on a line. Beforehand, the Add Shape window would only appear if the line was double-clicked or right-clicked. To edit a shape, you still need to couple click.
  • Changed some menu labels and tooltip labels.

Version 1.7 (January 2, 2015)

  • Language improvements:
    • Arrays can now be passed into functions. Function parameters were also updated to support this feature.
    • For Loops can now implement increasing and decreasing order. Beforehand, For Loops were restricted to increasing order.
    • Added two more trigonometric functions: arcsin() and arccos().
    • To work with arrays, the size() function was added. It returns the size (number of elements) of an array.
  • Source Code Viewer:
    • Added the Delphi / Pascal programming language.
    • Internal changes were made so blank lines are inserted far more logically than before. Basically, blank lines are inserted before a group of comments or after a group of declarations.
    • Added a button that allows you to disable the vertical padding on each line. Without it, the text is not as cosmetically appealing, but it is more condense.
    • Fixed a cosmetic bug in VBA generated code. Subs were being indented one level too many.
  • The Declare Shape was changed to make it easier to declare arrays. The old format had the user write a very "code-like" statement. The new version uses drop downs and should be more natural.
  • File format was updated to support the new features. The "fprg" file is compatible with older versions of Flowgorithm - although, naturally, the new features will not be present.
  • Made some minor modification to the error window.

Version 1.6.1 (December 14, 2014)

  • Added auto-scrolling. If the user is selecting a region with the mouse, the window will automatically scroll if the mouse is near the edge. This behavior is found in most editors today.
  • The Chart Style window, when opened, will show the current settings. Before, it was always defaulting to "default" in "pastel".
  • Fixed a bug that caused the system to crash if an invalid identifier was entered.
  • Fixed a few minor spelling error: affect vs. effect.

Version 1.6.0 (December 7, 2014)

  • Language improvements:
    • Added a new constant: Pi. You can now used PI in your programs without having to manually declare a variable or use the literal 3.14... in your expressions. In generated code, it will map to the language's official constant.
    • The Equal-To and Not-Equal-To operators can now compare two Boolean values.
    • I added a bunch of identifiers to the "future expansion" list. These will be invalid to use for identifiers.
  • The Export to Image File tool now allows you to specify if there will be a margin (measured in pixels).
  • The Chart Style button, on the main toolbar, lets you select a color scheme and a chart style. The color schemes match the ones found in the Print and Export to Image File windows. This window will be expanded in the future.
  • I also added a "gray scale" color scheme.
  • Double-clicking (or right-clicking) on the flowchart background will no longer open the Program Attributes window. Users found this annoying.
  • I made the Input Shape a tad more blue. It appeared purple on some screens.
  • Bug fixes:
    • If an array element is out of bounds, the error window was not showing the correct upper bound.
    • If a variable name is invalid (predefined), the system was not alerting the programmer or causing an error

Version 1.5.0 (November 22, 2014) 

  • The Variable Watch window now can display arrays.
  • Added a new intrinsic function: ToChar(). It will convert an integer, representing a character code, into a character.
  • Source Code Viewer now supports:
    • Added JavaScript
    • Added Lua
    • Added Ruby
    • Added VBA (Visual Basic for Applications)
  • Bug fixes:
    • Made internal changes designed to eliminate a comma/decimal point error. The "decimal mark", used in real numbers, can either be a comma or period - depending on the culture. Europe, in particular, uses a comma. The software was not handling the difference well. The new code will use a period for all cases.
    • Fixed a minor bug that affected the code generator. It was not clearing the 'current statement' color properly.
  • Removed multi-dimensional arrays. They are not really needed for an introductory programming tool. Also, multi-dimensional arrays are not easily supported by the new generated languages.

Version 1.4.3 (October 18, 2014)

  • Made some changes to avoid the crashing issue that affects some users. I'm pretty sure that the error was resolved.
  • I updated the internal parser tables so that variable identifiers and string literals support Unicode characters. Identifiers can now start with any Unicode "letter" character and can be followed by zero or more Unicode letters or the digits 0..9.
  • The Source Code Viewer now saves text in UTF-8.

Version 1.4.2 (October 17, 2014)

  • Made some minor changes to how stepping works:
    • The logic used to display the current shape was improved.
    • Comments are now skipped.
  • The Layout Windows tool is now displayed with a white background. This is purely cosmetic.

Version 1.4.1 (October 16, 2014)

  • When stepping through the Main function, the system will now wait on the "end" terminal. This is the behavior on all other functions, but I forgot to give this behavior to Main.
  • Fixed a flaw in C++ generated code.
  • The Source Code Viewer now saves text using the carriage-return + line-feed combo to terminate lines.
  • Added a window that will catch any unhandled errors and copy the error information to the clipboard. Hopefully, this will help solve any crashes.

Version 1.4.0 (October 13, 2014)

  • Debugging / Demonstration:
    • Added a new Variable Viewer window. When stepping through a program, this window will show the current variables. Each data type is displayed using a unique color: integers (blue), real numbers (purple), strings (red), Booleans (cyan). Arrays will not be displayed - at least for now.
    • The Layout Windows tool was revamped. Since variables can now be displayed, the number of different screen configurations also increased. The application will now display a window with several preview pictures. You can either select "Layout Windows" from the menu or press Control-L.
    • When stepping through a program, the system will now keep the current statement visible. This means it will automatically change charts and/or move the scrollbars.
    • The system will also jump to a shape if an error occurs.
    • If an error occurs when a function returns a value, the ending terminal will now be highlighted in red.
  • When a program is being loaded/saved, the status bar (at the bottom) lets the user know what is happening. Also, the toolbars are disabled at this time.
  • The 'Export to an Image File' utility now adds the name of the flowchart to the default name.
  • The main window now zooms in and out far more smoothly.
  • The Console Window was improved. The "chat bubbles" maintain better margins with the left and right side.
  • The Flowchart Style dropdown was replaced with an icon. This was done to save space.
  • Added an icon for the Variable Viewer. The Source Code Viewer was changed to match the style.
  • Source Code Viewer:
    • Added C++.
    • Source code was greatly improved. If a feature (such as a random number generator) is not used, then the source code will not contain its declaration.
    • A new dropdown menu was added to the Source Code Viewer. The dropdown displays the "style" of the source code. Beforehand, the language dropdown had text like "Java (hanging brace)" which got too verbose after I added C++. For now, the style dropdown just displays "hanging brace" or "aligned brace" for C++ and Java.
    • If the Copy Button is clicked on the Source Code Generator, it will tell the user if text was copied. Also, if the source is empty, an error will no longer occur.
  • Bug fixes:
    • Fixed a bug with Call Statements. If the program is executed, and the statement is still gray, it caused a runtime error.
    • Also fixed another bug with Call Statements. If the user causes a syntax error, then the error will persist even after it is edited. Basically, it wasn't resetting its "Syntax Status".
    • The step value in For Loops cannot be negative. This is just a limitation by Flowgorithm. If a negative value is used, an error will now occur.

Version 1.3.3 (September 13, 2014)

  • If a shape is edited, while the program is running (i.e. stepped into), the flowchart will now stop and reset.
  • Programs will now only be marked as 'changed' if a shape is changed (rather then cancelled).
  • The error messages for syntax and lexical errors were improved. They were a tad obtuse before.
  • If the Layout Windows feature is used, and a window is maximized, it will be normalized.
  • Source Code Generator:
    • Fixed a minor Visual Basic generation bug. The source contained "end class" rather than "end module".
    • Fixed a Python generation bug. If code is generated, when a Declare Statement is incomplete, the system reports an error. Fortunately, it does not crash.
    • Generated code for C#, Java, and Python now handles backslashes. Flowgorithm doesn't have backslash override codes. So, a backslash is always just a backslash. The generated code will now convert \ to \\.

Version 1.3.2 (August 26, 2014)

  • A bug with copy and paste was fixed. The order of pasted items would sometimes be incorrect.

Version 1.3.1 (August 24, 2014)

  • Fixed an alignment bug for the false branch of If Statements. This was purely cosmetic - and I doubt anyone would have noticed.
  • Python print statements, when incomplete, will show parenthesis. This is cosmetic.
  • Added the Program Attributes window to the Program Menu.

Version 1.3.0 (August 22, 2014)

  • Flowcharts can be saved (one function a time) to image files. You have the same basic features as Print.
  • Python was added to the Source Code Viewer
  • Added a "Check for Updates" feature. It doesn't run automatically. I didn't want it to become an annoying popup window on lab computers.
  • When auto-arranging windows, the system will normalize windows if they were maximized.
  • Fixed a bug in the Source Code Viewer that affected inputting into an array element.

Version 1.2.0 (August 14, 2014)

  • Flowcharts can now be printed. The feature allows users to select one of three different color schemes: the default pastel, black and white outlined (a great non-color option), and black and white solid.
  • Added some links to the Help Menu.
  • Made some internal changes that should help refresh the screen better.

Version 1.1.2 (August 11, 2014)

  • Some minor changes before the semester begins.

Version 1.1.1 (August 10, 2014)

  • Some minor cleanup
  • Input Statements can now read array values (like they should have before)

Version 1.1.0 (August 8, 2014)

  • Comments were added to the flowcharts. Comments do not affect how the program is interpreted or behaves. They are useful for documenting information about the program - for programmers to read.
  • Added zoom buttons to the Console Window.
  • Added zoom buttons to the Source Code Viewer.
  • Gaddis Pseudocode was improved. If there is only one function, Main, the Source Code Viewer will only show the statements rather than a "Module Main" block. This was designed to mimic the examples used in the textbook.

Version 1.0.2  (August 6, 2014)

This was the first release of the program. There was a version 1.0.0 and 1.0.1, but they didn't make it to the site.