diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index 6396989..3fd032c 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -18840,7 +18840,8 @@ Define Class c_conversor_mnx_a_prg As c_conversor_bin_a_prg
Local toMenu As CL_MENU Of 'FOXBIN2PRG.PRG'
Local toFoxBin2Prg As c_foxbin2prg Of 'FOXBIN2PRG.PRG'
#Endif
-
+* SF
+SET STEP ON
Try
With This As c_conversor_mnx_a_prg Of 'FOXBIN2PRG.PRG'
If toFoxBin2Prg.l_ProcessFiles Then
@@ -28658,7 +28659,7 @@ Define Class CL_MENU_OPTION As CL_MENU_COL_BASE
If Isdigit(lcBarName)
*-- Bar#
- loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM
+ loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM
Else
*-- Es un BAR del sistema
loReg.Name = lcBarName
@@ -28931,14 +28932,34 @@ Define Class CL_MENU_OPTION As CL_MENU_COL_BASE
Try
Local lcText, lcTab, loEx As Exception ;
- , loBarPop As CL_MENU_BARPOP Of 'FOXBIN2PRG.PRG'
+ , loBarPop As CL_MENU_BARPOP Of 'FOXBIN2PRG.PRG' ;
+ , lcName , lcName2
Store Null To loBarPop
lcTab = Replicate(Chr(9),tnNivel)
lcText = ''
+*!* Changed by SF 22.4.2021
+*!*
+*!* Changed by SF
+*!* If the BAR real name starts (legaly) with a digit it could not be recreated
+*!* added code to add additional information to recreate the name
+*!* name will wrap into " , so we got DEFINE BAR "Number" OF
+*!* also use variable on all places instead of EVL(..
+*!*
+*!*
+ If !Empty(toReg.Name) And ISDIGIT( toReg.Name ) Then
+ lcName = ALLTRIM( toReg.Name )
+ lcName2 = '"' + Alltrim(toReg.Name) + '"'
+ Else &&!Empty(toReg.Name) And ISDIGIT( toReg.Name )
+ lcName = ALLTRIM( Evl(toReg.Name, '_' + Transform( Int( Val( toReg.ItemNum ) ), '@L #########') ) )
+ lcName2 = m.lcName
+ Endif &&!Empty(toReg.Name) And ISDIGIT( toReg.Name )
+* SF
+* location of definition of MENU BAR Evl( toReg.Name, toReg.ItemNum )
+* /SF
*-- DEFINE BAR
*lcText = lcTab + '*----------------------------------' + CR_LF
- lcText = lcText + lcTab + 'DEFINE BAR ' + Alltrim( Evl( toReg.Name, toReg.ItemNum ) ) + ' OF ' + Alltrim(toReg.LevelName) ;
+ lcText = lcText + lcTab + 'DEFINE BAR ' + m.lcName2 + ' OF ' + Alltrim(toReg.LevelName) ;
+ ' PROMPT "' + toReg.Prompt + '"'
If Not Empty(toReg.KEYNAME)
@@ -28971,10 +28992,10 @@ Define Class CL_MENU_OPTION As CL_MENU_COL_BASE
If toReg.OBJCODE = C_OBJCODE_MENUOPTION_SUBMENU && Submenu
loBarPop = This.Item(1).oReg
- lcText = lcText + lcTab + 'ON BAR ' + Alltrim( Evl( toReg.Name, toReg.ItemNum ) ) + ' OF ' + Alltrim(toReg.LevelName) ;
+ lcText = lcText + lcTab + 'ON BAR ' + m.lcName + ' OF ' + Alltrim(toReg.LevelName) ;
+ ' ACTIVATE POPUP ' + Alltrim(loBarPop.Name)
Else
- lcText = lcText + lcTab + 'ON SELECTION BAR ' + Alltrim( Evl( toReg.Name, toReg.ItemNum ) ) + ' OF ' + Alltrim(toReg.LevelName)
+ lcText = lcText + lcTab + 'ON SELECTION BAR ' + m.lcName + ' OF ' + Alltrim(toReg.LevelName)
Do Case
Case toReg.OBJCODE = C_OBJCODE_MENUOPTION_COMMAND && Command
@@ -29003,6 +29024,7 @@ Define Class CL_MENU_OPTION As CL_MENU_COL_BASE
Release lcTab, loBarPop
Endtry
+*!* /Changed by SF 22.4.2021
Return lcText
Endproc
@@ -29017,18 +29039,35 @@ Define Class CL_MENU_OPTION As CL_MENU_COL_BASE
* toHeader (v! IN ) Objeto Registro de cabecera del menu
*---------------------------------------------------------------------------------------------------
Lparameters toReg, toBarPop, tnNivel, toHeader
+*!* Changed by SF 21.4.2021
+*!*
+*!* Changed by SF
+*!* If the PAD real name starts (leagly) with "_" it could not be recreated
+*!* added code to add additional information to recreate the name
+*!* name will simple wrapped into ", so we got DEFINE PAD "_Name" OF
+*!*
+*!*
Try
Local lcText, lcTab, lnContainer, lnObject, loEx As Exception ;
- , loBarPop As CL_MENU_BARPOP Of 'FOXBIN2PRG.PRG'
+ , loBarPop As CL_MENU_BARPOP Of 'FOXBIN2PRG.PRG' ;
+ , lcName2
Store Null To loBarPop
lcTab = Replicate(Chr(9),tnNivel)
- toReg.Name = Evl(toReg.Name, '_' + Transform( Int( Val( toReg.ItemNum ) ), '@L #########') )
+ If !Empty(toReg.Name) And toReg.Name = '_' Then
+ lcName2 = '"' + Alltrim(toReg.Name) + '"'
+ toReg.Name = toReg.Name
+ Else &&!EMPTY(toReg.Name) AND toReg.Name = '_'
+ toReg.Name = Evl(toReg.Name, '_' + Transform( Int( Val( toReg.ItemNum ) ), '@L #########') )
+ lcName2 = Alltrim(toReg.Name)
+ Endif &&!EMPTY(toReg.Name) AND toReg.Name = '_'
+*!* /Changed by SF 21.4.2021
+
lcText = ''
*-- DEFINE PAD
*lcText = lcTab + '*----------------------------------' + CR_LF
- lcText = lcText + lcTab + 'DEFINE PAD ' + Alltrim(toReg.Name) + ' OF ' + Alltrim(toReg.LevelName) ;
+ lcText = lcText + lcTab + 'DEFINE PAD ' + m.lcName2 + ' OF ' + Alltrim(toReg.LevelName) ;
+ ' PROMPT "' + toReg.Prompt + '"' ;
+ ' COLOR SCHEME ' + Transform(toBarPop.Scheme)