Update checkboxes

Update checkboxes

Postby Silvio.Falconi » Fri Nov 04, 2022 12:46 pm

I save the value of a checkbox in an ini file and then I try to update the checkbox with setcheck but it doesn't update

I explain U how I made

Code: Select all  Expand view

Function test()
   local oCheckSerie:=  array(5)
   local lcheckSerie:=  array(5)
   local aChechSeries:=  {"ChkSerie1","ChkSerie2","ChkSerie3"}

   lcheckSerie[1] := GetIni( cIniFile, cSection, aChechSeries[1], )
   lcheckSerie[2] := GetIni( cIniFile, cSection, aChechSeries[2], )

DEFINE DIALOG.....

  @ 20,10 CHECKBOX  oCheckSerie[1] VAR lcheckSerie[1] PROMPT "Serie 1" of oDlgEvidenzia SIZE 30,10 PIXEL  UPDATE
 
 ACTIVATE DIALOG oDlgEvidenzia CENTER ;
          ON INIT ( SetCheckBoxes(oCheckSerie,lcheckSerie)   )


return nil


static Function SetCheckBoxes(oCheckSerie,lcheckSerie)
   local n
    For n= 1 to 2
       oCheckSerie[n]:SetCheck( lcheckSerie[n] )
       oCheckSerie[n]:refresh()
    next
    return nil
function GetIni( cIni, cSection, cEntry, xDefault )

   local oIni
   local xVar := xDefault


   INI oIni FILE cIni
   get xVar            ;
      SECTION cSection ;
      ENTRY cEntry     ;
      default xDefault ;
      OF oIni
   ENDINI

   return xVar
 



where is the error ?
I check the value and it is .t.
on ini file
Code: Select all  Expand view
ChkSerie1=.T.
ChkSerie2=.T.
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7033
Joined: Thu Oct 18, 2012 7:17 pm

Re: Update checkboxes

Postby karinha » Fri Nov 04, 2022 1:15 pm

Estimado Silvio, tal vez si muestra desde la creación de ARCHIVO.INI, será más fácil entender lo que está mal. Porque sin el archivo .INI, es complicado de probar, ¿sabes?

Dear Silvio, maybe if you show since the creation of the .INI FILE, it will be easier to understand what is wrong. Because without the .INI file, it's complicated to test, you know?

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Update checkboxes

Postby Silvio.Falconi » Fri Nov 04, 2022 3:25 pm

karinha wrote:Estimado Silvio, tal vez si muestra desde la creación de ARCHIVO.INI, será más fácil entender lo que está mal. Porque sin el archivo .INI, es complicado de probar, ¿sabes?

Dear Silvio, maybe if you show since the creation of the .INI FILE, it will be easier to understand what is wrong. Because without the .INI file, it's complicated to test, you know?

Regards, saludos.


Dear Karinha,
I wrote what I have on ini.file

Image
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7033
Joined: Thu Oct 18, 2012 7:17 pm

Re: Update checkboxes

Postby Silvio.Falconi » Fri Nov 04, 2022 3:56 pm

here there is the test.prg
Code: Select all  Expand view
#include "fivewin.ch"

Function test()
   local cIniFile  :=  cFilePath( GetModuleFileName( GetInstance() ) ) + "test.ini"
   local cSection:="COLORI"

local oCheckSerie:= array(5)
local lcheckSerie:= array(5)
local aChechSeries:= {"ChkSerie1","ChkSerie2","ChkSerie3"}

lcheckSerie[1] := GetIni( cIniFile, cSection, aChechSeries[1], ".t.")
lcheckSerie[2] := GetIni( cIniFile, cSection, aChechSeries[2], ".t.")

DEFINE DIALOG oDlg size 100,200

@ 20,10 CHECKBOX oCheckSerie[1] VAR lcheckSerie[1] PROMPT "Serie 1" of oDlg SIZE 30,10 PIXEL UPDATE
@ 40,10 CHECKBOX oCheckSerie[2] VAR lcheckSerie[2] PROMPT "Serie 2" of oDlg SIZE 30,10 PIXEL UPDATE

