Rants & Some Questions.
My Introduction to the Forum:
When you program in the same database platform for 14 years, it becomes 2nd nature to you. Also, since I'm now on the backside of 50, I have to struggle with the onset of mental rigor mortise.
During those 14 yrs. I maintained from the hi 5digit to low 6digit income writing custom one of a kind database applications for picky clients.
The platform was/is superb and was known in its day as SmartWareII(c).
The Auto-scripting/Code creation was excellent, and the Code Editor was fast & more than adequate.
Table/Field management as well as Forms, Queries & Reports were fast to produce, and just as fast to edit.
The language was full featured, and after all this time I never needed to use more than 70% of what it was capable of doing.
However, even though it runs in upper (extended memory) it is still DOS based. This was not its only limitation, if you can call it that.
The real problem is that new hardware has arrived such as USB print ports that this platform never heard of. It knows only LPT's & Com's as print ports. It cannot use the Windows drivers for printing. It knows nothing of DLL's or OLE Objects. Finally, someday Windows versions will not adequately support the DOS environment. Vista is the first attempt to do that.
So, I had to decide to go with a Win Based platform. I spent time & $$ on Access, Delphi and Alpha5 v5, v6, v7, and recently v8.
I chose A5v8.
I'm praying that my decision was the right one, but recently I have had some serious reservations. So right now it's late and I'm pretty frustrated.
Example:
When I use Version 6, the Control panel shows:
Tables/Sets, Forms, Browses, Reports, Letter, Labels, Operations, Code.
OK.
When I use Version 8, the Control panel shows:
Tables/Sets, Layouts, Operations, Code.
QUESTION: What the heck happened to Forms, Browses, Reports, Letter, Labels in v8 Control Panel?
Well, I tried to get it show these tabs for about 2hrs, then went back to v6 to finish doing the Form I wanted to create….1st Reservation.
QUESTION:
In the code editor/interactive, I inadvertently deleted (not cut) a line. Well, I soon found out there is NO UNDO. If so where is it?…..2nd Reservation.
QUESTION:
As part of a calculation the following was used:
"00+str(a_number) such as "00"+str(9).
The result was 00 (about 7 spaces) 9.
What in the world is that? How could an xbasic coder assume that the most likely desired result of concatenating 2 strings in that manner would be to put 7 spaces between them?? I mean, if I wanted exactly 7 or 8 or more spaces poked in, wouldn't I include that weird string myself? So, I needed to add yet another function, Alltrim to get the expected result of 009….3rd Reservation…bizarre results.
In SmartWareII, one can create 2 types of calculated fields:
1) A real stored Data Field that has a calculated result in it's code window, usually based on the contents of 1 or more other fields. It can apply globally to any place you put that field, or locally to just a particular form/View.
2) A Virtual field that is NOT stored anywhere, but only appears on the form /view in which it is placed. It can then have a calculation just like any Real field for that form/view only.
Well, 2 problems:
I can't figure out HOW to create a virtual field on a form.
I can't figure out how to create a calculation for even a real field on a form.
For instance. This is my first attempt at making a calculation in a field:
The idea is to create a fixed Character string in a field (called StrBatch) from another Numeric field (called Aseqno) as follows:
Criteria:
The Char$ of StrBatch is only allowed to have exactly 3places, no more, no less. But the user can enter any amount in the numeric field up to 9999.
So, if the Aseqno field is 1, then the calc'd Char$ is 001. If 10 then 010, if 100 then 100, if 1999, then 999, if 9999 then 999 also.
So, I tried the case()
In the code editor to "create a calculation" I put:
Case(Aseqno<1,"ERR", Aseqno<10, "00+ALTRIM(str(Aseqno)), Aseqno<100, "0"+ALLTRIM(str(Aseqno)), Aseqno<1000, ALLTRIM(str(right(Aseqno,3))) ).
In SmartWareII you would have:
Case([Aseqno])(<1,"ERR")(<10,"00"|str([Aseqno])(<100,"0"|str([Aseqno])(<1000,Str([Aseqno]) else right(str([Aseqno]),3)
In A5,
All I get is "you must put Fieldname = Expression " error message.
So, I added StrBatch = Case(same stuff)…………)
That still gave me an error. So, after trying all that I thought would comply, all I got for my efforts & time was more cryptic error messages and never did get the calculation to work. I also wanted it to be IMMEDIATE, no "when passed over, etc." , because this form is NOT for a user entry, but for an export conversion process to a mainframe file reader….4rd Reservation…Little help except for cryptic error messages.
SmartWareII tells you what is wrong and at what place/point of the formula it is occurring.
QUESTION:
HOW do you easily install a virtual field in a form and then give it an immediate calculation formula in less than a lunch hour?
Last, I know that it is a given that Win based Databases are tremendously bulky and slow compared to DOS based counterparts, with tons of features that will never be used by most, but the baggage gets loaded anyway. That was one big reason I hesitated for so long. They are Soooooo slow in comparison.
-----------------------
Your input on questions, and assurance that I didn't make a big mistake in choosing A5 is appreciated in advance.
Tom
Dallas
ps.
What I like most so far about A5 is this very rich Forum of experts & novices.
.
My Introduction to the Forum:
When you program in the same database platform for 14 years, it becomes 2nd nature to you. Also, since I'm now on the backside of 50, I have to struggle with the onset of mental rigor mortise.
During those 14 yrs. I maintained from the hi 5digit to low 6digit income writing custom one of a kind database applications for picky clients.
The platform was/is superb and was known in its day as SmartWareII(c).
The Auto-scripting/Code creation was excellent, and the Code Editor was fast & more than adequate.
Table/Field management as well as Forms, Queries & Reports were fast to produce, and just as fast to edit.
The language was full featured, and after all this time I never needed to use more than 70% of what it was capable of doing.
However, even though it runs in upper (extended memory) it is still DOS based. This was not its only limitation, if you can call it that.
The real problem is that new hardware has arrived such as USB print ports that this platform never heard of. It knows only LPT's & Com's as print ports. It cannot use the Windows drivers for printing. It knows nothing of DLL's or OLE Objects. Finally, someday Windows versions will not adequately support the DOS environment. Vista is the first attempt to do that.
So, I had to decide to go with a Win Based platform. I spent time & $$ on Access, Delphi and Alpha5 v5, v6, v7, and recently v8.
I chose A5v8.
I'm praying that my decision was the right one, but recently I have had some serious reservations. So right now it's late and I'm pretty frustrated.
Example:
When I use Version 6, the Control panel shows:
Tables/Sets, Forms, Browses, Reports, Letter, Labels, Operations, Code.
OK.
When I use Version 8, the Control panel shows:
Tables/Sets, Layouts, Operations, Code.
QUESTION: What the heck happened to Forms, Browses, Reports, Letter, Labels in v8 Control Panel?
Well, I tried to get it show these tabs for about 2hrs, then went back to v6 to finish doing the Form I wanted to create….1st Reservation.
QUESTION:
In the code editor/interactive, I inadvertently deleted (not cut) a line. Well, I soon found out there is NO UNDO. If so where is it?…..2nd Reservation.
QUESTION:
As part of a calculation the following was used:
"00+str(a_number) such as "00"+str(9).
The result was 00 (about 7 spaces) 9.
What in the world is that? How could an xbasic coder assume that the most likely desired result of concatenating 2 strings in that manner would be to put 7 spaces between them?? I mean, if I wanted exactly 7 or 8 or more spaces poked in, wouldn't I include that weird string myself? So, I needed to add yet another function, Alltrim to get the expected result of 009….3rd Reservation…bizarre results.
In SmartWareII, one can create 2 types of calculated fields:
1) A real stored Data Field that has a calculated result in it's code window, usually based on the contents of 1 or more other fields. It can apply globally to any place you put that field, or locally to just a particular form/View.
2) A Virtual field that is NOT stored anywhere, but only appears on the form /view in which it is placed. It can then have a calculation just like any Real field for that form/view only.
Well, 2 problems:
I can't figure out HOW to create a virtual field on a form.
I can't figure out how to create a calculation for even a real field on a form.
For instance. This is my first attempt at making a calculation in a field:
The idea is to create a fixed Character string in a field (called StrBatch) from another Numeric field (called Aseqno) as follows:
Criteria:
The Char$ of StrBatch is only allowed to have exactly 3places, no more, no less. But the user can enter any amount in the numeric field up to 9999.
So, if the Aseqno field is 1, then the calc'd Char$ is 001. If 10 then 010, if 100 then 100, if 1999, then 999, if 9999 then 999 also.
So, I tried the case()
In the code editor to "create a calculation" I put:
Case(Aseqno<1,"ERR", Aseqno<10, "00+ALTRIM(str(Aseqno)), Aseqno<100, "0"+ALLTRIM(str(Aseqno)), Aseqno<1000, ALLTRIM(str(right(Aseqno,3))) ).
In SmartWareII you would have:
Case([Aseqno])(<1,"ERR")(<10,"00"|str([Aseqno])(<100,"0"|str([Aseqno])(<1000,Str([Aseqno]) else right(str([Aseqno]),3)
In A5,
All I get is "you must put Fieldname = Expression " error message.
So, I added StrBatch = Case(same stuff)…………)
That still gave me an error. So, after trying all that I thought would comply, all I got for my efforts & time was more cryptic error messages and never did get the calculation to work. I also wanted it to be IMMEDIATE, no "when passed over, etc." , because this form is NOT for a user entry, but for an export conversion process to a mainframe file reader….4rd Reservation…Little help except for cryptic error messages.
SmartWareII tells you what is wrong and at what place/point of the formula it is occurring.
QUESTION:
HOW do you easily install a virtual field in a form and then give it an immediate calculation formula in less than a lunch hour?
Last, I know that it is a given that Win based Databases are tremendously bulky and slow compared to DOS based counterparts, with tons of features that will never be used by most, but the baggage gets loaded anyway. That was one big reason I hesitated for so long. They are Soooooo slow in comparison.
-----------------------
Your input on questions, and assurance that I didn't make a big mistake in choosing A5 is appreciated in advance.
Tom
Dallas
ps.
What I like most so far about A5 is this very rich Forum of experts & novices.
.
Comment