Brochure of new features: New WINDEV features
Benefit from the 196 common new features of version 28 in WINDEV
WINDEV benefits from the 196 common new features in version 28, particularly: improved editors, custom shortcuts, higher speeds, new controls, improved PDF control, Markdown support, the new Polar Area chart, new features in the SCM, report editor, WLanguage and OOP, and more.
The kanban control: essential in WINDEV
The new Kanban control is a great addition to your WINDEV applications.
Kanban controls can be used to organize a process, monitor a project, distribute tasks, etc.
This native control handles all user actions.
Create a Kanban board in a few minutes with this new control!
3 new Smart controls provided in WINDEV 28
Smart controls save valuable time during the UI creation process, and immediately make your applications more sophisticated.
3 new Smart controls (common to WINDEV, WEBDEV and WINDEV Mobile) are introduced in version 28:
- Multi-selection with tokens.
- Address autocomplete.
Reminder: Smart controls are provided with their source code, and are therefore completely modifiable and customizable.
New Smart control: multi-selection with tokens
The "Multi-selection with tokens" Smart control allows you to select one or more tokens from the list.
Multiple selection with tokens
New Smart control: badge
The "Badge" Smart control shows a badge (small circle with a number) on a given control.
A badge can be used to draw the user's attention: number of pending orders, etc.
The small icon that displays the number can be positioned on any type of control: Button, Static, Image...
Here, the badge (red circle with the number) appears on a Button control
New Smart control: address autocomplete
The "Address autocomplete" Smart control suggests addresses as you type.
A list of addresses is displayed.
Please bear in mind that this control is based on a Google API. Google may require you to pay a subscription fee, depending on the number of requests.
Several address suggestions appear when the end user starts typing
Image columns: improved layout
In version 28, Image columns look better than ever: by default, a margin appears around the image, which improves the overall layout of the table.
WLanguage for Table controls: miscellaneous
- The BuildBrowsingTable function now allows you to dynamically create columns to view data from a data file. Now, columns of type Memo show the size of the Memo file.
- A new syntax of the TableSort function takes parameters of type String. This syntax allows you to easily restore the sort order retrieved with the TableSortedColumn function.
Markdown: control captions, column headers, menu options, tooltips...
You can now format all the text in your applications
With Markdown support in version 28, you can customize the format of all the text in a control.
This allows you to easily enrich the UI in your applications.
Easy formatting with Markdown
Because of its simplicity, Markdown text is easy to translate.
Markdown text automatically adapts to the style of the control, most notably to the dark theme.
Floating tab panes: optimizations
Floating tab panes allow end users to freely position tabs and customize their UI.
In version 28, a much smoother animation appears when moving these tab panes.
Tab icons and text: better spacing
Now you can set margins for tab icons and texts.
The layout improves automatically.
In edit mode, you can see the margins that have been applied around the icons
A clean layout at runtime:
no more icons touching the borders!
Button control: custom borders
A Button control can have borders that change depending on the state of the button: pressed, hover,...
In version 28, you can define the border settings for each state in the "Style" tab of the 7-tab window.
Easily select the type of border for each state
Image Editor control
With the Image Editor control, you can include a full-blown image editor in your applications without writing a single line of code.
In version 28, this control benefits from new features:
- Animated GIFs
- A new event is available in the code editor: "After running OCR", which allows you to retrieve and process the text
- A new button allows you to scan and automatically retrieve the image
- AI transforms freehand drawings into the corresponding object: line, rectangle, circle...
Buttons with free icon positioning
If a button contains an icon with free positioning, you have the ability to specify the coordinates.
You can choose how the content of the icon will be displayed: aligned, homothetic...
Scientific input mask
A new input mask is available for numeric Edit controls: scientific notation.
For example, you can get the following syntax without third-party tools: 1,23E+10.
2 new skin templates for WINDEV
Two new skin templates are introduced in version 28: Eleven and Touch.
This allows for new customization possibilities.
Menu control: new separator with text
A menu can contain one or more separators.
In version 28, this separator can contain a text.
The menu separator can now include text
Menu control: visual options
You can define "5-state" icons (e.g. buttons) in the menu options via the-7 tab window or programmatically.
Combo Box control: rounded corners, borders with rules, custom hover bar
In version 28, the expanded area of a Combo Box can be customized:
- hover bar
- row height
- ...This allows you to create modern, sleek Combo Box controls.
A clean Combo Box...
Static control: rotation effect
Static controls can now be rotated. This rotation is specified in the "Style" tab of the 7-tab window.
Rotated text (in red)
Edit control: new autocomplete event
The Edit control has an autocomplete feature available to the end user.
In version 28, the "Select a value in the list of input suggestions" event allows the application to determine which suggestion was selected by the end user.
With this new feature, you can assign a value different from the one shown in the suggestions to the Edit control: an acronym, for example, ...
Export help to PDF
As you know, in WINDEV you can generate a help file for the end user.
It can be an HTML or PDF file.
The PDF version now allows navigation through automatically generated links.
Revamped setup program
The auto-generated setup program of your WINDEV applications looks better than ever!
The interface has been revised, and a modern style has been applied for a more user-friendly feel.
Install: available update notification while using the application
When an update becomes available for an application that is in use, an automatic toast message can be displayed.
The toast message gives the user two options:
- perform the update immediately,
- get a reminder next time they start the application.
This toast message lets the user know when an update is available.
It appears when the application is running, at the bottom right of the screen
- Active filters are preserved in the Push setup administrator when the list of computers is refreshed.
Combine 2 existing sets of elements: Desktop application and Website
By integrating a website into a window in a desktop application, you can share existing elements and boost productivity.
Integrate a WEBDEV page into a WINDEV window
WINDEV's new "WEBDEV Page" control allows you to integrate a website into a WINDEV application, and to interact with this site programmatically.
Simply specify the URL of the page to insert.
The window that contains the control interacts with the page via browser procedures.
These procedures are accessible in the WINDEV code editor and benefit from code completion.
Interaction: call page procedures from the window
The WEBDEV page procedures that can be called from a WINDEV window must be declared in a shared interface.
These procedures can make AJAX calls to the server.
Code in the WEBDEV page
Code in the WINDEV window
Interaction: call window procedures from the page
The WINDEV procedures that can be called from the WEBDEV page must be declared in a shared interface.
This interface generates a configuration file.
This configuration file must be provided to the WEBDEV environment, which will then allow you to natively call the procedures.
You will be able to call the window procedures directly from the code of the Browser procedures of the page.
New layout available for the WEBDEV page
A web page can contain menus, an ad banner, style controls, a footer with the legal notice...
This information may no longer be useful when the page is integrated into a WINDEV application.
To solve this, a new type of layout specific to the WINDEV and WINDEV Mobile integration is now available in WEBDEV. This layout allows you to avoid displaying certain information.
Security: first level
The page and the window must exchange data in a secure way.
To start with, navigation in the WEBDEV page is limited to the domain of the URL provided in the application: this eliminates the risk of cross-site scripting attacks (XSS).
If the WEBDEV page contains sensitive data, there are several methods to secure access to the page:
- Setting up an authentication method with Windows session login credentials (Single sign-on (SSO))
- Requesting site login credentials at the start of the session and storing the encrypted login information in memory
- Requesting site login credentials every time the user tries to access the page, etc.
This information is then sent through a secure HTTPS URL.
Security: second level
You can implement additional security features.
Two-factor authentication, with a code sent via email, for example.
IP address-based restriction can also be easily implemented.
Seamlessly webify existing resources
Many new development projects are intended for the Web.
However, most existing projects consist of Windows applications.
Integrating a website into a WINDEV window is a major step to preserve and webify a company's software assets without sacrificing functionality.
This allows for rapid, agile, risk-free, step-by-step progress.
Common new features
WINDEV's environment benefits from the common new features in version 28.
In particular: Modern UI, live data for images in the 7-tab window, new control sizing handles, snap-on feature using the keyboard, new style selection window, etc.
- When creating a project, the 64-bit mode and the use of Unicode strings are enabled by default.
- The "buffer security check" mode is enabled for 64 bit-executables.
A host of new features
The WINDEV window editor benefits from the following new features: snap-on feature with the keyboard, more user-friendly control handles, new style editing window, custom shortcuts, ...
In version 28, you can easily copy and apply formatting to controls: the format painter is available in the style sheet editor.
Context menu of controls: better, more efficient
The context menus of the window and page editors have been completely revised for a better experience.
UI error: new errors detected
- If a table does not support per-pixel scrolling, the editor shows an error and prompts you to fix it with one click.
- Context menu: if two menu options have the same value (defined in the 7-tab window), a UI error is generated.
- If a window opened with Info, YesNo, or similar functions is not customized, a UI error appears. A custom window provides a better user experiences because it allows the use of AAFs: timer...
Move towards a modern, well-spaced UI design language
New features in the editor in version 28 allow you to automatically modify existing UIs and meet current expectations: spacing and resizing.
Enlarge the font and the host control
Current UIs tend to use larger fonts in the different controls.
In version 28, the font size of all the controls in a window can be automatically increased. This avoids having to change the skin template and resize controls one by one.
When the font is resized, all the controls are automatically enlarged and moved to preserve the current layout. The window itself is also enlarged.
Spacing of controls
Another current design trend is to increase spacing between the controls in a window.
A new feature analyzes the spacing between controls in an existing window, and shifts the coordinates of each control using a given factor, expressed as a percentage.
For example, 20% spacing shifts the controls by 20%.
The window will also be resized using the same factor.
Windows 11 skin template
WINDEV 28 includes a skin template that follows the main Windows 11 UI design guidelines.
Use this skin template to obtain a Windows 11 layout immediately.
See new feature 212.
Touch-friendly skin template
WINDEV 28 includes a specific skin template for touch-friendly UIs.
This skin template adapts all clickable areas: bigger buttons, combo box arrows, check boxes, radio buttons, input areas...
For example, this skin template can be used to easily create interactive kiosks, restaurant kiosks, interactive screens for the real estate industry...
See new feature 212.
RAD: RAD details of the analysis
For each item, the data model editor allows you to specify information that can be used in the RAD methodology: type of control to be generated, content of the control, general properties...
The RAD will use this information to generate windows and pages.
In version 28, you can differentiate this information by platform: PC, Web, Mobile.
Grant rights to upload applications
In version 28, the Supervisor can authorize one or more users to upload applications to the Store.
End user: Seamless transition from setup on the network to setup on the Private Store
Today, in many organizations, applications are installed via a setup file on the network.
When an application already deployed via the network becomes available on the Private Store, end users do not need to download the application again.
The application will automatically switch to the Store's Live Update system for future updates.
Name setup files
In version 28, you can rename the setup files of applications available on the Private Store.
End user: setup mode
For security reasons, Internet browsers prevent executables from automatically running on the PC.
The steps to run an executable may be different depending on the browser.
The Private Store download page now shows a step-by-step guide for the corresponding browser.
"All/None" option for check box columns: Now available by default
In tables with check box columns, an option appears automatically in the table header.
End users can use this check box to select or clear all the check boxes in the column.
In version 28, you can perform homonymic copies (<=) in Java with advanced types. This operation allows you to copy data between elements with the same name, even if they belong to objects of different type: Chrono, DiskFile, Color, etc.
9 New Java functions
WLanguage offers 9 new functions for Java.
You can programmatically define preset actions on buttons: open a window, send an email, cut, copy, paste,...
In version 28, the ExecutePresetAction
function becomes available.
The 64-bit execution mode becomes the standard. The 32-bit mode is not supported in version 28. To use this mode, compile your application in version 27 (accessible from version 28).
58 New Linux functions, 30 new Linux constants for WINDEV
WLanguage offers 58 new functions and 30 new constants (seen online help) for Linux.
.NET 6 support
Good news for developers who use assemblies: .NET6 is now supported.
Assemblies: choose the .NET framework version to use
There are more and more versions of the .NET framework.
Now you can specify the framework version to be used in a WINDEV project that uses .NET assemblies.
If this version is not available on the user's computer, an error is displayed.
Assembly generation: choose the target .NET framework
In a WINDEV project that generates .NET assemblies, you can specify the target framework version: version 5 or 6.
Common new features
The language is the cornerstone of the development.
In version 28, WLanguage in WINDEV is further enriched.
It benefits from common new features and many useful improvements: AI contour detection, new undetectable type for strings, ability to add appointments, image straightening, improved introspection, automatic OCR on an area, ...
See new features 114 to 147.
33 new constants
33 new constants are available in WLanguage in version 28:
19 new types
19 new types of variables are available in WLanguage:
8 new properties
8 new WLanguage properties are available for WINDEV.
13 new functions for the DiskFile type
WLanguage offers 13 new functions for the DiskFile
80 new WLanguage functions for WINDEV
80 new WLanguage functions are available for WINDEV in version 28:
|AIDetectContour||Detects the contours of the shapes in an image.|
|AIDetectDrawing||Classifies freehand drawings, including circles, squares and triangles.|
|Belgium.CheckCBE||Checks the validity of a CBE number (identifier from the Crossroads Bank for Belgian Enterprises).|
|Belgium.CheckEU||Checks the validity of a EU number (Belgian Establishment Unit number used to identify companies).|
|Belgium.CheckNISS||Checks the validity of a NISS number (Belgian social security identification number).|
|BitcoinValidAddress||Checks whether a Bitcoin wallet address is valid.|
|Brazil.CheckCNPJ||Checks the validity of a CNPJ number (company identification number in Brazil).|
|Brazil.CheckCPF||Checks the validity of a CPF number (personal identification number in Brazil).|
|Canada.CheckBN15||Checks the validity of a Canadian 15-digit Business Number (BN15).|
|Canada.CheckBN9||Checks the validity of a Canadian 9-digit Business Number (BN9).|
|Canada.CheckSIN||Checks the validity of a Canadian Social Insurance Number (SIN).|
|CapitalizeEachWord||Capitalizes the first letter of all words in a string.|
|ComponentExecute||Executes a global procedure present in an external component. This external component is loaded with ComponentLoad.|
|dDessinChamp||Dessine un champ dans une image.|
|DeMergeCellSpreadsheet||Removes the cell merge for the specified cell or for the selected cell in an Spreadsheet control.|
|DiagramSearch||Searches for shapes containing a specific text in a diagram.|
|dModifyContrast||Changes the contrast of an image contained: |
- in an Image control,
- in an Image variable.
|DocFindElementByName||Searches for an element by its name in a Word Processing document.|
|DocPositionTopPage||Returns the position of the first character in a given page in a Text Processing control.|
|dStraighten||Transforms an image by applying perspective correction.|
|dTextMarkdown||Draws Markdown text:|
- in an Image control,
- in an Image variable,
- in a WDPic variable (on the background layer),
- in a picLayer variable].
|EmulateDnD||Emulates a "Drag & Drop" gesture in automated tests.|
|ExecuteFunction||Executes a WLanguage function identified by its name.|
|ExecuteMainThreadAsynchronous||Executes a procedure in the main thread of the application without waiting for the end of its execution.|
|fBuildRelativePath||Returns the path to a file relative to a reference directory.|
|fChangeExtension||Changes the extension of a file on disk.|
|fMIMEType||Returns the type of file according to the MIME standard (Multipurpose Internet Mail Extensions).|
|France.CheckINSEE||Tests the validity of an INSEE number (identification number of physical persons assigned by the National Institute of Statistics and Economic Studies - Institut National de la Statistique et des Etudes Economiques).|
|France.CheckSIREN||Checks the validity of a French SIREN number (Système d'Identification du Répertoire des Entreprises).|
|France.CheckSIRET||Checks the validity of a French SIRET number (Système d'Identification du Répertoire des Etablissements).|
|GenerateGeometricImage||Randomly generates an image with geometric shapes. This image can be used to temporarily fill an Image control, for example.|
|Germany.CheckIdNr||Checks the validity of an IdNr (personal identification number in Germany).|
|Germany.CheckUStIdNr||Checks the validity of a USt-IdNr (company identification number in Germany).|
|HDropView||Removes a materialized view from the HFSQL server.|
|HTMLToPDF||Converts an HTML string or buffer to a buffer containing a PDF document.|
|IBANValid||Checks the validity of an International Bank Acount Number (IBAN).|
|iPrintAreaMarkdown||Prints Markdown text in a rectangular area. |
|Italy.CheckCF||Checks the validity of a CF number (personal identification number in Italy).|
|Italy.CheckIVA||Checks the validity of an IVA number (company identification number in Italy).|
|JSONValid||Checks the validity of a JSON string.|
|KanbanAddCard||Adds a card to a list in a Kanban control.|
|KanbanAddList||Adds a new list to a Kanban control.|
|KanbanCount||Returns the number of cards or lists in a Kanban control.|
|KanbanDeleteAllCard||Deletes all cards from a Kanban control or Kanban List control.|
|KanbanDeleteCard||Deletes a card from a Kanban control or from a Kanban List control.|
|KanbanDeleteList||Deletes a list from a Kanban control.|
|KanbanInfoXY||For a given position (coordinates of a point) in a Kanban control, returns one of the following:|
- the number of the card at that position,
- the number of the list at that position
|KanbanMoveCard||Moves a card in a Kanban control.|
|KanbanPositionList||Allows you to scroll through a list of a Kanban control to display a specific card.|
|KanbanToImage||Exporte un champ Kanban vers une variable de type Image.|
|MarkdownToDOCX||Converts a Markdown string to a DOCX file.|
|MarkdownToHTML||Converts a Markwdown string to an HTML buffer (encoded in UTF-8).|
|MarkdownToPDF||Converts a Markdown string (or buffer) to a buffer containing a PDF document.|
|MarkdownToText||Converts a Markdown string to plain text (without tags).|
|ModbusSendFrameBrute||Sends a raw frame to a Modbus slave. This makes it possible to communicate with PLCs that have non-standard functionality.|
|MongoExecuteLotOperations||Performs a set of set MongoDB operations in batch. This avoids network latencies that could occur by performing the operations sequentially.|
|OpenAPIToHTTP||Builds the HTTP request to call a function of an API. It can then be sent using HTTPSend.|
|PDFReaderGoToBookmark||Sets the position directly on the desired bookmark in the PDF document.|
|PicRectangularSnip||Captures a rectangular area defined with the cursor and retrieves the image in a variable of type Image.|
|PicRectangularSnipOCR||Runs OCR and extracts the text from a rectangular area defined with the mouse.|
|RoundToMultiple||Returns a numeric value rounded to the nearest multiple of another numeric value.|
|SCPGetFile||Gets a file via the Secure Copy Protocol.|
|SCPSendFile||Transfers files via the Secure Copy Protocol.|
|SocketConfigure||Configures the use of Socket functions.|
|Spain.CheckDNI||Checks the validity of a DNI number (personal identification number in Spain).|
|Spain.CheckNIF||Checks the validity of a NIF number (company identification number in Spain).|
|Switzerland.CheckBER||Checks the validity of a BER number (company identifier in the Swiss Business and Enterprise Register).|
|Switzerland.CheckOASI||Checks the validity of a Swiss Old-Age and Survivors' Insurance Number (OASI).|
|Switzerland.CheckUID||Checks the validity of a UID number (Swiss business identification number).|
|UnitedStates.CheckEIN||Checks the validity of a U.S. Employer Identification Number.|
|UnitedStates.CheckFEI||Checks the validity of a U.S. Firm Establishment Identifier.|
|UnitedStates.CheckSSN||Checks the validity of a U.S. Social Security Number.|
|UTFConvert||Converts a string or buffer to the specified format: UTF, ANSI, Unicode.|
This page is also available for…