ACTIVATE DIALOG oDlg CENTER ;
ON INIT ( SetCheckBoxes(oCheckSerie,lcheckSerie) )
return nil

//------------------------------------------------------------------------//
static Function SetCheckBoxes(oCheckSerie,lcheckSerie)
local n
For n= 1 to 2
oCheckSerie[n]:SetCheck( lcheckSerie[n] )
oCheckSerie[n]:refresh()
next
return nil
//-------------------------------------------------------------------------//
function GetIni( cIni, cSection, cEntry, xDefault )
local oIni
local xVar := xDefault
INI oIni FILE cIni
get xVar ;
SECTION cSection ;
ENTRY cEntry ;
default xDefault ;
OF oIni
ENDINI
return xVar
//-------------------------------------------------------------------------//


 



found the error it nor read the true or false

lcheckSerie[1] := If (GetIni( cIniFile, cSection, aChechSeries[1], ".t.")==".t.",.t.,.f.)
lcheckSerie[2] := If (GetIni( cIniFile, cSection, aChechSeries[2], ".t.")== ".t.",.t.,.f.)

instead of

lcheckSerie[1] := GetIni( cIniFile, cSection, aChechSeries[1], ".t.")
lcheckSerie[2] := GetIni( cIniFile, cSection, aChechSeries[2], ".t.")
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7033
Joined: Thu Oct 18, 2012 7:17 pm

Re: Update checkboxes

Postby karinha » Fri Nov 04, 2022 4:37 pm

Trataré de entender.

I will try to understand. I'll try.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Update checkboxes

Postby karinha » Fri Nov 04, 2022 6:28 pm

Dear Silvio, asi funciona bien con S/N SI o NO. Cambie el .INI y prueba.

Code: Select all  Expand view

// C:\FWH..\SAMPLES\SETCHECK.PRG by Silvio Falconi.

#include "Fivewin.ch"

STATIC lcheckSerie1 := .F.
STATIC lcheckSerie2 := .F.

MEMVAR oCheck1, oCheck2

FUNCTION Main()

   LOCAL oDlg

   DEFINE DIALOG oDlg size 100, 200

   @ 20, 10 CHECKBOX oCheck1 VAR lcheckSerie1 PROMPT "Serie 1" of oDlg ;
      SIZE 30, 10 PIXEL UPDATE

   @ 40, 10 CHECKBOX oCheck2 VAR lcheckSerie2 PROMPT "Serie 2" of oDlg ;
      SIZE 30, 10 PIXEL UPDATE

   ACTIVATE DIALOG oDlg CENTER ON INIT( GetIni() )

RETURN nil

FUNCTION GetIni()

   LOCAL oIni, nColor, nColor2, nColori, nColori2

   INI oIni FILE ".\test.ini"  // SI O NO. Para Checkbox
      GET nColor  SECTION "COLORI" ENTRY "ChkSerie1" OF oIni DEFAULT nColor
      GET nColor2 SECTION "COLORI" ENTRY "ChkSerie2" OF oIni DEFAULT nColor2
   ENDINI

   nColori := ALLTRIM( nColor )  // SI O NO

   // ? nColori

   IF UPPER( nColori ) = [S] // YES  // SI

      lcheckSerie1 := .T.

   ELSE                  // NO

      lcheckSerie1 := .F.

   ENDIF

   oCheck1:VARPUT( lcheckSerie1 )
   oCheck1:Refresh()

   nColori2 := nColor2

   IF UPPER( nColori2 ) = [S] // YES  // SI

      lcheckSerie2 := .T.

   ELSE                       // NO

      lcheckSerie2 := .F.

   ENDIF

   oCheck2:VARPUT( lcheckSerie2 )
   oCheck2:Refresh()

RETURN NIL

