|
|
Working on v1.3 release (27 Nov 2011)
- The v1.3 full release is almost ready. I spent the last month doing more testing and adding
some last minute improvements. Also I've been working on a new version of the Language Reference
Manual - this is a detailed reference manual with lots of details of Ubercode.
- I made some improvements to the website. Now all filenames consistently use lower case and the
Ubercode PAD file also uses lower case. This avoids
problems when web servers use case sensitive filenames.
- New Trial Pack. There's a new trial pack available so you
can try the latest improvements.
More work on Generic Types (8 Oct 2011)
- I did more work on the Generic Types, wrote some test programs for them and fixed a few
minor bugs. Generic types are very useful for dealing with external data. For example if you have a
data file (or SQL Server table or view) you declare a generic table, then initialize and load it
from the data source. Your program doesn't need to know the structure of the data in advance.
- The Generic Types are now finished and working properly, and I can get on with other tasks such
as the new Ubercode release.
- There are more example programs. I added an example "msoffice2" which shows how to call
Microsoft Outlook to send email, and example "web4" which uses URLDownloadToFile to download
a file from the internet. Use File - Open Examples to access these examples from the
Ubercode developer environment.
- There's a new Trial Pack is available for download with the latest
improvements and bug fixes. Try it now and give me some feedback!
Generic Types for the New Release (29 Aug 2011)
- As part of the developments for the new release, I added Generic Types to the language.
These are for declaring records, arrays etc where the actual structure is not known until the
program runs. These are useful for the SQL Server integration, as they allow SQL Server data of
different types to be loaded at runtime.
- Here's a simple example of how to declare a generic array. After declaring the array, some
strings are copied into it which makes it into an array of strings:
var genArray : array[*:*]
...
genArray <- {"Monday", "Tuesday", "Wednesday"}
- In the next example you declare a generic record, then SqlLookupRow returns a single
record from the Employees table in the database. The record will have the columns and values
defined by the database record. This technique is very useful, because the program will still work
if the database structure changes:
var genRecord : record
cx : SqlConnection
...
call SqlOpen(SqlDefaultConnection(), cx)
genRecord <- SqlLookupRow(cx, "*", "Employees", "id=45")
call SqlClose(cx)
- Generic types are not limited to records and arrays. You can also use them for lists and
tables. Tables integrate well with SQL server as you can query a database and return tabular data
to Ubercode for more processing.
- These new types are seamlessly integrated into Ubercode. They are ready for use now, and if
your existing code doesn't need them it will work fine without them.
- The latest v1.3 Trial Pack is available for download - try it now
and test out the new features!
SQL Server Integration (5 July 2011)
- I'm still working on Data Sources and Round tripping. This is taking longer than
planned as I'm allowing SQL Server tables and views, in addition to local file data sources. When
complete, the Developer Environment will have new / improved commands:
- Tools - Explore Data Source Choose a local data file or SQL Server table or view and
review its structure.
- Program - Add Data Source Choose a local data file or SQL Server table or view. Review
the fields and decide which you want to be able to modify, and auto generate a class that browses
the data source.
- Project window - New Data Source Choose a data file type (DBF, CSV, XML) or a SQL Server
table or view. Choose the fields in the data source and automatically create it. Also generate a
class that browses the data.
- Project window - Edit Data Source Re-opens an existing data source and allows the fields
to be changed. It then re-creates the class that browses the data, and keeps the existing data in
the file.
- You can download the latest v1.3 Trial Pack and experiment with
the new data sources.
More about the New Release (14 May 2011)
- Data Sources. As part of the v1.3 release. I'm adding a feature that lets you create and
add Data Sources as part of an Ubercode app. When you edit Ubercode apps the project editor has a
new button allowing you to create a Data Source:
You can choose XML, Dbase / Xbase format, or CSV or Tab separated formats. After creating the new
file you can edit the fields:
This window lets you add and delete fields, rearrange them, or change the names and data types.
When you're happy click OK and Ubercode creates the data file and a program class that reads and
writes from the file.
- Round tripping. This means after creating the Data Source and the class, you can go back
into it and modify the database structure. If you confirm the changes, the Data Source is
re-structured and the class file is modified. This is the bit I'm working on now.
- Local Data Sources. When this is completed (as part of v1.3) Ubercode programs can use
local Data Sources, and these will be included when you install Ubercode apps on another computer.
You don't need to set up MSXML or ODBC on the destination computer as the database drivers are
built in to Ubercode.
- Existing Data Sources. If you already have Data Sources (XML, DBF, CSV or tab separated)
you can import these into Ubercode apps. Just use the Program - Add Data Source command in
the Ubercode Developer Environment and the database class is automatically generated.
- Free trial. You can download the latest v1.3 Trial Pack and
try out the database code now.
New release (2 April 2011)
- New version on its way. I've done a lot more more work on version 1.3 and a beta copy of
v1.3 is available for licenced customers. New users can download the
latest v1.3 Trial Pack and try the new improvements.
- SetWindowState is documented. There's a wrapper for the Windows API SetWindowState
function - this allows you to set windows in your program to a minimized, maximized or restored
state. This is useful for startup situations where you want the main window to be shown minimized
while a splash screen is dispalyed. When the splash screen is closed you can re-show the main
window in a 'restored' state.
- PostMessage. Also there's a wrapper for the PostMessage function. This lets you send
custom messages to any other window in the system.
- App Event. This is a new Ubercode event, and when combined with PostMessage it allows
custom event handling in a window function. For example PostMessage and the App Event can be used
for initializing a modal window. When the modal window loads, it's not yet visible which causes a
problem if the window spends some time initializing itself. To fix this, PostMessage sends the App
Event to the window, then the window initializes itself under the App event when it's visible.
- LoadPicture / SavePicture and icons. These two functions have been enhanced to work with
the Windows Icon format (.ico files). You can load an icon into a bitmap variable, or any control
object with the Picture property. You can also save the Picture property to an ico file.
- Support for icons. This support for Icons means you could load a BMP file and save it in
ICO format, or you could use Ubercode as the basis of an easy to use icon editor. You can also do
interesting things like create a drawing area 48 x 48 pixels, draw a smaller icon in the area, add
some text to the area, then save it as an icon.
Integrated Installer (29 January 2011)
- Integrated Installer. Ubercode has an integrated installer which means when your program
is complete, you can create a fully working Windows installer at the click of a button. Just click
the button (circled in red below) and Ubercode does the rest:
This is unique to Ubercode - other programming environments require you to find out all the files
you need to install, to obtain an installer and to write an installer script. Ubercode does all
that for you, saving you lots of time.
- SQL Server Developer Edition. Ubercode already works with SQL Server 2005 / 2008 Express
- I also did some tests with the Developer Edition and made sure everything works properly. You can
now use Ubercode to connect to any edition of SQL Server (2000 / 2005 / 2008).
- SQL Server Examples. Ubercode includes more examples programs using SQL Server,
including an example that shows how to create a database, create tables in the database, run some
queries and drop the database. You can use this to get started on your own database projects.
- Program Properties. There is a new Program Properties window, which allows you to
customize the Product name, Program description, and other information. These details are shown in
the installer, and when you wave the mouse over the EXE file in Windows Explorer.
- New Trial Pack. There's a new download available now so you
can try the latest improvements. You can start programming within 5 minutes, and you don't have to
register or fill in any forms.
|
|