Simplicty and flexibility!

-

Visitors: 15,919,661

Radioboxes - how to filter on them and clear them

Download Sample

You can of course add a choice (default maybe) that is None or something like...

Written by DataEase 01/02/21 at 11:08:34 Dataease [{8}]FIVE

DE9 - A quick preview of the NEW interactive DQL editor.

Just a quick preview to show you all that we are not just relaxing here at DataEase

As you can see it is just a simple test done in the "horrible" Club ParaDEASE. Enjoy

Written by DataEase 18/11/20 at 21:06:06 - 4 people have commented. The newsest comment is 1,274 days old. DataEase 9 Developer

How to edit RDRR file to connect lost files.

All of you will at some stage get the problem when you change a form/table that it crash and the file is "lost". 

it is never lost.

The data is still there in a Temp Form XXX table. The problem is that the change crashed in the mi...

Written by DataEase 10/09/20 at 13:33:54 Dataease [{8}]FIVE

"System error: Relationship limit 255 exceeded. " - Understanding Relationships in DataEase

In regular intervals we get support request in regards to this message and what you can do to increase the limit to OPEN relationships in DataEase.

If you are "lucky" you get this problem wi...

Written by DataEase 03/09/20 at 10:53:34 Dataease [{8}]FIVE

DE85- 100% control of the USER!

Download Sample


We got a request on the form about how to use Modal and switch between f...

Written by DataEase 19/08/20 at 14:32:40 Dataease [{8}]FIVE

100% DataEase

LegEasy4DOS Professional is a "pioneer" that showcase the future of DataEase.

No! The future is not retro, and the bit about it that is pioneering is not the fact that you can fun DataEase for DOS applications.

That feature is basically just how it should always have been and a catch-up with our history.

Take a closer look - The entire product is made IN DataEase following up on a "slogan" we had when we sat out to refurbish DataEase.

DataEase need to be made in DataEase!

LegEasy4DOS - How it works?

The interest in LegEasy4DOS has been "overwhelming" since we released it at the end of last week.

A lot of eagerly awaiting Professional clients jumped at it and the feedback was not late to come.

Most of you are overjoyed and excited by this opportunity to run DataEase for DOS in a modern environment, and more than happy to scrap your old XP computers and Novell servers that has kept you up at night with worry - when will it draw its last breath and what will I do then?

However not all feedback is good and some of you have been "disappointed" too.

Some of this disappointment is down to us having problem with our server park after the release due to an unexpected heavy load - don't they always say that - but some of you have been running bench mark tests and compared it to "Native" DfD on Native XP, WIndows 7 x32 etc. and the results has baffled you.

Why is it sometimes much slower and then sometimes much faster than the comparison?

In the article below we will try to explain this and how LegEasy4DOS is designed and how it works.

LegEasy4DOS Professional Release 05.08.16

The response to our Personal version of L4D has been fantastic and it has given us great motivation in the work leading up to the release of our long awaited Professional version of L4D.

We won't spend too much time extrapolating its virtues here but limit ourselves to announcing it's release and showcase its beauty ;-)

Further down the article you will find the FREE FOR ALL Trial Key you can use to get the first "spin" in this brand new interpretation of DataEase (for DOS).

New Support Manager and new Support Products introduced

For a long time we have been focusing on improving our software products, but we have now entered a new phase where we will focus more and more on the entire customer experience.

One issue that has been raised more often than others is the lack of a dedicated support service so this is one of the areas were we will now focus.

Last month we hired Fatma Adel as our new Support Manager. She has now had some time to settle in and are more than eager to start helping you resolve your issues.

LegEasy 4DOS - Update!

We are and should be very happy when an upcoming release of a DataEase product cause this much of a stir, but it is also a sobering moment.

We obviously still have some catching up to do with our new products before they reach the same popularity as the early versions of DataEase.

Luckily the "re-launch" of DataEase for DOS is part of our DataEase infrastructure strategy so you will now be able to run your legacy apps well into this century when at the same time integrate them with the latest DataEase technology.

