HMG 3.0 Test III

HMG announcements; Latest HMG-related news, releases, fixes and updates.

Moderator: Rathinagiri

User avatar
Roberto Lopez
HMG Founder
Posts: 4004
Joined: Wed Jul 30, 2008 6:43 pm

HMG 3.0 Test III

Post by Roberto Lopez »

- HMG 3.0.0 Changelog:

English:
--------

- Updated: Harbour compiler to 2.0 (Created from SVN 2009.10.12 ).
HMG IDE 2.9.4 and earlier versions ARE NOT COMPATIBLE with this
HMG version.

- Updated: MingW compiler to 4.4.1

- Modified: Samples.

Removed: ADORDD samples (adordd not working on
current Harbour release)

Added: RDDSQL samples.

-\HMG\SAMPLES\RDD.SQL\MYSQL
-\HMG\SAMPLES\RDD.SQL\ODBC
-\HMG\SAMPLES\RDD.SQL\ARRAY


Español:
--------

- Actualizado: Harbour compiler a 2.0 (SVN 2009.10.12 ). HMG-IDE versión 2.9.4 y anteriores no es compatible con esta versión de HMG).

- Actualizado: MingW compiler a 4.4.1

- Modificado: Samples.

Eliminado: Ejemplos ADORDD (adordd no funciona en la
versión actual de Harbour)

Agregado: Ejemplos RDDSQL.

-\HMG\SAMPLES\RDD.SQL\MYSQL
-\HMG\SAMPLES\RDD.SQL\ODBC
-\HMG\SAMPLES\RDD.SQL\ARRAY

Download/Descarga:http://sourceforge.net/projects/harbour ... e/download

Enjoy!

Roberto.
Regards/Saludos,

Roberto


(Veritas Filia Temporis)
User avatar
Rathinagiri
Posts: 5471
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Contact:

Re: HMG 3.0 Test III

Post by Rathinagiri »

Thanks Roberto. :)
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.
User avatar
Vanguarda
Posts: 543
Joined: Wed Feb 11, 2009 10:56 am
Location: Americana - SP
Contact:

Re: HMG 3.0 Test III

Post by Vanguarda »

Thanks Master.
--
Paulo Sérgio Durço (Vanguarda)


http://hmglights.wordpress.com/
User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Re: HMG 3.0 Test III

Post by esgici »

Thanks a lot Maestro :D

Best regards

--

Esgici
Viva INTERNATIONAL HMG :D
User avatar
sudip
Posts: 1454
Joined: Sat Mar 07, 2009 11:52 am
Location: Kolkata, WB, India

Re: HMG 3.0 Test III

Post by sudip »

Hello Master Roberto,

Thanks a lot! I tested with TEMPRARY TABLE using HB_DBCREATETEMP() function!!!! And it runs fine!!! :) (as of now I am testing with 3.0.0 Test II)

I cannot resist myself to show the codes. Codes were originally written by Grigory Filatov. Thank you Grigory :)

Code: Select all

#include <minigui.ch>

Function Main
	SET DELETED ON
	
	define window winMain ;
		at 0, 0 ;
		width 640 height 400 main ;
		title "Temporary Table" ;
		on init CreateTemp()
		
		DEFINE BROWSE brwTemp
			COL 0
			ROW 0
			WIDTH 600
			HEIGHT 340
			HEADERS {"Item Code", "Item Description", "Rate"}
			WIDTHS {125, 300, 100}
			WORKAREA curItem
			FIELDS {"curitem->itemcd", "curitem->itemnm", "curItem->rate"}
			ALLOWEDIT .T.
			INPLACEEDIT .T.
			ALLOWAPPEND .T.
			ALLOWDELETE .T.
			LOCK .T.
			JUSTIFY {0, 0, 1}
		END BROWSE
		
		@ 350, 0 label lblShow value "Alt-A: Add, Dbl-Click: Modify, Del: Delete" AUTOSIZE

	end window
	
	winMain.center
	winMain.activate

Return
 
function CreateTemp()
	local aDbf := {}
	aadd(adbf,	{"itemcd", "c",	10, 0})
	aadd(adbf,	{"itemnm", "c",	40,	0})
	aadd(adbf,	{"rate",   "n",	 8, 2})
	
   if !hb_dbcreatetemp("curItem", adbf)
		msgbox("Cannot create temporary table: Item")
		RELEASE WINDOW ALL
		return nil
	endif
	
	if select("curItem") = 0
		use curItem new
	endif
	select curItem
	append blank
	curItem->itemcd := "CD"
	curItem->itemnm := "Compact Disc"
	curItem->rate := 10.00
	unlock

	return nil
