ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / New features / New features in version 28
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
See the 928 new features (PDF)

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: indispensable 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.
  • Badge.
  • Address autocomplete.
Remember: Smart controls are delivered with their source code, so they can be fully modified and customized.
New Smart control: token entry with list
The "Multi-selection with tokens" Smart control allows you to select one or more tokens from the list.
Multiple selection with tokens
Multiple selection with tokens
New Smart control: badge display
The "Badge" Smart control shows a badge (small circle with a number) on a given control.
A badge draws attention to a counter: number of pending orders, etc..
The chip displaying the number can be positioned on any type of field: button, label, image, etc....
Here, the badge (red circle with the number) appears on a Button control
Here, the badge (red circle with the number) appears on a Button control
New Smart control: address completion
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
Several address suggestions appear when the end user starts typing
Image columns: improved presentation
The presentation of Image columns has been improved in version 28: by default, a margin is present around the image, making the table more harmonious..
WLanguage on Table field: 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: field labels, column headers, menu options, tooltips, etc.
You can now format all the text in your applications
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
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.
For more details, see Markdown.
Undockable tabs: 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.
Pictos and tab labels: margins!
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
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!
A clean layout at runtime:
no more icons touching the borders!
Button field: frame customization
A Button field can contain frames, whose appearance can vary depending on the state of the button: pressed, hovered, etc.,...
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
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 proposed in the code editor: "After OCR", which allows you to retrieve the text and carry out the desired processing.
  • A new button allows you to scan and automatically retrieve the image
  • An 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 now choose how the icon's content is displayed: framed, homothetic...
Scientific input mask
A new mask for Numerical 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 field: new separator with label
A menu can contain one or more separators.
In version 28, this separator can contain a text.
The menu separator can now include text
The menu separator can now include text
Menu field: visual options
You can define "5-state" icons (e.g. buttons) in the menu options via the-7 tab window or programmatically.
5-state icon
5-state icon
Combo Box control: rounded frames, netted frames, custom hover banner
In version 28, the expanded area of a Combo Box can be customized:
  • border
  • hover bar
  • row height
  • ...This allows you to create modern, sleek Combo Box controls.
A clean Combo Box...
A clean Combo Box...
Static Text control: rotated display
Static Text controls can now be rotated. This rotation is specified in the "Style" tab of the 7-tab window.
Rotated text (in red)
Rotated text (in red)
Edit control: new event for input assistance
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.
This new feature allows you to assign a different value to the Edit control than the one displayed in the Help window: for example, an acronym,...
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: notification of available updates while the application is running
You can set an automatic toast message to let the user know that an update is available, if the application is in use.
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
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
Install: miscellaneous
  • Active filters are preserved in the Push installation administrator when the list of computers is refreshed.
Combine 2 existing applications: 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: the window calls page procedures
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 sample:
Code in the WEBDEV page
// Declarations
implements Interface_containing_accessible_methods_of_the_page
uses Interface_containing_the_available_callbacks_from_page_to_window
// Use
MyHostControl.ACallback()
Code in the WINDEV window
// Declaration
uses Interface_containing_accessible_methods_of_the_page
implements Interface_containing_the_available_callbacks_from_page_to_window
// Use
WEBDEV_Page_control.Page.APageProcedure()
Interaction: the page calls window procedures
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.
Safety: first level
The page and the window must exchange data in a secure way.
First of all, by default, WEBDEV page navigation is limited to the URL domain provided in the application: this eliminates XSS (Cross-Site Scripting) attacks.
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.
Safety: 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.
Miscellaneous
  • 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
WINDEV's window editor benefits from common new features: keyboard object snapping, more ergonomic field handles, new style editing window, customizable shortcuts, etc.
Format painter
In version 28, copying a style from one field to another becomes very simple: the style copy brush is active in the style sheet editor.
Context menu for fields: it's more efficient
The context menus of the window and page editors have been completely revised for a better experience.
UI error: new errors reported
  • 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 2 menu options have the same value (defined in the 7 tabs), a UI error is generated.
  • If a window opened with Info, YesNo, or similar functions is not customized, a UI error appears. A customized window is more user-friendly because it allows the use of AIFs: timers...