/*
// Cambie el .INI para S(I) o (N)O  YES OR NO, ok? asi funciona bien.
[HTML]
TH=12|normale|5|#8DB3E2|#548DD4|#FFFFFF
TD=12|normale|5|#8DB3E2|#548DD4|#FFFFFF
[COLORI]
ChkSerie1=S
ChkSerie2=S
*/

// fin / end
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Update checkboxes

Postby karinha » Sat Nov 05, 2022 3:59 pm

Dear Silvio, Model 1 complete:

Code: Select all  Expand view

// C:\FWH..\SAMPLES\SETCHECK.PRG by Silvio Falconi.

#include "Fivewin.ch"

STATIC lcheckSerie1 := .F.
STATIC lcheckSerie2 := .F.

MEMVAR oCheck1, oCheck2

FUNCTION Main()

   LOCAL oDlg, oBtn2, oFont, oSay, cPrompt, cPrompt2
   LOCAL cTitle, NOME_ARQ, NREGISTRO

   cTitle := "GET INI For Silvio Falconi - Modelo Exclusivo"

   DEFINE FONT oFont  NAME "Ms Sans Serif"  SIZE 00, -14 BOLD

   DEFINE DIALOG oDlg SIZE 350, 350 TITLE cTitle FONT oFont            ;
      COLOR CLR_BLACK, CLR_WHITE TRANSPARENT

   oDlg:lHelpIcon := .F.

   @ 20, 10 CHECKBOX oCheck1 VAR lcheckSerie1 PROMPT "Serie 1" of oDlg ;
      SIZE 50, 10 PIXEL UPDATE                                         ;
      COLORS nRgb( 250,   0,   0 ), nRgb(  72, 180, 215 )

   @ 40, 10 CHECKBOX oCheck2 VAR lcheckSerie2 PROMPT "Serie 2" of oDlg ;
      SIZE 50, 10 PIXEL UPDATE                                         ;
      COLORS nRgb( 250,   0,   0 ), nRgb(  72, 180, 215 )

   cPrompt := "GET INI For Silvio Falconi"

   @ 09, 07 SAY oSay PROMPT cPrompt SIZE 100, 12 OF oDlg               ;
      COLORS CLR_CYAN, CLR_WHITE UPDATE

   cPrompt2 := "By kapiabafwh@gmail.com"

   @ 10, 07 SAY oSay PROMPT cPrompt2 SIZE 100, 12 OF oDlg               ;
      COLORS CLR_CYAN, CLR_WHITE UPDATE

   @ 100, 70 BTNBMP oBtn2 FILENAME "..\bitmaps\Exit.bmp" OF oDlg SIZE 30, 30 ;
      ACTION( oDlg:End() )

   oBtn2:lCancel := .T.

   IF FILE( "SILVIO.INI" )

      GETINI_SILVIO()

   ELSE

      NOME_ARQ := FCREATE("SILVIO.INI")

      NREGISTRO := "[MAIN]"                                                  ;
                   + CRLF                                    +               ;
                   "Tipo=1"                                  +               ;
                   + CRLF                                    +               ;
                   "Style=BRICKS"                            +               ;
                   + CRLF                                    +               ;
                   "Colori=32768"                            +               ;
                   + CRLF                                    +               ;
                   "File=.\ARANHA.BMP"                       +               ;
                   + CRLF+CRLF                               +               ;
                   "[HTML]"                                  +               ;
                   + CRLF                                    +               ;
                   "TH=12|normale|5|#8DB3E2|#548DD4|#FFFFFF" +               ;
                   + CRLF                                    +               ;
                   "TD=12|normale|5|#8DB3E2|#548DD4|#FFFFFF" +               ;
                   + CRLF+CRLF                               +               ;
                   "[COLORI]"                                +               ;
                   + CRLF                                    +               ;
                   "ChkSerie1=S"                             +               ;
                   + CRLF                                    +               ;
                   "ChkSerie2=S"                             +               ;
                   + CRLF+CRLF                               +               ;
                   "[THANKS]"                                +               ;
                   + CRLF                                    +               ;
                   "Special Thanks = "+"Ednaldo Rolim"                      +;
                   + CRLF                                                   +;
                   "Propriet rio.. = "+"JoÆo Santos-kapiabafwh@gmail.com   "+;
                   + CRLF                                    +               ;
                   "Meu Site:..... = "+"Visite: http://www.fivewin.com.br"         +;
                   + CRLF                                                   +;
                   "Autor......... = "+"JoÆo Santos-kapiabafwh@gmail.com   "+;
                   + CRLF                                                   +;
                   "Special Guest Star: "+"Silvio Falconi - Italia         "

      FWRITE( NOME_ARQ, NREGISTRO )
      FCLOSE( NOME_ARQ )

      GETINI_SILVIO()

   ENDIF

   ACTIVATE DIALOG oDlg CENTERED

   oFont:End()