With best regards.

Sudip
With best regards,
Sudip
User avatar
Roberto Lopez
HMG Founder
Posts: 4004
Joined: Wed Jul 30, 2008 6:43 pm

Re: HMG 3.0 Test III

Post by Roberto Lopez »

sudip wrote:Hello Master Roberto,

Thanks a lot! I tested with TEMPRARY TABLE using HB_DBCREATETEMP() function!!!! And it runs fine!!! :) (as of now I am testing with 3.0.0 Test II)

I cannot resist myself to show the codes. Codes were originally written by Grigory Filatov. Thank you Grigory :)

Code: Select all

#include <minigui.ch>

Function Main
	SET DELETED ON
	
	define window winMain ;
		at 0, 0 ;
		width 640 height 400 main ;
		title "Temporary Table" ;
		on init CreateTemp()
		
		DEFINE BROWSE brwTemp
			COL 0
			ROW 0
			WIDTH 600
			HEIGHT 340
			HEADERS {"Item Code", "Item Description", "Rate"}
			WIDTHS {125, 300, 100}
			WORKAREA curItem
			FIELDS {"curitem->itemcd", "curitem->itemnm", "curItem->rate"}
			ALLOWEDIT .T.
			INPLACEEDIT .T.
			ALLOWAPPEND .T.
			ALLOWDELETE .T.
			LOCK .T.
			JUSTIFY {0, 0, 1}
		END BROWSE
		
		@ 350, 0 label lblShow value "Alt-A: Add, Dbl-Click: Modify, Del: Delete" AUTOSIZE

	end window
	
	winMain.center
	winMain.activate

Return
 
function CreateTemp()
	local aDbf := {}
	aadd(adbf,	{"itemcd", "c",	10, 0})
	aadd(adbf,	{"itemnm", "c",	40,	0})
	aadd(adbf,	{"rate",   "n",	 8, 2})
	
   if !hb_dbcreatetemp("curItem", adbf)
		msgbox("Cannot create temporary table: Item")
		RELEASE WINDOW ALL
		return nil
	endif
	
	if select("curItem") = 0
		use curItem new
	endif
	select curItem
	append blank
	curItem->itemcd := "CD"
	curItem->itemnm := "Compact Disc"
	curItem->rate := 10.00
	unlock

	return nil
With best regards.

Sudip
I'll add to the next release, adding appropriate credits for Grigory.

Regards,

Roberto.
Regards/Saludos,

Roberto


(Veritas Filia Temporis)
User avatar
sudip
Posts: 1454
Joined: Sat Mar 07, 2009 11:52 am
Location: Kolkata, WB, India

Re: HMG 3.0 Test III

Post by sudip »

Thank you Master Roberto :)
IMHO, usability of temporary table with HMG 3.0.0 will dramatically increase the usability of BROWSE, at least to novice programmers like me.
We can use this facility with 1-to-many forms, storing query results from SQL database etc.
With best regards.
Sudip
With best regards,
Sudip
User avatar
gfilatov
Posts: 1067
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Contact:

Re: HMG 3.0 Test III

Post by gfilatov »

sudip wrote:Thank you Master Roberto :)
IMHO, usability of temporary table with HMG 3.0.0 will dramatically increase the usability of BROWSE, at least to novice programmers like me.
We can use this facility with 1-to-many forms, storing query results from SQL database etc.
With best regards.
Hello Sudip,

The Harbour beta3 allows to use a true Memory File System besides of the temporary table which is created on the hard disk.
This feature based upon a new contribution HbMemIO by Mindaugas Kavaliauskas. :idea:
Take a look for the following sample (adapted for HMG):

Code: Select all

/*
 * MINIGUI - Harbour Win32 GUI library Demo
 *
 * Copyright 2002-2009 Roberto Lopez <harbourminigui@gmail.com>
 * http://harbourminigui.googlepages.com/
 *
 * Copyright 2009 Grigory Filatov <gfilatov@freemail.ru>
 *
 * Based on MEMIO sample included in Harbour distribution
*/

#include "minigui.ch"

REQUEST HB_MEMIO

