/*------------------------------------------------------------------- xtranslate(string,strout,strin) returns string where individual occurances of strin are changed to strout Not quite the same as REXX. It changes one character at a time. Mark McDonald -------------------------------------------------------------------*/ char *xtranslate(char *x, char *xout, char* xin){ char *xret=""; char *td; int xlenout; int xlenin; int xcnt; int xoutcnt; int xlen; char *xoutchar; char *xinchar; xlen = strlen(x); xlenout = strlen(xout); xlenin = strlen(xin); //Translate to upper case when no parms passed----- if(xlenout == 0){strcpy(xret,x); strupr(xret);} //Translate chars in x from xin char to xout char-- if(xlenout > 0){ xcnt = 1; while(xcnt <= xlen){ td = strgetsubstr(x,xcnt,1); xoutcnt = 1; while(xoutcnt <= xlenout){ xoutchar = strgetsubstr(xout,xoutcnt,1); xinchar = strgetsubstr(xin,xoutcnt,1); if(xinchar == td){strovlsubstr(x,xoutchar,xcnt);} xoutcnt++; }//wend xcnt++; }//wend strcpy(xret,x); }//endif return(xret); }//xtranslate