könntet mit einer von euch bitte mal erklären warum dies nur als Procedure klappt:
Code: Alles auswählen
procedure TPlutoEditor.GetNexRightChar(var f:Integer);
const
noChar = ['[',']',' ','.',':',',','-','_'];
var
x,z,l,m:Integer;
c:Char;
begin
z:=0;
l:=Rows.Rows[Rows.CursorY].fitems.Count-1;
if Rows.CursorX+1 <= l then m:=1 else m:=0;
// writeln('OK:',random(100));
writeln(Rows.CursorX,'\',m,'\',l);
for x:=Rows.CursorX+m to l do begin
if Rows.Rows[Rows.CursorY].Items[x].C <> '' then begin
c:=Rows.Rows[Rows.CursorY].Items[x].C[1];
if (c =' ') or (x >= l) then begin
if (x >=l) then
z:=x+2
else
z:=x;
break;
end;
end;
end;
if z = 0 then begin
if Rows.CursorY+1 <=Rows.fRows.Count-1 then begin
Rows.DrawLine(Rows.CursorY,True);
Rows.CursorY:=Rows.CursorY+1;
Rows.CursorX:=0;
writeln('-- OK --');
GetNexRightChar(z); // Auf diese Zeile kommt es mir an
end;
end;
f:=z;
end;
Mache ich aber daraus eine Procedure geht es so wie gewollt.
Ist das ein BUG? ist das Ein Denkfehler von mir ?
Wenn ja welcher ?
Wie gesagt als Procedure geht es prima. so wie es soll.