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 : STRING; END_VAR VAR udiLoop : UDINT; udiSearch : UDINT; pBuffer : POINTER TO BYTE; udiLoop := 0; udiSearch := 0; pBuffer := pString + udiLenght; pSearch := ADR( sSearchString); WHILE(pSearch^ <> 0 ) AND udiLoop < udiLenght DO IF pBuffer^ <> pSearch^ THEN udiLoop := udiLoop + 1; pBuffer := pString + udiLenght - udiLoop; pSearch := ADR( sSearchString); udiSearch := 0; ELSE udiSearch := udiSearch +1; pBuffer := pString + udiLenght - udiLoop + udiSearch; pSearch := ADR( sSearchString ) + udiSearch; END_IF; END_WHILE; FindBack := udiLenght - udiLoop + 1;