FUNCTION_BLOCK FB_SortExcelInputToArray
VAR_INPUT
Datastring : STRING(30000);
END_VAR
VAR_OUTPUT
END_VAR
VAR
countrows: INT :=0;
countcolumns : INT :=0;
ptString : POINTER TO STRING;
strCompareChar :String(1);
ptByteArray : POINTER TO ARRAY[0..30000] OF BYTE;
Dataarray : ARRAY[0..30000] OF BYTE;
ptByteChar : POINTER TO BYTE;
nStringSize : DINT;
nPointPos : DINT;
END_VAR
_____________________________________________________________________________________________
ptByteArray := ADR(Datastring);
nPointPos:=0;
nStringSize := SIZEOF(Datastring);
countrows:=1;
countcolumns:=1;
WHILE nPointPos < nStringSize DO
ptByteChar := ptByteArray^[nPointPos];
ptString := ptByteChar;
strCompareChar := ptString^;
IF strCompareChar ='$N' THEN
countrows:= countrows+1;
nPointPos:=nPointPos+1;
END_IF
IF strCompareChar =';' THEN
countcolumns:=countcolumns+1;
nPointPos:=nPointPos+1;
END_IF
ExcelInputDat[countrows,countcolumns]:= concat(ExcelInputDat[countrows,countcolumns],strCompareChar);
nPointPos:=nPointPos+1;
END_WHILE