General Help regarding HMG, Compilation, Linking, Samples
Moderator: Rathinagiri
dragancesu
Posts: 921 Joined: Mon Jun 24, 2013 11:53 am
DBs Used: DBF, MySQL, Oracle
Location: Subotica, Serbia
Post
by dragancesu » Fri Jul 03, 2020 12:21 pm
How from DBF from attachment create this code diynamicly?
Code: Select all
@ 30, 20 CHECKBOX qsearch_1 CAPTION "Argentina (1) " WIDTH 150 HEIGHT 25
@ 52, 20 CHECKBOX qsearch_2 CAPTION "Australia (1) " WIDTH 150 HEIGHT 25
@ 74, 20 CHECKBOX qsearch_3 CAPTION "Austria (1) " WIDTH 150 HEIGHT 25
@ 96, 20 CHECKBOX qsearch_4 CAPTION "Belgium (1) " WIDTH 150 HEIGHT 25
@ 118, 20 CHECKBOX qsearch_5 CAPTION "Brazil (5) " WIDTH 150 HEIGHT 25
@ 140, 20 CHECKBOX qsearch_6 CAPTION "Canada (8) " WIDTH 150 HEIGHT 25
@ 162, 20 CHECKBOX qsearch_7 CAPTION "Chile (1) " WIDTH 150 HEIGHT 25
@ 184, 20 CHECKBOX qsearch_8 CAPTION "Czech Republic (2) " WIDTH 150 HEIGHT 25
@ 206, 20 CHECKBOX qsearch_9 CAPTION "Denmark (1) " WIDTH 150 HEIGHT 25
@ 228, 20 CHECKBOX qsearch_10 CAPTION "Finland (1) " WIDTH 150 HEIGHT 25
@ 250, 20 CHECKBOX qsearch_11 CAPTION "France (5) " WIDTH 150 HEIGHT 25
@ 272, 20 CHECKBOX qsearch_12 CAPTION "Germany (4) " WIDTH 150 HEIGHT 25
@ 294, 20 CHECKBOX qsearch_13 CAPTION "Hungary (1) " WIDTH 150 HEIGHT 25
@ 316, 20 CHECKBOX qsearch_14 CAPTION "India (2) " WIDTH 150 HEIGHT 25
@ 338, 20 CHECKBOX qsearch_15 CAPTION "Ireland (1) " WIDTH 150 HEIGHT 25
@ 360, 20 CHECKBOX qsearch_16 CAPTION "Italy (1) " WIDTH 150 HEIGHT 25
@ 382, 20 CHECKBOX qsearch_17 CAPTION "Netherlands (1) " WIDTH 150 HEIGHT 25
@ 404, 20 CHECKBOX qsearch_18 CAPTION "Norway (1) " WIDTH 150 HEIGHT 25
@ 426, 20 CHECKBOX qsearch_19 CAPTION "Poland (1) " WIDTH 150 HEIGHT 25
@ 448, 20 CHECKBOX qsearch_20 CAPTION "Portugal (2) " WIDTH 150 HEIGHT 25
@ 470, 20 CHECKBOX qsearch_21 CAPTION "Spain (1) " WIDTH 150 HEIGHT 25
@ 492, 20 CHECKBOX qsearch_22 CAPTION "Sweden (1) " WIDTH 150 HEIGHT 25
@ 514, 20 CHECKBOX qsearch_23 CAPTION "USA (13) " WIDTH 150 HEIGHT 25
@ 536, 20 CHECKBOX qsearch_24 CAPTION "United Kingdom (3) " WIDTH 150 HEIGHT 25
Thanks
Attachments
qsearch.zip
(425 Bytes) Downloaded 148 times
edk
Posts: 911 Joined: Thu Oct 16, 2014 11:35 am
Location: Poland
Post
by edk » Fri Jul 03, 2020 1:00 pm
Code: Select all
#include "hmg.ch"
Function Main
Local cCheckBoxName, cCaption
Local nRow := 30
USE qsearch
INDEX ON row TO qsearch_row
DEFINE WINDOW Win_1 ;
ROW 0 ;
COL 0 ;
WIDTH 400 ;
HEIGHT 600 ;
TITLE "how create dynamic's CHECKBOX"
DO WHILE !EOF()
cCheckBoxName := Lower ( Alias() ) + "_" + Alltrim (Str( qsearch->row ))
cCaption := Alltrim( qsearch->search ) + " (" + Alltrim (Str( qsearch->count )) + ") "
@ nRow, 20 CHECKBOX &(cCheckBoxName) CAPTION cCaption WIDTH 150 HEIGHT 25
nRow += 22
SKIP
ENDDO
END WINDOW
CLOSE DATA
Win_1.Center
Activate Window Win_1
Return
dragancesu
Posts: 921 Joined: Mon Jun 24, 2013 11:53 am
DBs Used: DBF, MySQL, Oracle
Location: Subotica, Serbia
Post
by dragancesu » Thu Jul 09, 2020 12:17 pm
Thank you edk, but I need more help
source in attachment, and here what is my idea
main program is edit_1, simple form for insert, edit, delete record
click on head, in this case COUNTRY you see unique value from field (like SQL DISTINCT) and count it
then (but not work) user select one or more checkbox and click on OK be create filter (function for this is in test.prg)
qsearch.prg create test.prg
this is maybe complicated, generate program which generate dynamic function for it, or on other way, I don't idea now
Thank for help
Attachments
qsearch2.zip
(24.69 KiB) Downloaded 151 times
jorge_riv
Posts: 64 Joined: Thu Nov 22, 2018 2:20 pm
DBs Used: DBF, MySQL,SQL SERVER, Oracle.
Post
by jorge_riv » Fri Jul 10, 2020 1:55 am
Hola dragancesu
He modificado un par de lineas en los programas:
open_dbf.prg
open_ntx.prg
use_dbf.prg
test.prg
De esa forma funciona bien, envio fuentes y exe
Abrazo
jorge_riv
Posts: 64 Joined: Thu Nov 22, 2018 2:20 pm
DBs Used: DBF, MySQL,SQL SERVER, Oracle.
Post
by jorge_riv » Fri Jul 10, 2020 2:19 am
Alli esta el ZIP
Attachments
Edit_1.rar
(772.35 KiB) Downloaded 142 times
serge_girard
Posts: 3165 Joined: Sun Nov 25, 2012 2:44 pm
DBs Used: 1 MySQL - MariaDB 2 DBF
Location: Belgium
Contact:
Post
by serge_girard » Fri Jul 10, 2020 7:29 am
Dragan,
First:
Code: Select all
IF !IsWIndowActive (window_1)
use _qsearch index _qsearch new
zap
...etc
select _qsearch
close
END WINDOW
ACTIVATE WINDOW window_1
ELSE
window_1.SetFocus
ENDIF
This solve your first problembut then a new error comes up: Variable does not exist: CSEARCH_1
Serge
There's nothing you can do that can't be done...
serge_girard
Posts: 3165 Joined: Sun Nov 25, 2012 2:44 pm
DBs Used: 1 MySQL - MariaDB 2 DBF
Location: Belgium
Contact:
Post
by serge_girard » Fri Jul 10, 2020 7:48 am
Secondly:
Code: Select all
FUNCTION do_filter_5()
_qry_exp = ""
CMD := " "
TEL := 0
_nRow = 30
USE _qsearch INDEX _qsearch NEW
dbgotop()
DO WHILE .NOT. eof()
cValue = alltrim(search)
cCheckBoxName = "cSearch_" + alltrim(str(row))
cb := getProperty('window_1', cCheckBoxName, 'Value' )
IF cb
IF TEL > 0
CMD := CMD + ' .OR. '
ENDIF
TEL++
X := _qsearch->search
CMD := CMD + ' COUNTRY = "' + ALLTRIM(X) + '" '
? CMD
ENDIF
DBSKIP()
ENDDO
SELECT customer
SET FILTER TO &CMD
DBGOTOP()
*Win_1.Browse_1.Refresh // refresh browse
RETURN
Then new error comes up! 1 Workarea not in use: ORDLISTADD
Serge
Serge
There's nothing you can do that can't be done...
serge_girard
Posts: 3165 Joined: Sun Nov 25, 2012 2:44 pm
DBs Used: 1 MySQL - MariaDB 2 DBF
Location: Belgium
Contact:
Post
by serge_girard » Fri Jul 10, 2020 7:50 am
This is also cleaner:
Code: Select all
DEFINE WINDOW window_1 ;
AT 5, 500 ;
WIDTH 200 ;
HEIGHT 20 + (_row * 25) ;
MODAL ;
Serge
There's nothing you can do that can't be done...
edk
Posts: 911 Joined: Thu Oct 16, 2014 11:35 am
Location: Poland
Post
by edk » Fri Jul 10, 2020 2:01 pm
In my opinion, the grid with checkboxes looks nicer than the checkboxes themselves for this solution
selcountry.gif (502.47 KiB) Viewed 2870 times
Attachments
Edit_1.7z
(18.12 KiB) Downloaded 170 times
Last edited by
edk on Sat Jul 11, 2020 10:06 am, edited 1 time in total.
bpd2000
Posts: 1207 Joined: Sat Sep 10, 2011 4:07 am
Location: India
Post
by bpd2000 » Sat Jul 11, 2020 9:16 am
edk wrote: ↑ Fri Jul 10, 2020 2:01 pm
In my opinion, the grid with checkboxes looks nicer than the checkboxes themselves for this solution
ezgif.com-optimize.gif
fantastic
BPD
Convert Dream into Reality through HMG