Locking Strategies for dummies!

Ever wondered why you have so much trouble with inconsistency and being locked out of your DataEase database? If the answer is YES, read one and discover how you can easily remedy it.

Full, Basic, Opportunistic - What does this really mean? We get a lot of questions about which locking to choose in DataEase, and the answers we have give - are giving, have changed over the years. I guess that if this was a simple as it "should be", there wouldn't even be three options in DataEase, and we wouldn't leave this is in your hands.

I have spent quite a lot of times over the years debating and exploring this myself, and the problem is that it is more of a philosophical problem, than a technical one. Pictures this as going into a Chinese restaurant and ordering. You get a many with 500 items, and you are vaguely familiar with 3 of them, so what do you do. Choose what you know, or go for the set menu...

[{8}]five Release and Release program.

Finally...

DataEase {[8}]five went into production today and from now on it will be all about 8.5 and beyond.

We have now concluded the longest Beta program in DataEase history - 427 days or over 1 year and 2 months.

So why so little fanfare on this watershed day?

Warning! Price increase on DataEase 8 from January 1st

We are changing how we license DataEase from Januar 1st 2016.

In short we will stop dividing licenses (and executables) in Developer (Full) and GROUP (Runtime) and introduce a simple User License and one executable that will be either a development environment or a Application Launcher based on the users privileges.

The change might seem dramatic at first, but you will get much more functionality and flexibility.

This is just an early warning to those of you that plan to buy DataEase 8 in the near future, more information on the change in product and licensing strategy will follow.

Dynamic Design - A New paradigm in DataEase development

ExecDQLClass(), CreateTable(), AddColumn()* signify a complete breach with previous DataEase thinking.

From its infancy in the early 80ies and throughout its life until DE8 there was a clear divide in DataEase between Design and Runtime. (At least in the head of the designers, but the fact that most people used it interactively and added and changed to it in real time was not taken into account)

Tables, Scripts, Forms, Reports was froozen in runtime and there was few if any way you could make your application dynamic.

How this has changed in 8....

How to create CDFs for use in DE8/DG3

This is how you create your own CDFs using Visual Studio 2013. I selected to use this version because any one can get a full version for free as long as you register with MicroSoft. You should be able to recreate this in any version of Visual Studio in almost the same way as described here. Not much has changed in creating Windows DLLs in the last 20 years. You probably can do the same using other compilers as MinWin GCC and Embarcadero, but that is outside the scope of this document.

Migrating from DFW 5.x and 6.x to DE8.5 including National Versions

If you want to encompass DataEase problems in one word it must be Migration. It is fascinating that a company that has had so little success with this concept, has sworn to it for such a long time.

It is a badly hidden secret that DataEase lost most of it users in the flawed and bodged migration of DFD application to early DFW, what is maybe not so well know is all the other "unsuccessful" migration events.

In this article we will explain what/why and how it went wrong and what you can do to work around it.

We reached our 1.000.000 visitor today 23rd of February 2015

At the beginning of the year we had estimated that we would get our 1.000.000 visitor at the 6th June this year, but with the Beta of 8.5 and the great feedback we have seen both visits on our website and sales sky-rocket and we reached the 1.000.000 threshold more than a Quarter ahead of schedule!

We just have to thank you all for your patience with us, and for your contributions and support throughout the last couple of years since we took charge.

We both hope and feel that our efforts and enthusiasm for DataEase has been well received and are reciprocated by you all!

A wholehearted thank you to your all from "The DataEase Team".

NEW! Functions in DataEase 8.0 to 8.5 (Page 1)

Some of you might be aware of it but it seems a lot isn't so it might be time to advertise a little the vast number of new functions and functionalities that has been added to DataEase 8.0 through 8.5.

For a long time the only way new functions found their way to DataEase was through active and ingenious users which developed CDF's. As much as the CDF's alleviated the obvious short-comings in DataEase 5.x to 7.2 it was cumbersome, undocumented and "secretive" i.e. not everyone was in the know.

