/* CopyRight 2001 EndUser4gl */ /* Ph Bergougnoux */ #include "EndUser4glwinX.h" #include "executeX.h" extern CString GstrConcatene1 ; long OPCExecute_Move(long OPCcodeExe) { char zone1[C_CMP_TAILLE_NOM_DICT] = "\0"; char zone2[C_CMP_TAILLE_NOM_DICT] = "\0"; char zone3[C_CMP_TAILLE_NOM_DICT] = "\0"; char zone4[C_CMP_TAILLE_NOM_DICT] = "\0"; char valeur1 [MAXBUFLENSTRING] = "\0"; char valeur2 [MAXBUFLENSTRING] = "\0"; char valeur3 [MAXBUFLENSTRING] = "\0"; char far *pvaleur ,far *pvaleur2; int ReturnOpc = 0 ,Ival,IvalLg ,Result; short int vasizeof=0,nbelem=0,longueur=0,offsetdebut=0,offsetfin=0,i,dec; switch( OPCcodeExe) { case CodeExeMoveString : /* traitement 1 constante STRING */ OPCF_Pile_Depile( P_NAMEVAR, (void *)zone1); /* attn : ***NULL*/ OPCF_Pile_Depile( P_STRING,(void *)valeur1); OPC_Depile_All(); //printfEU("GlobalNomVariable %s zone1 %s valeur1 %s ",\ GlobalNomVariable,zone1, valeur1); ReturnOpc = OPC_Update_TableSymboleString(GlobalNomVariable,valeur1) ; ReturnOpc = OPC_Update_TableSymboleStringEditWin(GlobalNomVariable) ; //GlobalNomVariable[0] = '\0';//hyper important voir :CodexeSaveNameZone break; case CodeExeAddString : OPCF_Pile_Depile( P_NAMEVAR, (void *)zone1); /* attn : ***NULL*/ OPCF_Pile_Depile( P_STRING,(void *)valeur1); OPC_Depile_All(); GstrConcatene1.Empty(); pvaleur =OPC_ReturnValuesTabSymboleString(GlobalNomVariable); GstrConcatene1 = pvaleur; GstrConcatene1 += valeur1; //printfEU("----GlobalNomVariable %s",GlobalNomVariable); //printfEU("valeur1 %s valeur2 %s",valeur1, pvaleur ); ReturnOpc = OPC_Update_TableSymboleString(GlobalNomVariable, (const char *)GstrConcatene1) ; ReturnOpc = OPC_Update_TableSymboleStringEditWin(GlobalNomVariable) ; GstrConcatene1.FreeExtra(); GstrConcatene1.Empty(); OPC_Depile_All(); break; break; case CodeExeMoveAlphNum : OPCF_Pile_Depile( P_NAMEVAR, (void *)zone1); /* sommet de la pile */ OPCF_Pile_Depile( P_NAMEVAR, (void *)zone2); /* zone1 */ pvaleur = Function_SearchValueString(zone1); /* voir if.c */ /* zone2 */ pvaleur2 = Function_SearchValueString(zone2); /* voir if.c */ ReturnOpc = OPC_Update_TableSymboleString(zone2, pvaleur) ; ReturnOpc = OPC_Update_TableSymboleStringEditWin(zone2) ; GlobalNomVariable[0] = '\0';//hyper important voir :CodexeSaveNameZone if(pvaleur) free(pvaleur);if(pvaleur2)free(pvaleur2); OPC_Depile_All(); break; case CodeExeMoveAlphNumPosit : OPCF_Pile_Depile( P_NAMEVAR, (void *)zone1); /* position car : nom de variable */ OPCF_Pile_Depile( P_NAMEVAR, (void *)zone1); /* sommet de la pile */ OPCF_Pile_Depile( P_NAMEVAR, (void *)zone2); OPCF_Pile_Depile( P_INTEGER, (void *)&Ival); /* zone1 */ pvaleur = Function_SearchValueString(zone1); /* voir if.c */ strncpy(valeur1,pvaleur+(Ival-1),1) ; /* zone2 */ pvaleur2 = Function_SearchValueString(zone2); /* voir if.c */ ReturnOpc = OPC_Update_TableSymboleString(zone2, valeur1) ; ReturnOpc = OPC_Update_TableSymboleStringEditWin(zone2) ; GlobalNomVariable[0] = '\0';//hyper important voir :CodexeSaveNameZone if(pvaleur) free(pvaleur);if(pvaleur2)free(pvaleur2); OPC_Depile_All(); break; case CodeExeMoveAlphNumPositM_V : OPCF_Pile_Depile( P_NAMEVAR, (void *)zone1); /* position M_V car : nom de variable */ OPCF_Pile_Depile( P_NAMEVAR, (void *)zone2); /* position car : nom de variable */ .....si vous achetez une license ENduser4gl , vous aurez la totalité du code source...Move.cpp