*--------------------------------------------------------*
Function Main()
*--------------------------------------------------------*

	DEFINE WINDOW Form_1 ;
		AT 0,0 ;
		WIDTH 640 HEIGHT 480 ;
		TITLE 'Memory File System Demo' ;
		MAIN NOMAXIMIZE ;
		ON INIT OpenTable() ;
		ON RELEASE CloseTable()

		DEFINE MAIN MENU

			DEFINE POPUP 'Test'
				ITEM "Exit"		ACTION ThisWindow.Release()
			END POPUP

		END MENU

		@ 10,10 BROWSE Browse_1	;
			WIDTH 610	;
			HEIGHT 390	;	
			HEADERS { 'Code' , 'Name' , 'Residents' } ;
			WIDTHS { 50 , 160 , 100 } ;
			WORKAREA memarea ;
			FIELDS { 'Code' , 'Name' , 'Residents' } ;
			JUSTIFY { BROWSE_JTFY_LEFT, BROWSE_JTFY_LEFT, BROWSE_JTFY_RIGHT } ;
			EDIT ;
			INPLACE ;
			READONLY { .T. , .F. , .F. }

	END WINDOW

	CENTER WINDOW Form_1

	ACTIVATE WINDOW Form_1

Return nil

*--------------------------------------------------------*
Procedure OpenTable
*--------------------------------------------------------*

   CreateTable()

   INDEX ON FIELD->RESIDENTS TAG residents

   GO TOP

Return

*--------------------------------------------------------*
Procedure CloseTable
*--------------------------------------------------------*

   DBCLOSEAREA()
   DBDROP("mem:test")  // Free memory resource

Return

*--------------------------------------------------------*
Function CreateTable
*--------------------------------------------------------*

   DBCREATE("mem:test", {{"CODE", "C", 3, 0},{"NAME", "C", 50, 0},{"RESIDENTS", "N", 11, 0}},, .T., "memarea")

   DBAPPEND()
   REPLACE CODE WITH 'LTU', NAME WITH 'Lithuania', RESIDENTS WITH 3369600
   DBAPPEND()
   REPLACE CODE WITH 'USA', NAME WITH 'United States of America', RESIDENTS WITH 305397000
   DBAPPEND()
   REPLACE CODE WITH 'POR', NAME WITH 'Portugal', RESIDENTS WITH 10617600
   DBAPPEND()
   REPLACE CODE WITH 'POL', NAME WITH 'Poland', RESIDENTS WITH 38115967
   DBAPPEND()
   REPLACE CODE WITH 'AUS', NAME WITH 'Australia', RESIDENTS WITH 21446187
   DBAPPEND()
   REPLACE CODE WITH 'FRA', NAME WITH 'France', RESIDENTS WITH 64473140
   DBAPPEND()
   REPLACE CODE WITH 'RUS', NAME WITH 'Russia', RESIDENTS WITH 141900000

Return Nil
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein
User avatar
sudip
Posts: 1454
Joined: Sat Mar 07, 2009 11:52 am
Location: Kolkata, WB, India

Re: HMG 3.0 Test III

Post by sudip »

Hello Grigory,
Thanks a lot :)
But, I can't compiled the code:

Code: Select all

Harbour 2.0.0beta3 (Rev. 12422)
Copyright (c) 1999-2009, http://www.harbour-project.org/
Compiling 'demo.prg'...
Lines 12105, Functions/Procedures 4
Generating C source output to 'demo.c'... Done.
demo.o:demo.c:(.data+0x1c8): undefined reference to `HB_FUN_HB_MEMIO'
collect2: ld returned 1 exit status
May be I have done some careless mistakes (again) ;)
With best regards.
Sudip
With best regards,
Sudip
User avatar
Roberto Lopez
HMG Founder
Posts: 4004
Joined: Wed Jul 30, 2008 6:43 pm

Re: HMG 3.0 Test III

Post by Roberto Lopez »

sudip wrote:Hello Grigory,
Thanks a lot :)
But, I can't compiled the code:

Code: Select all

Harbour 2.0.0beta3 (Rev. 12422)
Copyright (c) 1999-2009, http://www.harbour-project.org/
Compiling 'demo.prg'...
Lines 12105, Functions/Procedures 4
Generating C source output to 'demo.c'... Done.
demo.o:demo.c:(.data+0x1c8): undefined reference to `HB_FUN_HB_MEMIO'
collect2: ld returned 1 exit status
May be I have done some careless mistakes (again) ;)
With best regards.
Sudip
You must link libhbmemio.a.

You must modify compile.bat to add it.

I'll link by default from next test release.

Regards,

Roberto.
Regards/Saludos,

Roberto


(Veritas Filia Temporis)
Post Reply