With 8.x we decided that the focus needed to be on moving DataEase forward, rather than the constant dance around the "bug fixing" fire.

Have a look and a try for yourself.

Due to the number of new functions we had to publish the short description in two articles, of which this is the last.

Also have a look on the blog synopsis found in the list to the right.

NEW! ?Functions in DataEase 8.0 to 8.5 (Page 2)

Some of you might be aware of it but it seems a lot isn't so it might be time to advertise a little the vast number of new functions and functionalities that has been added to DataEase 8.0 through 8.5.

For a long time the only way new functions found their way to DataEase was through active and ingenious users which developed CDF's. As much as the CDF's alleviated the obvious short-comings in DataEase 5.x to 7.2 it was cumbersome, undocumented and "secretive" i.e. not everyone was in the know.

With 8.x we decided that the focus needed to be on moving DataEase forward, rather than the constant dance around the "bug fixing" fire.

Have a look and a try for yourself.

Due to the number of new functions we had to publish the short description in two articles, of which this is the first.

Also have a look on the blog synopsis found in the list to the right.

Start your own thread!

03/10/24 22:55:38

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

Read the posts then it would be clear that for this example the ObjectName = the fieldname as is the default for any new field created.

So, yes, the ObjectName has been used as stated in the rather abbreviated 'documentation' for SetState which refers to options for 'Enable' / 'Disable'

What is not clear is whether Enable/Disable is the same as Allow Entry / Disable Entry?

As was also stated is that the function was tested with the following options and does not work to Allow entry

SetState("ObjectName", "Enable") ; SetState("ObjectName", "3") and SetState("ObjectName", 3)

Either this implies that Enable/Disable is not the same as Allow Entry/ Disable Entry or the function does not work in LE9

...

Product: LegEasy 9 Developer

Written by: Sam Bird

03/10/24 18:24:29

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

To be honest, I'm not sure we follow.

It state clearly in the documentation that SetState work in OBJECT NAME and not FIELD NAME. It also state how to use it and that both "Disable", "2" and 2 works... 

This discussion is the evidence that people try to do things the wrong way for far to long before actually changing tack and questioning why it was done the way it was done 20 years ago and maybe when moving forward it would be better to think in a "modern" way, rather than hank back to the "dark ages" of DataEase at least constantly.

Personally I would have been able to make all this stuff from scratch in the same time it has taken for this discussion to unfold. 

...

Product: LegEasy 9 Developer

Written by: DataEase

03/10/24 16:34:01

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

ALSO my hint was to DataEase team too not only to Dear Sam only

I meant the question ... in a polite form pointing through the functions mentioning in old good Britain style/mood ;) 

non explicit pointing out to avoid direct conflict of interests ;)

is it clear Gentlemen ? (The Posthumous Papers of the Pickwick Club)

...

Product: LegEasy 9 Developer

Written by: Ihor Zakharchenko

03/10/24 16:30:57

https://www.dataease.com/DG3_BlogList/?ParentID=0000000264&field1=0000000264

is it possible to download the sample from the link above STILL and convert it to LE9 app ?

Thank You

...

Product: LegEasy 9 Developer

Written by: Ihor Zakharchenko

03/10/24 16:14:59

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

Agree fully but the question was as "Just another question that may be useful.

Is the SetState function Enable / Disable the same as 'Allow Entry' / 'Prevent Entry' ?

If so what is the correct syntax for SetState to do this?

Have tried SetState("FieldName", "Enable") ; SetState("FieldName", "3") and SetState("FieldName", 3) " and my hint may be will help to Dear Sam a bit.

as to philosophy then DataEase philosophy means WHAT TO DO BUT NOT HOW TO DO since 1980's

so our friend Sam will understand what I mean for sure

no hackings workarounds or hijacking in the case

simply the essence of the subject matter

