Thursday, October 27, 2011

SQLite3 Façades for Harbour by Daniel Gonzalez

Hello everybody,

I'm not sure if one of you guys have heard about SQLite3 Façades for Harbour. I've wrote those façades in 2008 and then released it under Creative Commons Attribution 3.0 Unported License.

SQLite3 Façades for Harbour provides an easy and clean way to work with SQLite3 databases using an elegant and simple object oriented approach. If you get interested you can read the tests to get an idea of how it works.

Well, I'm no longer working with Harbour, but these façades was very useful to me, and it's available at https://bitbucket.org/danielgoncalves/sqlite3facade.

Hope it's still useful.
bitbucket.org

Originally posted on Harbour Project Facebook Group

Wednesday, October 26, 2011

Harbour MiniGUI Extended Edition 2.0.2 Released on 12th October 2011

Hi All,

The Harbour MiniGUI Extended Edition 2.0.2 setup is published at the following
URL:

http://hmgextended.com/files/CONTRIB/hmg-2.0.2-setup.zip

and the lite MinGW-based archive is placed at the following URL:

http://hmgextended.com/files/CONTRIB/hmg202-mingw.zip

There is the following changelog for this build:

2011/10/12: HMG Extended Edition 2.0.2 Published.
* Fixed: Restored normal WinAPI behaviour of ReadOnly Spinner control.
It was wrongly mixed with Disabled state (introduced in the build 31).
Requested by Adalberto from brazilian forum MiniGUI.
Contributed by Grigory Filatov <gfilatov@...>
(see demo in folder \samples\Basic\SPINNER)
* New: Added read/write property 'Tabstop' for standard controls.
You can set/get this property at runtime:
- function syntax:
SetProperty ( Form, Control, 'Tabstop', lLogical )
GetProperty ( Form, Control, 'Tabstop' )
- pseudo-OOP syntax:
Form.Control.Tabstop := lLogical
Form.Control.Tabstop --> logical value
Contributed by Grigory Filatov <gfilatov@...>
* Enhanced: The Button control supports now an optional HOTKEY clause.
Based upon a code for a hotkey detection borrowed from OOHG.
Requested by Simon Norbert <simon.n@...>.
Contributed by Grigory Filatov <gfilatov@...>
(see menu File->'More Tests' in folder \samples\basic\MAINDEMO (SYNTAX I))
* Enhanced: The Button control with Icon picture supports now a theme style at
WinXP.
The old behaviour is available also via using NOXPSTYLE clause.
Requested by Simon Norbert <simon.n@...>.
Contributed by Grigory Filatov <gfilatov@...>
(see demo in folder\samples\basic\button_2)
* Enhanced: Added moving between data in a CellNavigation Grid control by
column.
It means that instead of moving cursor to the right when you accepted cell
editing, the cursor should be moved downwards.
- New: SET [GRID] CELLNAVIGATIONMODE VERTICAL | HORIZONTAL command.
This mode automatically puts you in edit mode, besides to driving you down
or left when accepting changes with or keys.
Based upon a contribution of Roberto Lopez <mail.box.hmg@...>
(see demo2.prg in folder \samples\Basic\Grid_Test)
* Changed: The some MCI Player and AnimateBox internal functions are defined as
pseudo-functions now.
Contributed by Grigory Filatov <gfilatov@...>
* Changed: Harbour GT functions are used for set/get Clipboard text now.
Contributed by Grigory Filatov <gfilatov@...>
* Updated: Harbour Compiler 3.1.0dev (SVN 2011-10-11 01:56).
Contributed by Grigory Filatov <gfilatov@...>
(look at ReadMe.txt in folder \harbour)
* Updated: HMGS-IDE v.1.1.0. Project Manager and Two-Way Visual Form Designer.
Contributed by Sylvain Larche <slarche@...>
(look for what's new at changelog.txt in folder \Ide)
* New: 'HMG IDE' sample by Roberto Lopez <mail.box.hmg@...>.
Borrowed from HMG 4 project. It is a Ide template only.
Adapted for Minigui Extended by Grigory Filatov <gfilatov@...>
(see in folder \samples\Advanced\hmgide)
* New: 'Mini Agenda' sample.
Based upon a contribution by Bicahi Esgici <esgici@...>.
Adapted for Minigui Extended by Grigory Filatov <gfilatov@...>
(see in folder \samples\Advanced\MiniAgenda)
* New: 'Focus It' sample: enable X-Mouse style window activation.
Contributed by Grigory Filatov <gfilatov@...>
(see in folder \samples\Applications\FOCUS_IT)
* Updated: 'Ftp Client' sample based upon a TIP library.
Problem with uploading of the binary files was reported by
Eladio Bravo <eladibravo@...>.
Contributed by Grigory Filatov <gfilatov@...>
(see in folder \samples\Advanced\FtpClient)
* Updated: 'Tone function via sound card' sample:
- Revised the musical sequence.
Contributed by Alexey Gustow
(see in folder \samples\Advanced\Tone)
* Updated: 'Calculator' sample: correction of the 'percent' button action.
Contributed by Grigory Filatov <gfilatov@...>
(see in folder \samples\Basic\Calc)

This release of MiniGUI is considered stable and ready for production use.

--
Best Regards,
Grigory Filatov
[MiniGUI Team]

Wednesday, October 19, 2011

Harbour/xharbour Diff :13/57 - USING [] OPERATOR FOR STRING ITEMS - Przemyslaw Czerpak

###    USING [] OPERATOR FOR STRING ITEMS    ###
================================================
xHarbour supports using [] operator to access single characters in
string items. Harbour doesn't by default but it has strong enough
OOP API to allow adding such extension without touching core code
even by user at .prg level. It was implemented in Harbour in XHB.LIB.
This code can be compiled and executed by both compilers:
      #ifndef __XHARBOUR__
         #include "xhb.ch" // add xHarbour emulation to Harbour
      #endif
      proc main()
         local s := "ABCDEFG"
         ? s, "=>", s[2], s[4], s[6]
         s[2] := lower( s[2] )
         s[4] := lower( s[4] )
         s[6] := lower( s[6] )
         ?? " =>", s
      return

Warning!. There is one difference in above implementation introduced
intentionally to Harbour. xHarbour never generates errors for wrong
indexes in [] operator used for string items but simply returns "",
f.e. add to above code:
      ? ">" + s[0] + "<", ">" + s[1000] + "<"
If [] operator is used for other type of items RTE is generated.
Harbour will generate RTE in all cases. If someone needs strict XHB
compatibility here then he should adopt code overloading [] operator
for strings in XHB.LIB for his own preferences removing the RTE.