Saturday, April 30, 2011

How to 'SVN' a copy of Harbour ?

CCH : From the Harbour-Users Group

Q.   I'd like to get a complete copy of Harbour on my machine for
testing (I already have xHarbour).

  I can easily use get an update of xHarbour from SVN

  What is the SVN command for Harbour please ?

Thank you.

-Mel

A.  Try:

svn co https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour c:\svn

  Where c:\svn is the folder where you want to download the source tree.

Qatan

Hw to SVN and BUILD Harbour using MingW from scratch on Windows box.

Hello Mel,

  Seems that you successfully built Harbour with MingW!
  I had prepared a simple way for new users to learn how to SVN and BUILD Harbour using MingW from scratch on Windows box.
  Please look this: www.tribaltradingcompany.com.br/qharbour
  It is just a simple way of doing the same you are doing - for those who would like to do it but don't know where to start.
  Regards,

Qatan

Tuesday, April 19, 2011

Harbour/xharbour Diff : 9/57 - FUNCTIONS WITH VARIABLE NUMBER OF PARAMETERS by Przemyslaw Czerpak

### FUNCTIONS WITH VARIABLE NUMBER OF PARAMETERS ###
==========================================================
Both compilers supports them though xHarbour is limited to all parameters
and does not support unnamed parameters. In Harbour you can declare some
named parameters and then unnamed just like in many other languages, f.e.:
func f( p1, p2, p3, ... )
The unnamed parameters can be used in different statements passing them
by '...' operator, f.e. as array items:
proc main()
AEval( F( "1", "2", "A", "B", "C" ), {|x, i| qout( i, x ) } )
func f( p1, p2, ... )
? "P1:", p1
? "P2:", p2
? "other parameters:", ...
return { "X", ... , "Y", ... "Z" }
or as array indexes:
proc main()
local a := { { 1, 2 }, { 3, 4 }, 5 }
? aget( a, 1, 2 ), aget( a, 2, 1 ), aget( a, 3 )
func aget( aVal, ... )
return aVal[ ... ]

or as function parameters:
proc main()
info( "test1" )
info( "test2", 10, date(), .t. )
proc info( msg, ... )
qout( "[" + msg +"]: ", ... )

The '...' operator saves references when push parameters and it can be
used also in codeblocks, f.e.:
bCode := { | a, b, c, ... | qout( a, b, c ), qout( "[", ..., "]" ) }

All parameters can be accessed also using hb_aParams() function but
in xHarbour it works correctly only for functions which does not use
any local parameters or declared with variable number of parameters
or when number of declared parameters is not smaller then number of
passed parameters. This code illustrates it:
proc main()
p1("A","B","C")
p2("A","B","C")
p3("A","B","C")
p4("A","B","C")
p5("A","B","C")
proc p1
? procname()+"(), parameters:", pcount()
aeval( hb_aParams(), {|x,i| qout(i,"=>",x) } )
proc p2
local l
? procname()+"(), parameters:", pcount()
aeval( hb_aParams(), {|x,i| qout(i,"=>",x) } )
proc p3(x)
? procname()+"(), parameters:", pcount()
aeval( hb_aParams(), {|x,i| qout(i,"=>",x) } )
proc p4(...)
? procname()+"(), parameters:", pcount()
aeval( hb_aParams(), {|x,i| qout(i,"=>",x) } )
proc p5(a,b,c,d,e)
? procname()+"(), parameters:", pcount()
aeval( hb_aParams(), {|x,i| qout(i,"=>",x) } )

In xHarbour it's only possible to declare all parameters as unnamed, f.e.:
func f( ... )
and then access them using hb_aParams() or PVALUE() (in Harbour it's called
HB_PVALUE()) function. There is no support for named parameters and ...
operator.

In xHarbour due to reverted behavior of references stored in array items
assign operation to items in array returned by hb_aParams() changes
corresponding parameters passed by reference. It does not happen in
Harbour where item references stored in arrays work like in Clipper.

Tuesday, April 12, 2011

Harbour MiniGUI 1.9 Extended Edition (Build 95) Released

CCH : From the HMG Extended Forum

Hi All,

The Harbour MiniGUI 1.9 Extended Edition (Build 95) setup is published at the following URL:

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

There is the following changelog for this build:

2011/04/12: Build 95 (HMG 1.9 Extended Edition) Published.
* Fixed: Problem with assigning the plain text to the RichEdit control
(introduced in the build 94).
Bug was reported by Paolo Russignan <paolorus@yahoo.it>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Fixed: Cleaning of warning at BCC 5.8.2 in the source\c_richeditbox.c
(introduced in the build 94).
Problem was reported by Rossine <qiinfo@ig.com.br>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Fixed: Timer was fired at the 'Value' property changing in the disabled state.
It exists in the official version too.
Problem was reported by Jaroslav Janik <jaroslav.janik@siemens.com>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Enhanced: Panel window supports now the conjoint form of spelling for events
and properties (OnInit, OnRelease, VirtualWidth, VirtualHeight,
FontName, FontSize) at definition similar to others kind of windows.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Enhanced: 'Address' property of Hyperlink control can contain the procedure name:
- ADDRESS "proc:\\MyProc()" for execute the user function.
Based upon a contribution by Sasha Savov ;
(see demo in folder \samples\Basic\HYPERLINK)
* Changed: Fixed warnings at the compilation in MinGW32 (tested for 3.18).
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: HBPrinter library v.2.24 (see source in folder \source\HbPrinter):
- Fixed: C-code cleaning for warnings with MinGW32.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: MiniPrint library (see source in folder \Source\MiniPrint):
- Fixed: C-code cleaning for warnings with MinGW32.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG:
- Fixed: Missing ADS tag order support in the SetDbf method.
Contributed by Igor Nazarov.
- Fixed: Code cleaning for warnings with MinGW32.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: Harbour Compiler 2.1.0rc2 (SVN 2011-04-10 12:43).
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(look at ReadMe.txt in folder \harbour)
* Updated: HMGS-IDE v.1.0.7.1. Project Manager and Two-Way Visual Form Designer.
Contributed by Walter Formigoni <walter.formigoni@uol.com.br>
(look for what's new at changelog.txt in folder \Ide)
* New: 'Tone function via sound card' sample.
Based on code contributed by Andi Jahja <harbour@cbn.net.id>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Advanced\Tone)
* Updated: 'TBrowse SpecHeader' sample for compatibility with TSBrowse 9.0 syntax.
Contributed by Janusz Pora <januszpora@onet.eu>
(see in folder \samples\Advanced\Tsb_
SpecHeader)
* Updated: 'Multi Richedit' sample.
Contributed by Janusz Pora <januszpora@onet.eu>
(see in folder \samples\Advanced\RicheditEx_2)

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

Your comments/feedback are welcome!

--
Best Regards,
Grigory Filatov
[MiniGUI Team]

Thursday, April 7, 2011

The Harbour HowTo Tutorial Rev. [51] IS BORN !

CCH : From the Harbour Developers Group


Hi
The Harbour HowTo Tutorial Rev. [51] WAS BORN !
It is available at:
http://www.gruppoeratostene.com/harbour/harbour-tutorials.htm
Regards
Giovanni Di Maria

P.S.
This tutorial in now very small, but in future it will become
important.