! THIS PROGRAM TESTS THE QUALITIES OF XCALL GLOBAL AND XCALL REPLAC ! ! SYNTAX: XCALL REPLAC,STRING,WHAT,WITH ! ! WHERE: STRING = DATA STRING TO BE MANIPULATED ! WHAT = STRING OF DATA THAT IS TO BE REPLACED ! WITH = STRING OF DATA TO REPLACE THE WHAT STRING WITH ! Description: Replace 1 string with another within a given string ! Similiar to VUE's REPLAC command ! Type: XCALL REPLAC,STRING,WHAT,WITH ! The WHAT variable will be replaced by the WITH variable ! within the STRING variable as long as the length of the ! STRING variable is long enough to handle the LEN(WITH)+ ! the LEN(STRING). ! If the WHAT string is longer than the WITH string then ! the entire STRING will be truncated. ! If the WHAT string is shorter than the WITH string then ! the entire STRING will be expanded if the LEN(STRING) is ! long enough. ! If WITH string is empty then WHAT string will be replaced ! with nothing and the entire STRING will be truncated. ! WARNING: it will replace strings just as the vue REPLAC ! does. If WHAT=is and WITH=as it will change ! "this" to "thas" ! Example: ! STRING = a string variable any length ! WHAT = string to change, any length ! WITH = string to change WHAT to any length ! as long as the length + length of the rest of STRING ! is not greater than the mapped length of STRING ! MAP1 STRING,S,80,"THE STRING THAT THE PROGRAM USES IS THIS ONE" MAP1 WHAT,S,80,"THE" MAP1 WITH,S,80,"A" MAP1 SAVIT,S,80 SAVIT=STRING ? TAB(-1,0);"XCALL REPLAC and XCALL GLOBAL Demonstation Program" ? TAB(3,1);"String = ";STRING ? TAB(4,1);"What = ";WHAT ? TAB(5,1);"With = ";WITH ? TAB(6,1);"String Before XCALL REPLAC = :";STRING XCALL REPLAC,STRING,WHAT,WITH ? TAB(7,1);"String After XCALL REPLAC = :";STRING STRING=SAVIT ? TAB(9,1);"String = ";STRING ? TAB(10,1);"What = ";WHAT ? TAB(11,1);"With = ";WITH ? TAB(12,1);"String Before XCALL GLOBAL = :";STRING XCALL GLOBAL,STRING,WHAT,WITH ? TAB(13,1);"String After XCALL GLOBAL = :";STRING MORE: ? tab(14,1);tab(-1,10); ? TAB(15,1);"Enter a String ";:INPUT "",STRING ? TAB(16,1);"Enter WHAT to Replace ";:INPUT "",WHAT ? TAB(17,1);"Enter what to replace it WITH ";:INPUT "",WITH ? TAB(18,1);"String = :";STRING ? TAB(19,1);"What = :";WHAT ? tab(20,1);"With = :";WITH SAVIT="" SAVIT=STRING XCALL REPLAC,STRING,WHAT,WITH ? tab(21,1);"After xcall REPLAC =:";STRING STRING="" STRING=SAVIT XCALL GLOBAL,STRING,WHAT,WITH ? TAB(22,1);"After xcall GLOBAL =:";STRING ? TAB(23,1);"More ? ";:INPUT Y$ IF UCS(Y$)="Y" THEN GOTO MORE ? TAB(-1,0); END