Thx to DataEase team and to Ulric for Your great job.

the discussion helps me to waste the time while waiting for new LE9 release since 30/08/2024

Sorry for possible inconvenience ... very sorry

...

Product: LegEasy 9 Developer

Written by: Ihor Zakharchenko

03/10/24 16:07:30

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

Ihor, we have discussed "hijacking" threads. 

Answers should only be helpful with the matter and not philosophical etc. This is SIMPLY a forum for solving things in DataEase!!

...

Product: LegEasy 9 Developer

Written by: DataEase

03/10/24 16:00:17

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

hint: "Enable" maybe =1 in binary or 0 ; i depends what logic is ... in a chip low voltage means 1 whilehigh = 0 ;)

as to ASCII "3" =00110011

and 3 in binary = 0011

...

Product: LegEasy 9 Developer

Written by: Ihor Zakharchenko

03/10/24 15:49:41

Enable/Disable based on Global variable using SetStyle(),SetState(),SetVar(),GetVar(),MoveObject()

If a customer doesn't have a support agreement with us there is no rule that we should supply the solution to a problem the said customer is encountering in using DataEase for Development.

However we do answer questions that is of general interest. 

In this case the move from DE6 to DE9 has arisen a lot of sleeping dogs. 

We understand that it can be "convenient" if everything just stayed the same but from DE6 to DE9 there is over 20 years of development so it is more surprising if things are the same.

Our focus is on moving forward customers that has been following the upgrade path and insure they have as trouble free an experience as possible. Customers that has chosen to stay behind in older version for different reasons - DFD,DFW5, DFW6, DFW7 etc, have done so after doing a risk evaluation that might now come back to bite them.

Our development path is set, and LE9 is the version where DFW meet the future, and it is also the version that will be supported in the future for people that again choose to stay behind.

How people work with tools has also changed a lot since the days of DFD and DFW 5/6/7. Up to and including DE7.0 DataEase published printed manuals and supplied the software on physical media.

From then on everything has been online, with only documentation and online delivery.

We have written a lot about the new development in DataEase 8 and will do even more when DE9 is fully release. 

The focus will be on publishing a completely new functionality/function lexica and articles/blog on the new features with corresponding samples.

We will also open a new support forum for all customers that has paid maintenance on LE9/DE9, where they can ask a certain number of LE9/DE9 related (Product only, not application related) support questions. This forum will be read only for customers that doesn't pay maintenance.

We are also opening a new support/development centre where customers can sing both Product/Application support agreements online for a set amount of hours pro month/year.

But the main way of getting support will be for customers to find help/articles/blogs themselves online.

Most people that has worked with DE8 will be very familiar with the functions in the Set Library but we include a link to an article about this below.

https://www.dataease.com/DG3_BlogList/?ParentID=00...

...

Product: LegEasy 9 Developer

Written by: DataEase

03/10/24 15:32:27

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

We are not sure we are following you, what is the question?

...

Product: LegEasy 9 Developer

Written by: DataEase

03/10/24 11:10:11

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

The example given is in a new application with Objectnames = fieldnames.

What is the answer to the question?

...

Product: LegEasy 9 Developer

Written by: Sam Bird

02/10/24 08:44:15

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

There is a big difference between field name and object name. All GUI functions work on Object Names and is completed unrelated to the field (column). 

The problem is of course that when you rename a field it will not rename the object.

The message is not that you shouldn't move your old application to work, but simply that you should stop thinking that functions in a version 30 years old should just work the same 30 years later. There has been many iterations of DataEase since so the way forward is to find the best way to do it now rather than spend all the energy trying to do it the same way as before. 

You can most likely rebuild your forms much better faster than trying to get all the work arounds and hacks to work the same way now.

PS! Object Names are case sensitive too.

...

Product: LegEasy 9 Developer

Written by: DataEase

01/10/24 22:10:17

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

Yeah, understood that DE9 is the future but reality is in the present with LE9 to get an old app running on Win11.

