[r381]: / trunk / Library / POUs / FB_StreamBuffer / Find / svnobj  Maximize  Restore  History

Download this file

36 lines (36 with data), 3.4 kB

Gx_l,
!0…jüo³	#öõ&QÜæáSystem.StringL{f8a58466-d7f6-439f-bbb8-d4600e41d099}ImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocumentL{f3878285-8e4f-490b-bb1b-9acbb7eb04db}TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}	Id
longTagText
Loop := 0;Search := 0;jPointerToBuffer := _PointerToStringBuffer + StartPos;JPointerToSearch := ADR(SearchString);|WHILE(PointerToSearch^ <> 0 ) AND Loop + StartPos < _Length DO`    IF PointerToBuffer^ <> PointerToSearch^ THEN2        Loop := Loop + 1;ˆ        PointerToBuffer := _PointerToStringBuffer + StartPos + Loop;Z        PointerToSearch := ADR(SearchString);(        Search := 0;    ELSE:        Search := Search + 1;š        PointerToBuffer := _PointerToStringBuffer + StartPos + Loop + Search;n        PointerToSearch := ADR(SearchString ) + Search;    END_IF;END_WHILE;8Find := Loop + 1 + StartPos;Interface L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}!(* "~    Find a searchstring in the buffer and returns its position.#€    It's possible to add a preffered startposition within buffer$*)%4METHOD PUBLIC Find : UDINT&VAR_INPUT'4    SearchString : STRING;(*    StartPos : UDINT;)END_VAR*VAR+"    Loop : UDINT;,&    Search : UDINT;-L    PointerToBuffer : POINTER TO BYTE;.L    PointerToSearch : POINTER TO BYTE;ÐÐÐEÐÐ	
­2ÚÐ-
ÐÐ	
­3ÚÐ-ÐÐ	
­4ÚÐ-ÐÐ	
­5ÚÐ-ÐÐ	
­6ÚÐ-ÐÐ	
­7ÚÐ-ÐÐ	
­8ÚÐ-ÐÐ	
­9ÚÐ-ÐÐ	
­:ÚÐ-ÐÐ	
­;ÚÐ-ÐÐ	
­<ÚÐ-ÐÐ	
­=ÚÐ-ÐÐ	
­>ÚÐ-ÐÐ	
­?ÚÐ-ÐÐ	
­@ÚÐ-ÐÐ	
­AÚÐ-ÐÐ	
­BÚÐ-ÐÐ	
­CÚÐ-ÐÐ	
­ÚÐ-Ð ÐEÐÐ	
­$ÚÐ-!ÐÐ	
­%ÚÐ-"ÐÐ	
­&ÚÐ-#ÐÐ	
­'ÚÐ-$ÐÐ	
­(ÚÐ-%ÐÐ	
­)ÚÐ-&ÐÐ	
­*ÚÐ-'ÐÐ	
­+ÚÐ-(ÐÐ	
­,ÚÐ-)ÐÐ	
­-ÚÐ-*ÐÐ	
­.ÚÐ-+ÐÐ	
­/ÚÐ-,ÐÐ	
­0ÚÐ--ÐÐ	
­1ÚÐ-.ÐÐ	
­ÚÐ-)