Move towards a modern, well-spaced UI design language
In version 28, new editor functions enable existing UIs to be automatically modified to meet today's requirements: spacing and enlargement.
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.
For more details, see Enlarging a window.
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.
For more details, see Spacing out a selection of controls.
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 zones: large buttons, large combo arrows, large switches/pickers, input zones, etc....
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: RAD analysis info
The Analysis Editor lets you specify information for the ARD for each item: type of field to be generated, field content, general field properties, etc....
The RAD will use this information to generate windows and pages.
Version 28 differentiates 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 historical Network install to Private Store install
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: installation instructions
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.
Check "all/no" in the switch columns: now it's automatic
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.
Homonymic copy
In version 28, homonymic copy (<=) works in Java on advanced types: Chrono, FichierDisque, Couleur, ...
.NET 6 support
Good news for developers who use assemblies: .NET6 is now supported.
Using assembly: choosing which version of the dotNet framework 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: choosing the .NET framework to target
A WINDEV project generating DotNet assemblies can specify the framework version to be used when using these assemblies: version 5 or version 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 a number of useful evolutions: AI-based edge detection, new type of undetectable chain, addition of appointments, straightening an image in perspective, evolution of introspection, automatic OCR on zone, etc., ...
See new features 114 to 147.
33 new constants
33 new constants are available in WLanguage in version 28:
orgDateTimeFirstVisiblecharsetUnicodecharsetUTF16BE
charsetUTF16LEcharsetUTF32diagActionNone
diagActionAlldiagModeFreehandDrawingdiagModeSelection
aafPrintDiagramaafPvtCollapseAlldfMarkdown
dfRTFdfPlainTextfrelSubdirectoryOnly
ftpProxySOCKS5grPolarAreah4G
h5GhPrimaryKeyhCloud
iListOutputiMarkdownmaskBitcoin
maskScientificuseModeOCRsocketConfigureMode
tsWaitingtypKanbantypKanbanList
wlProjectElementwlDataFilewlUntyped
8 new properties
8 new WLanguage properties are available for WINDEV.
CardAutoCorrectExtra
DisplayFormatIgnoreErrorMarkdown
EditModeNullableIndex
13 new functions for the DiskFile type
80 new WLanguage functions for WINDEV
80 new WLanguage functions are available for WINDEV in version 28:
AIDetectContourDetects the contours of the shapes in an image.
AIDetectDrawingClassifies freehand drawings, including circles, squares and triangles.
Belgium.CheckCBEChecks the validity of a CBE number (identifier from the Crossroads Bank for Belgian Enterprises).
Belgium.CheckEUChecks the validity of a EU number (Belgian Establishment Unit number used to identify companies).
Belgium.CheckNISSChecks the validity of a NISS number (Belgian social security identification number).
BitcoinValidAddressChecks whether a Bitcoin wallet address is valid.
Brazil.CheckCNPJChecks the validity of a CNPJ number (company identification number in Brazil).
Brazil.CheckCPFChecks the validity of a CPF number (personal identification number in Brazil).
Canada.CheckBN15Checks the validity of a Canadian 15-digit Business Number (BN15).
Canada.CheckBN9Checks the validity of a Canadian 9-digit Business Number (BN9).
Canada.CheckSINChecks the validity of a Canadian Social Insurance Number (SIN).
CapitalizeEachWordCapitalizes each word in a specified string.
ComponentExecuteExecutes a global procedure present in an external component. This external component is loaded with ComponentLoad.
dDessinChampDessine un champ dans une image.
DiagramSearchSearches for shapes containing a specific text in a diagram.
dModifyContrastChanges the contrast of an image contained:
  • in an Image control,
  • in an Image variable.
DocFindElementByNameSearches for an element by its name in a Word Processing document.
DocPositionTopPageReturns the position of the first character in a given page in a Text Processing control.
dStraightenTransforms an image by applying perspective correction.
dTextMarkdownDraws Markdown text:
  • in an Image control,
  • in an Image variable,
  • in a WDPic variable (on the background layer),
  • in a picLayer variable.
