outist
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Есть фрагмент кода const StartExecute = 'START C:\Windows\explorer.exe "'; ... for k := 1 to 10 do if (ACheckBox[i,k].Checked) then begin inc(j); Src := ep[i,k]; for m:= 1 to length(Src) do begin c[m] := Src[m]; l := ord(c[m]); if (l > 128) then begin {l := l - 848;} if l in [192..239] then c[m] := AnsiChar(l - 64){ else if l in [240..255] then c[m] := AnsiChar(l - 16) else if l = 168 then c[m] := AnsiChar(ord(240)) else if l = 184 then c[m] := AnsiChar(ord(241))}; end; end; for m:= 1 to length(Src) do Dest[m] := c[m]; Commands[j] := StartExecute + Dest + '"'; end; На первом проходе цикла (F4; F8) отображается k=10, (ACheckBox[i,k].Checked) =false, сразу переходит на последнюю строчку и затем новый проход: (F8) отображается k=9, (ACheckBox[i,k].Checked) =false, но, несмотря на false, происходит проход на следующую строку с inc(j); Что это может быть? Глюк отладчика? Программы? Перезапуск Embarcadero RAD Studio XE3 ситуацию не меняет. |