KBasic V2 - First Technical Preview (ALPHA) for Windows

Are there new versions/documentation?

KBasic V2 - First Technical Preview (ALPHA) for Windows

Postby berndnoetscher » Wed Apr 28, 2010 3:49 pm

There is still some work to do, but several people asked for the new release.
It is very likely that you will encounter errors, so don't be surprised (I am aware of some bugs).


First Technical Preview (ALPHA) for Windows

KBasic V2 has a new name: Q7Basic

Q7Basic is the successor of KBasic. Your KBasic license works with Q7Basic as well. Most of KBasic's features will be implemented in Q7Basic.

Q7Basic is the new language to write Qt based cross-platform software. If you have at least moderate knowledge in simple object-oriented concepts and the BASIC language, Q7Basic will not be difficult to write own applications soon.

Key features:
• Compile to C++ binary code with thin runtime
• Common BASIC-like functions are built-in
• Clean and easy syntax
• Qt Designer (use of ui files) supported
• Resource support
• Copy directory for application data files
• Use of native C++ classes and widgets
• Create custom widgets in Q7Basic, also usable with Qt Designer files (ui files)
• Direct Qt API access
• Qt classes maybe overriden and extended


Download Technical Preview for Windows here
http://www.q7basic.org/



Readme of Q7Basic
=================

The first sections shows you a little history about Q7Basic: The past, present and future of Q7Basic and related programming languages
The ancestor of Q7Basic is KBasic - a virtual machine (VM) based programming language (http://www.kbasic.com).

Virtual Machine based / interpreted:
------------------------------------
2000-2006 KBasic with VM 1.0 - 1.5 (Qt 3 based)
2007-2010 KBasic with VM 1.6 - 1.89 (Qt 4 based)
Planned for 2011: KBasic with VM 2.0 (Qt 5 based)

C++ based / gcc runtime based + compiled to native using gcc:
--------------------------------------
2006 Objective-Basic based on KBasic 1.5 with VM (discontinued)
2009-2010 Objective-Basic 1.0 for Mac only (totally rewritten, base for Q7Basic)
2010 Q7Basic 1.0 for all major platforms



Be sure
-------

You need to have installed the Qt SDK development tools and packages, before Q7Basic will work completely.

When Q7Basic for Windows leaves BETA, all source codes will be published under the terms of GPL3.


Current status
--------------

The latest version of Q7Basic comes with the following features:

- The IDE of Q7Basic is written in Q7Basic itself and its source code is provided to study the language by the public.
- Q7Basic compiler written in C++ using Qt
- Qt Designer support for creating ui files with outlets and actions
- syntax highlighting
- project management
- code browser for current source code window
- code changes are automatically saved (so there is no save command in the IDE)
- Qt/C++ extensions enabling native Qt/C++ API calls within Q7Basic code


Difference between registered and unregistered version?
-------------------------------------------------------

The registered professional version comes with
- A royalty free license, which means that you may use any other license than GPL for your application written in Q7Basic
- A deployment feature allowing to deploy your application without the need to have Q7Basic installed


Future versions
--------------------------------------------------
- Code completion -> text editor is ready to manage and to trigger for ". as (" and so on
- Will have almost all feature of the latest KBasic release
- Debugger support (tests already successfully done)
- goto last position, goto last error
- find/replace file, goto definition, goto explanation
- to support most functionality of all standard Qt features
- localization + translation support

- use of any binary Qt Designer plugin developed for C++ applications
- full native database support for sqlite and mysql. Others will follow.
- report feature to print detailed information based on a database
- to be able to directly use C++ code within Q7Basic code (to inter share variables and functions)

Known Issues
--------------------------------------------------
- Code completion list works as a modal window, so you cannot move around in the code while code completion is popped up
- Code completion does not recognize C++ extension through 'Declare'
- Syntax highlighting could be optimized and more accurate
- Separator lines in the code window could be more accurate


What are ui files and what is Qt Designer?
-------------------------------------------------

Qt Designer is the GUI editor shipped with the official Qt SDK, which is widely used among C++ developers. It is actually the best GUI tool for Qt development, because it is tightly connected to Qt. More said, it is a main part of Qt.

Qt Designer lets you create windows and its interface controls like buttons and save the interfaces as so called ui files, which are loaded during runtime of your program.

Outlets let you connect variables located in your source codes to interface controls like buttons.

Signals are the event function called, when ever the an event of an control is triggered. Signals are defined in your source code and are automatically connected to the interface controls in Qt designer (by recognized their unique names).

When a ui is loaded automatically, the ui loader allocates and initializes all objects, then hooks up all of their outlets and actions. After all outlets and actions are connected your ui object is ready for use.

Whenever you change code by adding or removing Actions or Outlets, make sure to keep it updated with update Qt designer and vice verca.
berndnoetscher
Site Admin
 
Posts: 1059
Joined: Tue Sep 25, 2007 9:37 am

Re: KBasic V2 - First Technical Preview (ALPHA) for Windows

Postby berndnoetscher » Fri Apr 30, 2010 10:35 am

The made a couple of new examples and did some fixes. The next days I will release a new preview.
berndnoetscher
Site Admin
 
Posts: 1059
Joined: Tue Sep 25, 2007 9:37 am


Return to Announcements

cron