************************************************
*     MODIFICATIONS TO READ FILE xxxx.arr      *
*   -----------------------------------------  *
*   MODIFICACIONES PARA LEER ARCHIVO xxxx.arr  *
************************************************

*<< begin modif LEER Arrays
   lArrDescrip:= .F.  ;  nErrorCode := 0
   IF ( ValType( cArrDescrip ) = "C" ) .and. file( cArrDescrip )  // There is a Description file
         _aEditConfig := ft_RestArr( cArrDescrip, @nErrorCode )
      if nErrorCode = 0g. Conti
         lArrDescrip := .T.                                        // Read it ok
      else
         MsgInfo ("Error restoring array: " + cArrDescrip)         // Error reading. Continue in compatibility mode
      endif
   ENDIF
*>> end modif LEER Arrays


*<< begin modif LEER Arrays
IF lArrDescrip                                                     // There is a Description file
   _aEtiqueta   := _aEditConfig[2]                                 // use it
   _aControl    := _aEditConfig[3]
   _aEditConfig := {}    //don't need it any more
ELSE                                                               // calculate controls in standard way (1 col)
*>> end modif LEER Arrays




****************************************
*   MODIFICATIONS TO HAVE LISTBOX      *
*   --------------------------------   *
*   MODIFICACIONES PARA TENER LISTBOX  *
****************************************

*<< begin modif ComboBox
         case _aControl[i,ABM_CON_TYPE] == ABM_TEXTBOXC .or. _aControl[i,ABM_CON_TYPE] == ABM_COMBOBOX
         cFuncName := "LB_" + _cArea + "_" + _aEstructura[i, DBS_NAME]
         IF hb_IsFunction(cFuncName)                                                     // He wants a ComboBox
            aItems := &(cFuncName + "()")
            _aControl[i,ABM_CON_TYPE]   := ABM_COMBOBOX
            _HMG_cMacroTemp := _aControl[i,ABM_CON_NAME]
            @ _aControl[i,ABM_CON_ROW], _aControl[i,ABM_CON_COL]    ;
                    ComboBox &_HMG_cMacroTemp                       ;
                    of wndABM3EditNuevoSplit                        ;
                    ITEMS aItems                                    ;
                    value 1                                         ;
                    height _aControl[i,ABM_CON_HEIGHT]              ;
                    width  _aControl[i,ABM_CON_WIDTH]               ;
                    font "arial" size 9                             ;
                    on gotfocus ABM3ConFoco()                       ;
                    on lostfocus ABM3SinFoco()                      ;
                    on enter ABM3AlEntrar( )
*>> end modif ComboBox
         ELSE           //  TextBoxC                                                     // It is a Normal TextBox

         
*<< begin modif ComboBox
         IF  ABM_COMBOBOX = _aControl[i,ABM_CON_TYPE]                                    // Read the options list
            cFuncName := "LB_" + _cArea + "_" + _aEstructura[i, DBS_NAME] + "()"         // (for the user to select)
            aItems := &(cFuncName)  ;  cValor := RTRIM( (_cArea)->( FieldGet( i )) )
            nItem  := ASCAN(aItems, cValor )
            wndABM3EditNuevoSplit.&(_HMG_cMacroTemp).Value := nItem
         ELSE
*>> end modif ComboBox


*<< begin modif ComboBox
            IF  ABM_COMBOBOX = _aControl[i,ABM_CON_TYPE]
               cFuncName := "LB_" + _cArea + "_" + _aEstructura[i, DBS_NAME] + "()"
               aItems := &(cFuncName)                                                    // select the value to be written
               xValor := IIF(0= xValor, "", aItems[xValor] )                             // (after it was selected)
            ENDIF                                                                        
*>> end modif ComboBox


         