grid can handle how many records
Posted: Sun Apr 21, 2019 5:57 am
I have started just now with HMG and written a small prog to show filtered record from a database but it get hangs when i click on search
here is my code
databas xpbook contains about 12000 records
#include "hmg.ch"
Function Main
OpenTables()
DEFINE WINDOW Win_1 ;
AT 0,0 ;
WIDTH 800 HEIGHT 600 ;
TITLE 'Library Book Search' ;
MAIN //MAXIMIZE
@ 10 ,10 LABEL LABEL_1 VALUE "BOOK/AUTHOR/PUBLISHER" width 200
@ 10 ,200 TEXTBOX TEXT_1 width 400
@ 10 ,700 BUTTON BUTTON_1 CAPTION 'SEARCH' ACTION FILEFILT()
@ 100,10 GRID Grid_1 ;
WIDTH 1200 ;
HEIGHT 600 ;
HEADERS { 'Book Name' , 'Author','Publisher','Subject','Location'} ;
WIDTHS { 250 , 150,150,150,150} ;
ROWSOURCE "book" ;
COLUMNFIELDS { 'Name' , 'auth','publ','subj','Loca' } ;
END WINDOW
CENTER WINDOW Win_1
ACTIVATE WINDOW Win_1
Return Nil
Procedure OpenTables()
sele 1
Use xpbook
copy stru to book
sele 2
use book
* set filt to "CHAND" $ UPPE(name)
* Win_1.Browse_1.Value := RecNo()
Return Nil
Procedure CloseTables()
sele 1
Use
sele 2
use
Return Nil
Procedure filefilt()
win_1.GRID_1.hide
sele book
use
SELE xpBOOK
if len(WIN_1.TEXT_1.VALUE)#0
copy TO book for UPPE(WIN_1.TEXT_1.VALUE) $ UPPE(NAME+auth+publ+subj)
else
copy to book for recno()>0
endi
sele 2
use book
coun to kk
@ 10 ,1000 LABEL LABEL_2 VALUE "Total books shorted "+str(kk,5,0) width 300
go top
win_1.GRID_1.show
Return Nil
please also guide to release memory or it automatically releases after closing programe
thanks in advance
here is my code
databas xpbook contains about 12000 records
#include "hmg.ch"
Function Main
OpenTables()
DEFINE WINDOW Win_1 ;
AT 0,0 ;
WIDTH 800 HEIGHT 600 ;
TITLE 'Library Book Search' ;
MAIN //MAXIMIZE
@ 10 ,10 LABEL LABEL_1 VALUE "BOOK/AUTHOR/PUBLISHER" width 200
@ 10 ,200 TEXTBOX TEXT_1 width 400
@ 10 ,700 BUTTON BUTTON_1 CAPTION 'SEARCH' ACTION FILEFILT()
@ 100,10 GRID Grid_1 ;
WIDTH 1200 ;
HEIGHT 600 ;
HEADERS { 'Book Name' , 'Author','Publisher','Subject','Location'} ;
WIDTHS { 250 , 150,150,150,150} ;
ROWSOURCE "book" ;
COLUMNFIELDS { 'Name' , 'auth','publ','subj','Loca' } ;
END WINDOW
CENTER WINDOW Win_1
ACTIVATE WINDOW Win_1
Return Nil
Procedure OpenTables()
sele 1
Use xpbook
copy stru to book
sele 2
use book
* set filt to "CHAND" $ UPPE(name)
* Win_1.Browse_1.Value := RecNo()
Return Nil
Procedure CloseTables()
sele 1
Use
sele 2
use
Return Nil
Procedure filefilt()
win_1.GRID_1.hide
sele book
use
SELE xpBOOK
if len(WIN_1.TEXT_1.VALUE)#0
copy TO book for UPPE(WIN_1.TEXT_1.VALUE) $ UPPE(NAME+auth+publ+subj)
else
copy to book for recno()>0
endi
sele 2
use book
coun to kk
@ 10 ,1000 LABEL LABEL_2 VALUE "Total books shorted "+str(kk,5,0) width 300
go top
win_1.GRID_1.show
Return Nil
please also guide to release memory or it automatically releases after closing programe
thanks in advance