Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There is a centralized view called the Project Dashboard - if you don't see it you can choose it from Project | Project Dashboard.

Image RemovedImage Added

WinDev is designed to be a full-fledged project management system as well as a programming tool, so you'll find indicators on the dashboard of the overall "health" of your project. The above screen shows the dashboard in Developer mode. You can also switch to Project Manager mode to get an overview of project requirements and their status. 

...

Like Clarion, WinDev has the ability to import a database and generate a fully functional browse/form style application. I began by choosing File | New... and choosing Project. This brought up the project wizard.

Image RemovedImage Added

I made this a Windows application. 

Image RemovedImage Added

It's possible to defer the choice of platform until later.

Image RemovedImage Added

As WinDev has project management support built in, I had the option of providing an estimated delivery date. 

Image RemovedImage Added

I selected a single user rather than a team environment, and then had a choice of charters

Image RemovedImage Added

A charter is a set of prefixes automatically attached to different kinds of functions and labels - think of it as a built in naming convention. There is just one predefined set which you can see by clicking on the Edit button:

Image RemovedImage Added

There are naming conventions for project elements, window, page and report controls, and also for variables, where you can specify values for variable type and scope. These naming conventions apply to anything WinDev creates for you. 

I'll skip some of the screen shots for the sake of space - there are a number of visual styles you can choose from, you can specify preferred and maximum window sizes, as well as internationalization/localization options. For the latter a wide range of language support is built in:

Image RemovedImage Added

And at last, the database. I wanted to use an existing PostgreSQL database. 

Image RemovedImage Added

I didn't have an existing analysis for that database (in Clarion terms, a data dictionary) so on the following screens I indicated I wanted to import my tables from the database. 

When it came time to choose my database I selected PostgreSQL, but as the selection window scrolls (I'm showing it here in its entirety) I missed the fact that I could select multiple databases at once, and that the default HyperfileSQL Classic database is already selected. So I had to go back and uncheck that option. 

Image RemovedImage Added

For Postgres there are two connection options: Native and ODBC via OLEDB. I had some trouble using the ODBC route (perhaps due to configuration problems on my end), so eventually I downloaded and installed the native PostgreSQL access module, and that worked. 

...

The wizard then showed me a list of available tables.

Image RemovedImage Added

There's also a nice little "Preview the data" link that will bring up the records for the selected table. 

I chose three related tables, but which did not have the relationships defined in the Postgres database. WinDev created a database diagram:

Image RemovedImage Added

which was immediately overlaid with an application wizard.

Image RemovedImage Added

I clicked on Full Application RAD and was presented with a further choice of RAD pattern. There were five of these, four of which offered varying degrees of animation and other flashy effects. I went with Simple RAD. 

Next I had the option of selecting files for generation:

Image RemovedImage Added

I left all selected. A similar screen appeared asking me which files to use as main menu items. Again I stayed with all files. 

...

Next, a help (or ?) menu. 

Image RemovedImage Added

That seemed like a good idea. I accepted the default entries for the ? menu:

Image RemovedImage Added

WinDev offered to generate the help file automatically. 

...

On the Project Dashboard I clicked on the languages button and removed those two languages. When I clicked OK WinDev compiled the app again. Now I had just three errors, still related to the languages. 

Image RemovedImage Added

This was due to a too-narrow report column, which I easily fixed by double-clicking on the error and changing the size of the column, which conveniently had its grab handles showing. 

I ran the program by clicking the Go icon. Nothing too fancy given my choice of Simple RAD:

Image RemovedImage Added

Each menu provided two items, one for the list and one for a new record form. Here's the articles list:

Image RemovedImage Added

Note

In the database all my labels are lower case, as having mixed case labels in Postgres means you always have to refer to them in exactly that case. (It's one of the few unpleasant quirks in what is otherwise a massively useful SQL product.) 

The update form is similarly plain.

 

Image RemovedImage Added

Note

By default at least, WinDev creates SDI applications, although MDI is supported. For SDI you have the option of automatically dimming all windows other than the active window. 

...

Right-clicking on the listbox brings up a context menu that allows you to select columns to display, copy data, and export to Word, Excel and XML. 

Image RemovedImage Added

There's a charting option as well, but it only appears to work on the first 50 records. Perhaps that's configurable. 

You can also dynamically add calculations to numeric columns: sum, count and average. Thse will be added to the bottom of the column. On large data sets it can take a while for these values to appear. 

Image RemovedImage Added

All of which brings up the question of paged data retrieval. Clarion developers are accustomed to paged data retrieval, which brings the benefit of better performance on large data sets and introduces many complications when you want to do things like totals on data not entirely in memory. By default WinDev, like many other data retrieval tools, just brings back whatever you tell it you want, so it's up to you to use appropriate filters on your data sets. I'm told there is an equivalent to page loading available within WinDev, although it has some limitations. You can also build your own paging support, if you wish - Unlicensed user has demonstrated this in a WxLive webinar

Just for fun, I regenerated the application using the Antakara pattern and got something rather different. Here's a browse with an open form (note that the browse is automatically dimmed):

Image RemovedImage Added

The Ankara pattern adds a calendar, a ToDo list, and some graphics as standard equipment.

...

Like Clarion, WinDev lets you insert your own code into the generated code. Just right-click on any window or report and choose Code...

Image RemovedImage Added

You'll get a view that looks a bit like the Clarion embed editor. In this screen shot I've pressed F6, which shows a sidebar with the initials and date of the latest source change. This can be very helpful in a team environment when you're trying to find out who made a change and for what purpose. 

Image RemovedImage Added

By default the code view shows available code points for the item on which you clicked (window, individual control, etc.). You can toggle the display of all code points with Ctrl-F6 or via the Code menu. 

...

The report design also bears some similarity to the Clarion designer. 

Image RemovedImage Added

To add a new report element, right-click at the desired location on the report and choose Add a block:

Image RemovedImage Added

Then choose a block type:

Image RemovedImage Added

You can also add sorts and breaks:

Image RemovedImage Added

Code reuse

One of the most important aspects of modern application development is code reuse. Naturally, windows, reports, and their associated code can be reused. But you can also create smaller and larger units of reusable code.

...