diff --git a/EgtExecutor.rc b/EgtExecutor.rc index f56203f..73ba95a 100644 Binary files a/EgtExecutor.rc and b/EgtExecutor.rc differ diff --git a/LUA_General.cpp b/LUA_General.cpp index 1066edb..4ffcf0e 100644 --- a/LUA_General.cpp +++ b/LUA_General.cpp @@ -178,11 +178,11 @@ LuaSplitStringPlus( lua_State* L) // 2 parametri : sVal, sHea string sVal ; string sHea ; - bool bFound = LuaGetParam( L, 1, sVal) ; - LuaCheckParam( L, 2, sHea) + bool bOk = LuaGetParam( L, 1, sVal) && + LuaGetParam( L, 2, sHea) ; LuaClearStack( L) ; - // se ricevuta stringa, la divido in parti conservandone le intestazioni - if ( bFound) { + // se ricevute stringhe, divido la prima in parti con intestazioni della seconda (che conservo) + if ( bOk) { STRVECTOR vsVal ; TokenizePlus( sVal, sHea, vsVal) ; // ritorno il risultato @@ -194,6 +194,25 @@ LuaSplitStringPlus( lua_State* L) return 1 ; } +//------------------------------------------------------------------------------- +static int +LuaReplaceString( lua_State* L) +{ + // 3 parametri : sVal, sOld, sNew + string sVal ; + LuaCheckParam( L, 1, sVal) + string sOld ; + LuaCheckParam( L, 2, sOld) + string sNew ; + LuaCheckParam( L, 3, sNew) + LuaClearStack( L) ; + // eseguo sostituzione nella stringa della sequenza indicata dal secondo parametro con quella del terzo + int nRes = ReplaceString( sVal, sOld, sNew) ; + // restituisco il risultato + LuaSetParam( L, sVal) ; + LuaSetParam( L, nRes) ; + return 2 ; +} //------------------------------------------------------------------------------- static int LuaSetVal( lua_State* L) @@ -1245,6 +1264,7 @@ LuaInstallGeneral( LuaMgr& luaMgr) bOk = bOk && luaMgr.RegisterFunction( "EgtNumToString", LuaNumToString) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSplitString", LuaSplitString) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSplitStringPlus", LuaSplitStringPlus) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtReplaceString", LuaReplaceString) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSetVal", LuaSetVal) ; bOk = bOk && luaMgr.RegisterFunction( "EgtGetVal", LuaGetVal) ; bOk = bOk && luaMgr.RegisterFunction( "EgtGetUUID", LuaGetUUID) ;