Page 1 of 1

DTPICKER in array of gets

PostPosted: Tue Jan 14, 2020 5:18 pm
by betoncu
We can use gets as loop variable as below
Code: Select all  Expand view
@ nRow,110 GET aGets[ n ] VAR aValues SUBSCRIPT n ;
         SIZE 120,28 PIXEL OF oDlg


is it possible to use dtpicker like GETs?

I mean something like this:
Code: Select all  Expand view
@ nRow,110 DTPICKER aGets[ n ] VAR aValues SUBSCRIPT n ;
         SIZE 120,28 PIXEL OF oDlg

Re: DTPICKER in array of gets

PostPosted: Tue Jan 14, 2020 8:34 pm
by nageswaragunupudi
No. You can not use the loop variable. You need to create the DTPICKER in a separate function in the good old way using the concept of detached locals.
Code: Select all  Expand view

for n := 1 to Len( aValues )
   nRow += 32
   if ValType( aValues[ n ] ) == "D"
      aGets[ n ] := MakeDtPicker( oDlg, nRow, aValues, n )
   else
      @ nRow,110 GET aGets[ n ] VAR aValues SUBSCRIPT n ;
         SIZE 120,28 PIXEL OF oDlg
   endif
next n

.....

static function MakeDtPicker( oDlg, nRow, aValues, n )

   local oGet

   @ nRow,110 DTPICKER oGet VAR aValues[ n ] ;
         SIZE 120,28 PIXEL OF oDlg

return oGet
 

Re: DTPICKER in array of gets

PostPosted: Wed Jan 15, 2020 10:25 am
by betoncu
It works. That's enough. Thanks