Current _HMG_SYSDATA with ZERO SIZE.
There are 145 _hmg_sysdata on source code to solve, on IDE and on grid/grid_ex.
DLGAUTO working with this changed version.
REQUEST HB_CODEPAGE_PTISO
#include "
inkey.ch"
#include "
set.ch"
#include "
directry.ch"
PROCEDURE Main
SetMode(33,100)
CLS
Set( _SET_CODEPAGE, "PTISO" )
ProcDir( "d:\github\hmg3\" )
? "End"
Inkey(0)
RETURN
STATIC FUNCTION ProcDir( cPath )
LOCAL aFileList, aFile, cFileName
aFileList := Directory( cPath + "*.*", "D" )
FOR EACH aFile IN aFileList
IF "D" $ aFile[ F_ATTR ]
IF aFile[ F_NAME ] == "." .OR. aFile[ F_NAME ] == ".."
ELSE
ProcDir( cPath + aFile[ F_NAME ] + "\" )
ENDIF
ELSE
cFileName := cPath + aFile[ F_NAME ]
IF Upper( Right( cFileName, 4 ) ) == ".PRG" .OR. ;
Upper( Right( cFileName, 3 ) ) == ".CH"
ChangeText( cFileName )
ENDIF
ENDIF
NEXT
RETURN Nil
STATIC FUNCTION ChangeText( cFile )
LOCAL cText, cTextOld, nIndex, lNoChange, cFrom, cTo
LOCAL nSpace1, nSpace2, nSpace3, nSpace4, nSpace5, nSpace6
LOCAL aTroca := { "B", "&" + "mVar", "nIdx", "nIndex", "niControl", ;
"niTab", "index", "p", "I", "x1", "tabindex", "x", "w", "i", ;
"k", "j", "idx", "xx", "ix" }
LOCAL aSysData := { "_HMG_SYSDATA", "_hmg_sysdata" }
LOCAL cChave, cTxtData
? Time() + " " + cFile
cText := MemoRead( cFile )
cTextOld := cText
cText := StrTran( cText, Chr(9), Space(3) )
FOR EACH cChave IN aTroca
FOR nSpace4 = 1 TO 1 // 10
FOR nSpace6 = 0 TO 0
FOR nSpace1 = 1 TO 1
FOR nSpace2 = 0 TO 0
FOR nSpace3 = 0 TO 0
FOR nSpace5 = 0 TO 0
FOR EACH cTxtData IN aSysData
FOR nIndex = 1 TO 41
cTo := "ControlByIndex( " + Upper( cChave ) + " ):CTRL" + StrZero( nIndex, 3 )
cFrom := ;
cTxtData + Space(nSpace1) + ;
"[" + Space(nSpace2) + ;
Ltrim( Str( nIndex ) ) + Space(nSpace3) + ;
"]" + Space(nSpace4) + ;
"[" + Space(nSpace5) + ;
cChave + Space(nSpace6) + ;
"]"
IF cFrom $ cText
? "found from " + cFrom
cText := StrTran( cText, cFrom, cTo )
hb_MemoWrit( cFile, cText )
ENDIF
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
//cText := StrTran( cText, ":CTRL001", ":Type" )
//cText := StrTran( cText, ":CTRL002", ":Name" )
//cText := StrTran( cText, ":CTRL003", ":Handle" )
//cText := StrTran( cText, ":CTRL004", ":ParentFormHandle" )
//cText := StrTran( cText, ":CTRL013", ":IsDeleted" )
lNoChange := ( cText == cTextOld )
IF ! lNoChange
? Pad( iif( lNoChange, "", "Yes" ), 5 ) + cFile
hb_MemoWrit( cFile, cText )
ENDIF
RETURN Nil
José M. C. Quintas