-> Hier kostenlos registrieren
Hallo zusammen,
bei der Erstellung einer *.txt, in der Arraywerte vorkommen sollen, ist mir aufgefallen, dass zu viele Leerzeichen generiert wurden..
Hat vielleicht jemand eine Idee zur lösung des Problemes?
Anbei die *.txt datei + der Code:
Var
A_W:ARRAY[0..10] OF DINT;
A_W2:ARRAY[0..10] OF DINT;
handle: WORD;
hFile1: WORD;
dwWritten: DWORD;
szFilePath: STRING:= 'test.txt';
szSeperator: STRING(1):= ';';
wNewLine: WORD:= 2573; (*16#0A0D*)
iCounter1: INT;
bOnce: BOOL:= TRUE;
iCounter2: STRING;
iCounter3: STRING;
ueberschrift1:STRING;
ueberschrift2:STRING;
END_VAR
IF bOnce THEN
hFile1:= SysFileOpen(szFilePath, 'w');
A_W[0]:=0; A_W[1]:=11; A_W[2]:=22; A_W[3]:=33; A_W[4]:=44; A_W[5]:=55; A_W[6]:=66; A_W[7]:=77; A_W[8]:=88; A_W[9]:=99; A_W[10]:=101;
A_W2[0]:=5; A_W2[1]:=15; A_W2[2]:=25; A_W2[3]:=35; A_W2[4]:=45; A_W2[5]:=55; A_W2[6]:=65; A_W2[7]:=75; A_W2[8]:=85; A_W2[9]:=95; A_W2[10]:=105;
ueberschrift1:='Moment in [Nm]';
dwWritten:= SysFileWrite(hFile1, ADR(ueberschrift1), SIZEOF(ueberschrift1));
ueberschrift2:='Drehgeberdifferenz in [°]';
dwWritten:= SysFileWrite(hFile1, ADR(szSeperator), 1);
dwWritten:= SysFileWrite(hFile1, ADR(ueberschrift2), SIZEOF(ueberschrift2));
dwWritten:= SysFileWrite(hFile1, ADR(wNewLine), SIZEOF(wNewLine));
FOR iCounter1:=0 TO 10 BY 1 DO
iCounter2:=DINT_TO_STRING(A_W[iCounter1]);
dwWritten:= SysFileWrite(hFile1, ADR(iCounter2), SIZEOF(iCounter2));
iCounter3:=DINT_TO_STRING(A_W2[iCounter1]);
dwWritten:= SysFileWrite(hFile1, ADR(szSeperator), 1);
dwWritten:= SysFileWrite(hFile1, ADR(iCounter3), SIZEOF(iCounter3));
dwWritten:= SysFileWrite(hFile1, ADR(wNewLine), SIZEOF(wNewLine));
END_FOR
SysFileClose(hFile1);
bOnce:= FALSE;
END_IF
bei der Erstellung einer *.txt, in der Arraywerte vorkommen sollen, ist mir aufgefallen, dass zu viele Leerzeichen generiert wurden..
Hat vielleicht jemand eine Idee zur lösung des Problemes?
Anbei die *.txt datei + der Code:
Var
A_W:ARRAY[0..10] OF DINT;
A_W2:ARRAY[0..10] OF DINT;
handle: WORD;
hFile1: WORD;
dwWritten: DWORD;
szFilePath: STRING:= 'test.txt';
szSeperator: STRING(1):= ';';
wNewLine: WORD:= 2573; (*16#0A0D*)
iCounter1: INT;
bOnce: BOOL:= TRUE;
iCounter2: STRING;
iCounter3: STRING;
ueberschrift1:STRING;
ueberschrift2:STRING;
END_VAR
IF bOnce THEN
hFile1:= SysFileOpen(szFilePath, 'w');
A_W[0]:=0; A_W[1]:=11; A_W[2]:=22; A_W[3]:=33; A_W[4]:=44; A_W[5]:=55; A_W[6]:=66; A_W[7]:=77; A_W[8]:=88; A_W[9]:=99; A_W[10]:=101;
A_W2[0]:=5; A_W2[1]:=15; A_W2[2]:=25; A_W2[3]:=35; A_W2[4]:=45; A_W2[5]:=55; A_W2[6]:=65; A_W2[7]:=75; A_W2[8]:=85; A_W2[9]:=95; A_W2[10]:=105;
ueberschrift1:='Moment in [Nm]';
dwWritten:= SysFileWrite(hFile1, ADR(ueberschrift1), SIZEOF(ueberschrift1));
ueberschrift2:='Drehgeberdifferenz in [°]';
dwWritten:= SysFileWrite(hFile1, ADR(szSeperator), 1);
dwWritten:= SysFileWrite(hFile1, ADR(ueberschrift2), SIZEOF(ueberschrift2));
dwWritten:= SysFileWrite(hFile1, ADR(wNewLine), SIZEOF(wNewLine));
FOR iCounter1:=0 TO 10 BY 1 DO
iCounter2:=DINT_TO_STRING(A_W[iCounter1]);
dwWritten:= SysFileWrite(hFile1, ADR(iCounter2), SIZEOF(iCounter2));
iCounter3:=DINT_TO_STRING(A_W2[iCounter1]);
dwWritten:= SysFileWrite(hFile1, ADR(szSeperator), 1);
dwWritten:= SysFileWrite(hFile1, ADR(iCounter3), SIZEOF(iCounter3));
dwWritten:= SysFileWrite(hFile1, ADR(wNewLine), SIZEOF(wNewLine));
END_FOR
SysFileClose(hFile1);
bOnce:= FALSE;
END_IF