Managed to sort a solution for the above print issue without the need for OML Hide/Show.

Just another question that may be useful.

Is the SetState function Enable / Disable the same as 'Allow Entry' / 'Prevent Entry' ?

If so what is the correct syntax for SetState to do this?

Have tried SetState("FieldName", "Enable") ; SetState("FieldName", "3") and SetState("FieldName", 3)

...

Product: LegEasy 9 Developer

Written by: Sam Bird

01/10/24 20:27:26

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

as to "OML show() / hide() does not carry through to printout" the solution is obvious. You transform all binaries using simple rules and methods of coding in 0 and 1 to get desired result. no stupid search in giant list of functions and etc. of modern non-effective software in comparison to old good architecture of IBM PC XT with 1 K RAM ;) IT is simply literature... illustrated by windows and mouse clicking. Is it clear ? For everybody! 

DFD is closer to coding in 1 and 0 than ... let it be an DFW 

My 1984 magisters investigation was dedicated to finite automata (any software is that thing  ... Turing machine for example) and constructing minimal finite automata corresponding to given automata mapping ;) that is why you all have to convert given database of 1 and 0 into datatabase of 1 and 0 to get image on desired image on the screen of your display or on the piece of printed material ;) it is very easy and you don't even know those long names of functions or tools  like ... used in comments above. You have to know that 1+1=0 with one switched bit in register or ... on punched paper tape.

It seems to me and I am fully confident that Java or HTML will be forgotten very soon and all software will be located in our brains connected by ..telepathy.

Open BCI is on the march ... The letter C will disappear very soon too.

DataEase is the only suitable idea in the case of direct brain to brain interface.

Do you use complex tools while thinking ? No! 

??? ????! )))))) = no exact English translation from Ukrainian ))))))))))) but transmitting thoughts from Ukrainian brains to English speaking ones will be exact  and succesful in the case. why ? we all have the same architecture and something like 1 and 0 (may be one state more ... for no operation or no value)

the End : the problem of "OML show() / hide() does not carry through to printout" has the solution even in LE9 case. 

...

Product: LegEasy 9 Developer

Written by: Ihor Zakharchenko

01/10/24 12:02:44

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

And there you have your que.

Instead of thinking that what "works" in DE6 should be the same in LE9/DE9 that maybe things has not regressed but rather progressed over the last 30 years.

The truth is that DFW users had to be "wizards" to achieve things as the product and supporting organisation was so difficult and inflexible.

All these workarounds that was "necessary" back in DFW 5,6,7 is now a problem as nobody can support moving forward exploits of corner cases, bugs, and design mistakes.

We don't recommend migration from anything before DFW 7.2 simply because the the focus of the development and scope in DE8/DE9 is not along the thinking of DFW 5.x - 7.1.

To be honest, we don't really think that much is gained by moving a 25 year old design into a new tool as it will still be outdated so rather than spend a lot of time to get old "tricks" to work in a much newer version more will be gained by simply making the GUI again with modern thinking and methods.

Our "best practice" is to think of your application as a Database rather than an application and develop new functionality over the same data that you share with your old App during development and step-by-step make your old App obsolete. 

There is more new functionality in DE8 than there was in DFW 5.x to 7.2 and there is twice as much if not more again in DE9.

SetState() has been available since early on in DE8 and have both Enable, Disable, Hide, SHow etc. Combined with SetStyle one can even make it look like its enabled and disabled with style rather than the horrible rect.fill.color crap etc.

Another solution would simply be to not print the form but print a report based on the same design. 

It is a big mistake in DFW that they assumed that print and forms was the same and used the same technology. Our focus has been on making forms good at being forms and reports good at being reports rather than constantly make one suffer because of limits in the other.

...

Product: LegEasy 9 Developer

Written by: DataEase

01/10/24 07:43:08

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

"The book on LE9 development is closed and we are now simply finishing the delivery of a stable and supported version"

Yup, we need this at least for now.

