Download this file
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
METHOD FindBack : UDINT VAR_INPUT sSearchString : T_MaxString; END_VAR VAR udiLoop : UDINT; udiSearch : UDINT; pBuffer : POINTER TO BYTE; udiLoop := 0; udiSearch := 0; pBuffer := pStrBuf + udiLength; pSearch := ADR(sSearchString); WHILE(pSearch^ <> 0 ) AND udiLoop < udiLength DO IF pBuffer^ <> pSearch^ THEN udiLoop := udiLoop + 1; pBuffer := pStrBuf + udiLength - udiLoop; pSearch := ADR( sSearchString); udiSearch := 0; ELSE udiSearch := udiSearch + 1; pBuffer := pStrBuf + udiLength - udiLoop + udiSearch; pSearch := ADR( sSearchString ) + udiSearch; END_IF; END_WHILE; FindBack := udiLength - udiLoop + 1;