RETURN nil

FUNCTION GETINI_SILVIO()

   LOCAL oIni, nColor, nColor2, nColori, nColori2

   INI oIni FILE ".\SILVIO.ini"  // SI O NO. Para Checkbox
      GET nColor  SECTION "COLORI" ENTRY "ChkSerie1" OF oIni DEFAULT nColor
      GET nColor2 SECTION "COLORI" ENTRY "ChkSerie2" OF oIni DEFAULT nColor2
   ENDINI

   nColori := ALLTRIM( nColor )  // SI O NO

   IF UPPER( nColori ) = [S] // YES  // SI

      lcheckSerie1 := .T.

   ELSE                  // NO

      lcheckSerie1 := .F.

   ENDIF

   oCheck1:VARPUT( lcheckSerie1 )
   oCheck1:Refresh()

   nColori2 := nColor2

   IF UPPER( nColori2 ) = [S] // YES  // SI

      lcheckSerie2 := .T.

   ELSE                       // NO

      lcheckSerie2 := .F.

   ENDIF

   oCheck2:VARPUT( lcheckSerie2 )
   oCheck2:Refresh()

RETURN NIL

// fin / end
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Update checkboxes

Postby karinha » Sat Nov 05, 2022 4:00 pm

Dear Silvio, Model 2 complete:

Code: Select all  Expand view

// C:\FWH..\SAMPLES\SETCHEK2.PRG by Silvio Falconi.

#include "Fivewin.ch"

STATIC lcheckSerie1 := .F.
STATIC lcheckSerie2 := .F.

MEMVAR oCheck1, oCheck2

FUNCTION Main()

   LOCAL oDlg, oBtn2, oFont, oSay, cPrompt, cPrompt2
   LOCAL cTitle

   cTitle := "GET INI For Silvio Falconi - Modelo Exclusivo"

   DEFINE FONT oFont  NAME "Ms Sans Serif"  SIZE 00, -14 BOLD

   DEFINE DIALOG oDlg SIZE 350, 350 TITLE cTitle FONT oFont            ;
      COLOR CLR_BLACK, CLR_WHITE TRANSPARENT

   oDlg:lHelpIcon := .F.

   @ 20, 10 CHECKBOX oCheck1 VAR lcheckSerie1 PROMPT "Serie 1" of oDlg ;
      SIZE 50, 10 PIXEL UPDATE                                         ;
      COLORS nRgb( 250,   0,   0 ), nRgb(  72, 180, 215 )

   @ 40, 10 CHECKBOX oCheck2 VAR lcheckSerie2 PROMPT "Serie 2" of oDlg ;
      SIZE 50, 10 PIXEL UPDATE                                         ;
      COLORS nRgb( 250,   0,   0 ), nRgb(  72, 180, 215 )

   cPrompt := "GET INI For Silvio Falconi"

   @ 09, 07 SAY oSay PROMPT cPrompt SIZE 100, 12 OF oDlg               ;
      COLORS CLR_CYAN, CLR_WHITE UPDATE

   cPrompt2 := "By kapiabafwh@gmail.com"

   @ 10, 07 SAY oSay PROMPT cPrompt2 SIZE 100, 12 OF oDlg               ;
      COLORS CLR_CYAN, CLR_WHITE UPDATE

   @ 100, 70 BTNBMP oBtn2 FILENAME "..\bitmaps\Exit.bmp" OF oDlg SIZE 30, 30 ;
      ACTION( oDlg:End() )

   oBtn2:lCancel := .T.

   IF FILE( "SILVIO.INI" )

      GETINI_SILVIO()

   ELSE

      GRABAR_INI()

   ENDIF

   ACTIVATE DIALOG oDlg CENTERED

   oFont:End()