EmulateDnDEmulates a "Drag & Drop" gesture in automated tests.
ExecuteFunctionExecutes a WLanguage function identified by its name.
ExecuteMainThreadAsynchronousExecutes a procedure in the main thread of the application without waiting for the end of its execution.
fBuildRelativePathReturns the path to a file relative to a reference directory.
fChangeExtensionChanges the extension of a file on disk.
fMIMETypeReturns the type of file according to the MIME standard (Multipurpose Internet Mail Extensions).
France.CheckINSEETests 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.CheckSIRENChecks the validity of a French SIREN number (Système d'Identification du Répertoire des Entreprises).
France.CheckSIRETChecks the validity of a French SIRET number (Système d'Identification du Répertoire des Etablissements).
GenerateGeometricImageRandomly generates an image with geometric shapes. This image can be used to temporarily fill an Image control, for example.
Germany.CheckIdNrChecks the validity of an IdNr (personal identification number in Germany).
Germany.CheckUStIdNrChecks the validity of a USt-IdNr (company identification number in Germany).
HDropViewDeletes a materialized view from the HFSQL server.
HTMLToPDFConverts an HTML string or buffer to a buffer containing a PDF document.
IBANValidChecks the validity of an International Bank Acount Number (IBAN).
iPrintAreaMarkdownPrints Markdown text in a rectangular area.
Italy.CheckCFChecks the validity of a CF number (personal identification number in Italy).
Italy.CheckIVAChecks the validity of an IVA number (company identification number in Italy).
JSONValidChecks the validity of a JSON string.
KanbanAddCardAdds a card to a list in a Kanban control.
KanbanAddListAdds a new list to a Kanban control.
KanbanCountReturns the number of cards or lists in a Kanban control.
KanbanDeleteAllCardDeletes all cards from a Kanban control or Kanban List control.
KanbanDeleteCardDeletes a card from a Kanban control or from a Kanban List control.
KanbanDeleteListDeletes a list from a Kanban control.
KanbanInfoXYFor 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
KanbanMoveCardMoves a card in a Kanban control.
KanbanPositionListAllows you to scroll through a list of a Kanban control to display a specific card.
KanbanToImageExporte un champ Kanban vers une variable de type Image.
MarkdownToDOCXConverts a Markdown string to a DOCX file.
MarkdownToHTMLConverts a Markwdown string to an HTML buffer (encoded in UTF-8).
MarkdownToPDFConverts a Markdown string (or buffer) to a buffer containing a PDF document.
MarkdownToTextConverts a Markdown string to plain text (without tags).
ModbusSendRawFrameSends a raw frame to a Modbus slave. This enables communication with devices that do not strictly comply with the Modbus standard.
MongoExecuteOperationsPerforms MongoDB write operations in bulk. This allows you to avoid network latency issues you would encounter if you performed the operations individually.
OpenAPIToHTTPBuilds the HTTP request to call a function of an API. It can then be sent using HTTPSend.
PDFReaderGoToBookmarkSets the position directly on the desired bookmark in the PDF document.
PicRectangularSnipCaptures a rectangular area defined with the cursor and retrieves the image in a variable of type Image.
PicRectangularSnipOCRRuns OCR and extracts the text from a rectangular area defined with the mouse.
RoundToMultipleReturns a numeric value rounded to the nearest multiple of another numeric value.
SCPGetFileGets a file via the Secure Copy Protocol.
SCPSendFileTransfers files via the Secure Copy Protocol.
SocketConfigureConfigures the use of Socket functions.
Spain.CheckDNIChecks the validity of a DNI number (personal identification number in Spain).
Spain.CheckNIFChecks the validity of a NIF number (company identification number in Spain).
SpreadsheetUnmergeCellUnmerges the specified or selected cell in a Spreadsheet control.
Switzerland.CheckBERChecks the validity of a BER number (company identifier in the Swiss Business and Enterprise Register).
Switzerland.CheckOASIChecks the validity of a Swiss Old-​Age and Survivors' Insurance Number (OASI).
Switzerland.CheckUIDChecks the validity of a UID number (Swiss business identification number).
UnitedStates.CheckEINChecks the validity of a U.S. Employer Identification Number.
UnitedStates.CheckFEIChecks the validity of a U.S. Firm Establishment Identifier.
UnitedStates.CheckSSNChecks the validity of a U.S. Social Security Number.
UTFConvertConverts a string or buffer to the specified format: UTF, Ansi, Unicode.
Minimum version required
  • Version 28
Comments
Click [Add] to post a comment

Last update: 10/04/2024

Send a report | Local help