For sure we are very experienced of pretty tricks with bit and bytes on machine 1 and 0 level but it is not on demand today.

"how many angels can dance of the point of a needle" ... even more "D'Israeli goes on to say, "The reader desirous of being merry with Aquinas's angels may find them in Martinus Scriblerus, in Ch. VII who inquires if angels pass from one extreme to another without going through the middle? And if angels know things more clearly in a morning? How many angels can dance on the point of a very fine needle, without jostling one another?"

the problem mentioned is easily solved using ordinary DQL for DFD 2.5... without subforms as in DFD 4.2 ..4.53

thx to DataEase team a lot!

...

Product: LegEasy 9 Developer

Written by: Ihor Zakharchenko

30/09/24 20:41:57

Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

Hi Josef
For the scenario that is required that would not work.
Two fields are placed on top of one another. One is virtual with a default option value and the other allows entry.

On initial form open the entry field is hidden and default virtual field is visible.

If the user wants to edit the value then then the user must select an "Edit" option and the virtual field is hidden and entry field is visible.
User can enter required value.
This is necessary as the requirement is that default values must be maintained and edited by exception with a record of when edits have been done.
To the user it looks like the "Edit" option allows the default value to be edited.
They can now print the form with the edited value. Unfortunately LE9 print shows both fields instead of only the visible field.

Another option would be if the original defined field property can be changed from "No Entry" to "Allow Entry" - Is this possible in LE9?

...

Product: LegEasy 9 Developer

Written by: Sam Bird

30/09/24 18:30:33

Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

Hi Sam

"Field colour changes applied by conditional OML do carry through to printout".

So, quick fix...set field colour properties (font, border, shading etc.) to white when the status is set to Print ;-)

Kind regards

Josef

...

Product: LegEasy 9 Developer

Written by: Josef Vella

30/09/24 10:31:49

Re:Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

Neither OML or SetState etc. was created for PRINT.

It is GUI functions and the only reason it works in print is luck/un-luck.

Nothing has been changed in LE9/DE9 for this and what works and doesn't work is not only down to DataEase but also the printer driver and Windows as this is a stack.

Obviously we endorse people exchanging ideas on how to achieve the end result but we won't work on "fixing" this in the FRM model.

You can generate prints with HTML/JavaScript etc where you can achieve anything you like and the future of DataEase for both GUI and Print/Production is text based generation i.e. HTML/JavaScript/Text or any other text based format.

We use DQL's everywhere from producing HTML/XML/JSON/JavaScript etc....

Going from DE6 to DE9 will be a lot of changes but the train to reflect on features in DE6 that is missing in DE9 should be re-implemented or fixed has left the station decades ago.

The book on LE9 development is closed and we are now simply finishing the delivery of a stable and supported version

...

Product: LegEasy 9 Developer

Written by: DataEase

29/09/24 14:23:54

Re:Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

SetState function triggered in a virtual field derivation or on a button can also conditionally hide or show fields on screen.

  SetState("ItemDesc1","Hide")

Unfortunately this also does not carry through to printout.


Field colour changes applied by conditional OML do carry through to printout.

LE9 print WYSIWYG only applies if fields are not conditionally shown or hidden.

...

Product: LegEasy 9 Developer

Written by: Sam Bird

27/09/24 17:54:00

Re:Re:Re:Re:Re:Re:Re:OML show() / hide() does not carry through to printout

due to the war we have blackouts constantly in Ukraine.

Low energy consumption of DataEase applications help us to overcome!

Use DataEase to stop the war and carbon dioxide emissions!

Hiding fields during printing reduces usage of printing consumables!

we are voting for HTML not OML in new superb low energy DataEASE!

tested: old DFD foerever! in HTML now.

*"techy way" must die!

we are tired enough to test ... we demand new DataEase not ms alike DBMS ... sorry

Thx to DataEase team and Ulric for their great job!

...

Product: LegEasy 9 Developer

Written by: Ihor Zakharchenko

DataEase Mainpage