All categories

Lazarus download

Free Create graphical user interfaces for Windows applications
2.2.0.9 (latest)
Aug 3, 2016
Jun 19, 2017
lazarus-1.8.0-fpc-3.0.4-win64.exe
Dec 23, 2015
lazarus-1.6.0-fpc-3.0.0-win32.exe
Mar 20, 2015
lazarus-1.4.2-fpc-2.6.4-win32.exe
Nov 16, 2013
lazarus-1.2.0-fpc-2.6.2-win32.exe
Nov 9, 2013
Aug 31, 2012
Aug 24, 2012
Feb 21, 2008
lazarus-0.9.30.4-fpc-2.6.0-win32.exe

What's new


v1.8.4 [Jun 19, 2017]
LCL Interfaces Changes
• Qt5: new widgetset based on Qt5 libraries.
LCL Changes
• TApplication
o Scaled property: the LCL is DPI-aware. Please see High DPI for more information.
• TCustomForm
o new position poWorkAreaCenter - center form on working area (depends on DefaultMonitor)
o new compiler define LCLRealFormBounds. If you compile your application with LCLRealFormBounds on, the TCustomForm bounds (Width/Height) will be real outer bounds and not client bounds. Also constraints will affect real bounds. For now, it is supported only by win32.
o Scaled property: the LCL is DPI-aware. Please see High DPI for more information.
• TToolButton
o new style tbsButtonDrop - paints a drop down arrow on the right side of the button. In contrast to tbsDropDown the button has only single clicking area that invokes the DropDownMenu if assigned.
o new event OnArrowClick. It is called if Style=tbsDropDown when the user clicks the arrow button area of toolbutton. Breaking change: In 1.6. the OnClick event was called for this!
• TToolBar
o new DropDownWidth property to setup the width of the toolbutton arrow area for Style=tbsDropDown.
• ClipBoard
o The ClipBoard now supports copying and pasting text in HTML format by means of the methods GetAsHtml and SetAsHtml.
• Menus (TPopupMenu, TMainMenu, TMenuItem)
o Menus now support OwnerDraw with (almost) Delphi's approach. If you set TMenu.OwnerDraw to true the OnMeasureItem and OnDrawItem from TMenu and TMenuItem will be called. OnDrawItem from Lazarus has the same parameters as OnAdvancedDrawItem from Delphi. You can use the events also from TMenu, which is an LCL addition to Delphi. For now only win32 is supported.
• Dialogs
o TTaskDialog added
• TDateTimePicker
o new TDateTimePicker.Options property
IDE Changes
• lazbuild
o new option --add-package-link to register given lpk files without building.
• Quick Fixes
o new QuickFix for any fpc hint, note or warning: add compiler directive {$warn id off}
• Code creation
o new shortcut Ctrl ⇧ Shift X that shows a CodeCreation dialog with more options. Ctrl ⇧ Shift C never shows a dialog now.
o You can choose the default visibility of the methods in Tools / Options / Codetools / Class Completion / Default section of methods.
• Word Identifier completion: If the option Codetools / Identifier Completion / Replace whole words is enabled, pressing Return replaces the whole word at cursor, pressing Shift Return replaces only the left side. If the option is disabled it works the other way round: Return replaces left side, Shift Return replaces whole word.
• "case ofall" code template indentation change
o Old behavior: the created case-list was always flat
o New behavior: by default it is now indented according to source editor options.
o Reason: the indented case-list is Delphi-standard
o Remedy: edit the ofall template and use the WithoutExtraIndent parameter: "$OfAll(WithoutExtraIndent)"
• Ctrl-Enter alias "Open file at cursor" was improved when cursor in a Pascal file: It now recognizes properly $I and $R directives, uses nodes, string literals and comments.
• DPI awareness: the IDE is DPI-aware (it's ongoing work, so expect issues). Please see High DPI for more information.
• pas2js support:
o parsing the external class declaration of pas2js, code completion, find declaration, etc.
o namespaces: The IDE supports the -NS option and project default name spaces of Delphi/pas2js. As soon as FPC supports namespaces Lazarus supports it too.
• Editor
o New colored outline of source structure. (like cnpack, if then block outline)
• Support for Win98/WinNT has been dropped.
IDE Interfaces Changes
• New function LazarusIDE.FindUnitsOfOwner listing all units of a project/package. [1]
Components
LazControls
• Added T(Float)SpinEditEx, a widgetset independant implementation of T(Float)SpinEdit with some extended capabilities:
o NullValue property.
o Configurable behaviour when the text inside the control is not a number.
ToDoListLaz
• Now searches all used units of projects. Excluding used packages, including all units listed in the project inspector.
TAChart
• New component TChartCombobox
• Improved data point tools (property Target)
• New demos (runtime demos, datapointtools)
EditorToolbar
• The package editortoolbar.lpk is removed and its functionality is integrated in IDE.
o The settings can be found in Tools -> Options -> Environment -> Editor Toolbar


v1.6.4 [Dec 23, 2015]
- Added TFlowPanel in ExtCtrls.pp
- The TreeNodes of TShellTreeView are now of type TShellTreeNode. In order to access the nodes as such, you need to explicitely cast the node to TShellTreeNode. The TShellTreeNode class provides the following functions and properties:
- ShortFilename: returns the filename without path.
- FullFilename: returns the fully qualified filename.
- IsDirectory: returns True if the node represents a directory.
- BasePath: returns the basepath of the node.
- Added 'iscancel' parameter to QuestionDlg. If no cancel button is explicitely set, mrCancel is returned in case the dialog is closed with ESC or system close button.
- Added support for TCustomEdit.TextHint.
- Added TTimeEdit in editbtn.pas.
Editor
- Basic multi-caret mode
- Option for multi-line notebook-tabs
- line-number part of gutter now allows to select the current line, or several lines.
Project
- Additions and Overrides are now added as last. Formerly they were added after the inherited and before the custom compiler options.
Messages Window
- The IDE now warns when there are duplicate units or include files in packages.
- Success line. New option to show compiler message "n lines compiled. m sec". Tools / Options / Messages Window / Show FPC message "lines compiled"
Desktops
- See Desktops
- Multi-monitor screen layouts are supported by the IDE.
IDE CoolBar and Editor Toolbar
- A new configurable IDE CoolBar replaces the static Toolbar. It shares settings GUI with EditorToolbar which was moved to IDE's codebase. The command set that can be selected was refined. Earlier only IDEMenuCommands could be selected, now a limited selection of all IDECommands.
- EditorToolbar package is empty and deprecated. It's functionality is now part of the IDE. Please uninstall it from the IDE because it will be removed from the 1.8 release.
Object Inspector
- The Boolean property editor now uses a CheckBox by default. A ComboBox with "False", "True" can still be selected in options.
Package editor
- Two separate buttons for adding files were replaced by one button with a dropdown menu. The "Add" and "Add more" buttons can be considered a failed experiment.
- Many usability issues were fixed. The whole tree is not updated any more after each operation and focus stays in right place after them.
Environment
- new Environment setting "Multiple Lazarus instances" to set up what happens if Lazarus is started with a file in command parameter.
lazbuild
- new option --verbose-pkgsearch to show what packages are searched and found.
lazarus
- new option --force-new-instance to force opening a new instance and ignoring the "Multiple Lazarus instances" option.
- Code navigation and completion for class helpers, record helpers and type helpers.


v1.4.4 [Mar 20, 2015]
Added methods and utilities to load objects from FPC resources
Changed all LCL resources from LRS to RES.
Easier hint windows in IdeIntf
All IDE resources are stored in RES files now.
Component images can be loaded from resources stored in RES files now.
LazRes and LrsToLfm have been improved to assist in resource migration process.


v1.2.6 [Nov 16, 2013]
1. Editor
- Macro Recorder/Player
- Multiple macros. Ability to select/change macro from list.
- Individual key-shortcuts for each Macro
- Macros can be saved per project or with the global IDE config
- Package EditorMacroScripting: Allow use of PascalScript in macros.
- Sticky selection mode
- Select text word-wise
- Highlight different (user specified) words in different colors See here
- Auto-continue for comments and strings
- Inactive code in $IFDEF can be "low-lighted" (greyed out)
- Markup/Highlight colors can be merged (alpha channel) and prioritised.
- Added Popup menu / Source / Find references of used unit: Position cursor on a uses clause will find all references of this used unit within the active unit.
2. Debugger
- Watches window: added detail view, for selected watch
- Debug Inspector: Ability to directly input expression to monitor
- Attach and Detach
- Support for remote debug with gdbserver
- When option "open last project" is enabled (default) and the IDE was closed with no project, no project will open at start. When a virtual (not saved) project was open a new Application project is created.
- The Package Graph now uses the new TLvlGraphControl, showing all package dependencies including project and IDE.
- Package Editor: menu item to find and remove unneeded dependencies
3. IDEIntf
- Added boolean parameter BringToFront (defaults to false) to TLazIDEInterface.DoShowSearchResultsView. It specifies whether Search Results dialog should be shown on top or under Source Editor. Behavior of existing code calling this method is not affected.
- Added TPropertyEditor.GetVerbCount, GetVerb, PrepareItem, ExecuteVerb to let TPropertyEditors add menu items to the Object Inspector.
4. Compiler options
- Build modes are not visible by default. They can be enabled with a checkbox.
- The GUI is visually above the options GUI pages, thus indicating it has effect on them.
- There is a separate window for managing the modes. Two useful modes, "Debug" and "Release", can be created with a single click.
- Options are read and parsed directly from FPC.
- The "Other" page has a button which opens the generated GUI. The options are synchronized and saved with the custom options memo.
- There is another button for selecting DEFINEs. All added DEFINEs are stored in project options, the selected ones are put to custom options.
- Options in other pages have been rearranged
- Append FPC options to packages without touching the lpk
- Changing the output directory of packages without touching the lpk
- Define IDE macros only for some packages or only for the project
- Append compiler options for all projects with build mode "debug"
- Change the package(s) output directory of all projects and packages with build mode "release"
- Append compiler options of third party projects and packages without altering their sources
- The page Inherited was moved to the Show options dialog.
- The window Unit Dependencies was rewritten.
5. Designer
- Designer popup menu item Reset for setting control bounds to their ancestor bounds
- Add Frame onto a form: The dialog to select the frame ancestor now scans all sources.
- The default test directory of the IDE under Linux was changed from /tmp to ~/tmp to avoid clashes with other users
- Delphi converter is more robust and does not abort any more for parsing or other errors. - The conversions are still primitive but they are done better.







Suggestions

RStudio
RStudio
Free

Develops applications based on the R language

ScanTool.net for Windows
ScanTool.net for Windows
Free

Offers basic functionality such as reading and erasing diagnostic trouble codes

XAMPP
XAMPP
Free

Development environment for PHP

Code::Blocks
Code::Blocks
Free

Programs & provides debugging support for apps developed in C, C++ and Fortran

SCRATCH
SCRATCH
Free

Creates interactive content from the user's media files