RETURN nil

FUNCTION GETINI_SILVIO()

   LOCAL oIni, nColor, nColor2, nColori, nColori2

   INI oIni FILE ".\SILVIO.ini"  // SI O NO. Para Checkbox
      GET nColor  SECTION "COLORI" ENTRY "ChkSerie1" OF oIni DEFAULT nColor
      GET nColor2 SECTION "COLORI" ENTRY "ChkSerie2" OF oIni DEFAULT nColor2
   ENDINI

   nColori := ALLTRIM( nColor )  // SI O NO

   IF UPPER( nColori ) = [S] // YES  // SI

      lcheckSerie1 := .T.

   ELSE                  // NO

      lcheckSerie1 := .F.

   ENDIF

   oCheck1:VARPUT( lcheckSerie1 )
   oCheck1:Refresh()

   nColori2 := nColor2

   IF UPPER( nColori2 ) = [S] // YES  // SI

      lcheckSerie2 := .T.

   ELSE                       // NO

      lcheckSerie2 := .F.

   ENDIF

   oCheck2:VARPUT( lcheckSerie2 )
   oCheck2:Refresh()

RETURN NIL

FUNCTION GRABAR_INI()

   LOCAL NOME_ARQ, NREGISTRO

   NOME_ARQ := FCREATE("SILVIO.INI")

   NREGISTRO := "[MAIN]"                                                   ;
                + CRLF                                    +                ;
                "Tipo=1"                                  +                ;
                + CRLF                                    +                ;
                "Style=BRICKS"                            +                ;
                + CRLF                                    +                ;
                "Colori=32768"                            +                ;
                + CRLF                                    +                ;
                "File=.\ARANHA.BMP"                       +                ;
                + CRLF+CRLF                               +                ;
                "[HTML]"                                  +                ;
                + CRLF                                    +                ;
                "TH=12|normale|5|#8DB3E2|#548DD4|#FFFFFF" +                ;
                + CRLF                                    +                ;
                "TD=12|normale|5|#8DB3E2|#548DD4|#FFFFFF" +                ;
                + CRLF+CRLF                               +                ;
                "[COLORI]"                                +                ;
                + CRLF                                    +                ;
                "ChkSerie1=S"                             +                ;
                + CRLF                                    +                ;
                "ChkSerie2=S"                             +                ;
                + CRLF+CRLF                               +                ;
                "[THANKS]"                                +                ;
                + CRLF                                    +                ;
                "Special Thanks = "+"Ednaldo Rolim"                      + ;
                + CRLF                                                   + ;
                "Propriet rio.. = "+"JoÆo Santos-kapiabafwh@gmail.com   "+ ;
                + CRLF                                    +                ;
                "Meu Site:..... = "+"Visite: http://www.fivewin.com.br"         + ;
                + CRLF                                                   + ;
                "Autor......... = "+"JoÆo Santos-kapiabafwh@gmail.com   "+ ;
                + CRLF                                                   + ;
                "Special Guest Star: "+"Silvio Falconi - Italia         "

   FWRITE( NOME_ARQ, NREGISTRO )
   FCLOSE( NOME_ARQ )

   GETINI_SILVIO()

RETURN NIL

// fin / end
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Maurizio and 32 guests