Ðåôåðàòû. Êîíâåðòèðîâàíèå èñõîäíîãî òåêñòà ïðîãðàìì äëÿ ñòàíêîâ ñ ×ÏÓ èç îäíîé ñèñòåìû ïðîãðàììèðîâàíèÿ â äðóã...

          Z:= StrToFloat(vyh) / 1000;

          preobrazovanieMAYAK(Z,kadr);

        end;

    end;

  uslovie:= pos('I',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'I',vyh);

      if oshibka = 1 then

      else

        begin

          vyh:= TrimRight(vyh);      // Óäàëÿåì ëèøíèå ïðîáåëû ñïðàâà

          I:= StrToFloat(vyh) / 1000;

          I:= X_pred + I;

          preobrazovanieMAYAK(I,kadr);

        end;

    end;

  uslovie:= pos('J',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'J',vyh);

      if oshibka = 1 then

      else

        begin

          vyh:= TrimRight(vyh);      // Óäàëÿåì ëèøíèå ïðîáåëû ñïðàâà

          J:= StrToFloat(vyh) / 1000;

          J:= Y_Pred + J;

          preobrazovanieMAYAK(J,kadr);

        end;

    end;

  uslovie:= pos('U',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'U', vyh);

      if oshibka = 1 then

      else

        begin

          vyh:= TrimRight(vyh);      // Óäàëÿåì ëèøíèå ïðîáåëû ñïðàâà

          Uvmmayak:= StrToFloat(vyh) / 1000;

          preobrazovanieMAYAK(Uvmmayak,kadr);

        end;

    end;

  uslovie:= pos('K',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'K', vyh);

      if oshibka = 1 then

      else

        begin

          vyh:= TrimRight(vyh);      // Óäàëÿåì ëèøíèå ïðîáåëû ñïðàâà

          K:= StrToFloat(vyh) / 1000;

          preobrazovanieMAYAK(K,kadr);

        end;

    end;

  X_pred:= X_nast;

  Y_pred:= Y_nast;

end;





Function MAYAK_VM(var kadr: string): string;

var

  I_est: boolean;

  uslovie: integer;

  strok: string[10];

  s, st: string;

begin

  if pos('%', kadr) <> 0 then exit;

  if pos('$', kadr) <> 0 then exit;

  I_est:= False;

  uslovie:= pos('I',kadr);

  if uslovie <> 0 then I_est:= true;

  uslovie:= pos('X',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'X',vyh);

      if oshibka = 1 then

      else

        begin

          X_nast:= StrToFloat(vyh) * 1000;

          X_nast:= Int(X_nast);                 // Îòáðàñûâàåì äðîáíóþ ÷àñòü

          preobrazovanieVM(X_nast,kadr);

        end;

    end

  else

    if I_est then

      begin

        uslovie:= pos('Y',kadr);

        strok:= FloatToStr(X_pred);  // Ïðåîáðàçóåì â ÷èñëî ñòðîêó

        insert('X' + strok, kadr, uslovie);

      end;

  uslovie:= pos('Y',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'Y',vyh);

      if oshibka = 1 then

      else

        begin

          Y_nast:= StrToFloat(vyh) * 1000;

          Y_nast:= Int(Y_nast);                 // Îòáðàñûâàåì äðîáíóþ ÷àñòü

          preobrazovanieVM(Y_nast,kadr);

        end;

    end

  else

    if I_est then

      begin

        uslovie:= pos('I',kadr);

        strok:= FloatToStr(Y_pred);  // Ïðåîáðàçóåì â ÷èñëî ñòðîêó

        insert('Y' + strok, kadr, uslovie);

      end;

  if (pos('G42', kadr) <> 0) or (pos('G41', kadr) <> 0) then

    begin

      try

        s:= Stroka.Strings[Succ(m)]; // îøèáêà íåò ñòðîêè âîîáùå

      except

      on EStringListError do       // äîáàâëÿåì ïóñòóþ ñòðîêó è èñêëþ÷àåì îøèáêó

        stroka.Add('');

      end;

      if pos('X', kadr) = 0 then

        begin                                  // Âñòàâêà Õ è Y åñëè íåò

          uslovie:= FindVstavki('X', kadr);    // Â ïîçèöèè X Y I J F M

          Insert('X' + FloatToStr(X_nast), kadr, uslovie);

        end;

      if pos('Y', kadr) = 0 then

        begin

          uslovie:= FindVstavki('Y', kadr);

          Insert('Y' + FloatToStr(Y_nast), kadr, uslovie);

        end;

      if (pos('I', Stroka.Strings[Succ(m)]) <> 0) and (pos('J', Stroka.Strings[Succ(m)]) <> 0)

      then

        begin

          Naytikoordinatu(Stroka.Strings[Succ(m)], 'I', st);

          I:= StrToFloat(st);

          Naytikoordinatu(Stroka.Strings[Succ(m)], 'J', st);

          J:= StrToFloat(st);

          J:= J * 1000;

          I:= I * 1000;

          I:= I - X_nast;

          J:= J - Y_nast;

          Podhod_G41_G42_radius;

          if (I_sled = -1) and (J > 0) then J:= -J;

          if (I_sled = 1) and (J < 0) then J:= -J;

          if(J_sled = -1) and (I > 0) then I:= -I;

          if(J_sled = 1) and (I < 0) then I:= -I;

          if pos('J', kadr) <> 0

          then

            begin

              NaytiKoordinatu(kadr, 'J', st);

              PreobrazovanieVM(I, kadr);

            end

          else

            begin

              uslovie:= FindVstavki('J', kadr);

              Insert('J' + FloatToStr(I), kadr, uslovie);

            end;

          if pos('I', kadr) <> 0

          then

            begin

              NaytiKoordinatu(kadr, 'I', st);

              PreobrazovanieVM(J, kadr);

            end

          else

            begin

              uslovie:= FindVstavki('I', kadr);

              Insert('I' + FloatToStr(J), kadr, uslovie);

            end;

          X_pred:= X_nast;

          Y_pred:= Y_nast;

          exit;

        end

      else

        begin

          Podhod_G41_G42_line;

          if pos('I', kadr) <> 0

          then

            begin

              NaytiKoordinatu(kadr, 'I', st);

              PreobrazovanieVM(X_sled, kadr);

            end

          else

            begin

              uslovie:= FindVstavki('I', kadr);

              Insert('I' + FloatToStr(X_sled), kadr, uslovie);

            end;

          if pos('J', kadr) <> 0

          then

            begin

              NaytiKoordinatu(kadr, 'J', st);

              PreobrazovanieVM(Y_sled, kadr);

            end

          else

            begin

              uslovie:= FindVstavki('J', kadr);

              Insert('J' + FloatToStr(Y_sled), kadr, uslovie);

            end;

          exit;

        end;

    end;

  uslovie:= pos('I',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'I',vyh);

      if oshibka = 1 then

      else

        begin

          I:= StrToFloat(vyh) * 1000;

          I:= Int(I);                 // Îòáðàñûâàåì äðîáíóþ ÷àñòü

          I:= I - X_pred;

          preobrazovanieVM(I,kadr);

        end;

    end;

  uslovie:= pos('J',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'J',vyh);

      if oshibka = 1 then

      else

        begin

          J:= StrToFloat(vyh) * 1000;

          J:= Int(J);                  // Îòáðàñûâàåì äðîáíóþ ÷àñòü

          J:= J - Y_pred;

          preobrazovanieVM(J,kadr);

        end;

    end;

  uslovie:= pos('Z',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'Z',vyh);

      if oshibka = 1 then

      else

        begin

          Z:= StrToFloat(vyh) * 1000;

          Z:= Int(Z);                  // Îòáðàñûâàåì äðîáíóþ ÷àñòü

          preobrazovanieVM(Z,kadr);

        end;

    end;

  uslovie:= pos('A',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'A',vyh);

      if oshibka = 1 then

      else

        begin

          A:= StrToFloat(vyh) * 1000;

          A:= Int(A);                   // Îòáðàñûâàåì äðîáíóþ ÷àñòü

          preobrazovanieVM(A,kadr);

          Delete(kadr, uslovie, 1);

          Insert('U',kadr,uslovie);

        end;

    end;

  uslovie:= pos('K',kadr);

  if uslovie <> 0 then

    begin

      NaytiKoordinatu(kadr,'K',vyh);

      if oshibka = 1 then

      else

        begin

          K:= StrToFloat(vyh) * 1000;

          K:= Int(K);                  // Îòáðàñûâàåì äðîáíóþ ÷àñòü

          preobrazovanieVM(K,kadr);

        end;

    end;

  X_pred:= X_nast;

  Y_pred:= Y_nast;

end;



procedure PC_VM(var kadr: string);

var

  uslovie: integer;

  I_est: boolean;

  s, st: string;

begin

  if (pos('%', kadr) <> 0) or (pos('$', kadr) <> 0) then exit;

  I_est:= False;

  if (pos('I',kadr) <> 0) or (pos('J',kadr) <> 0) then I_est:= true;

  if pos('X',kadr) <> 0 then

    begin

      NaytiKoordinatu(kadr,'X',vyh);

      if oshibka = 1 then

      else

        begin

          X_nast:= StrToFloat(vyh) * 1000;

          X_nast:= Int(X_nast);                 // Îòáðàñûâàåì äðîáíóþ ÷àñòü

          preobrazovanieVM(X_nast,kadr);

        end;

    end

  else

    if I_est then

      begin

        uslovie:= pos('Y',kadr);            // Ïðåîáðàçóåì â ÷èñëî ñòðîêó

        insert('X' + FloatToStr(X_pred), kadr, uslovie);

      end;

  if pos('Y',kadr) <> 0 then

    begin

      NaytiKoordinatu(kadr,'Y',vyh);

      if oshibka = 1 then

      else

        begin

          Y_nast:= StrToFloat(vyh) * 1000;

          Y_nast:= Int(Y_nast);                 // Îòáðàñûâàåì äðîáíóþ ÷àñòü

          preobrazovanieVM(Y_nast,kadr);

        end;

    end

Ñòðàíèöû: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17



2012 © Âñå ïðàâà çàùèùåíû
Ïðè èñïîëüçîâàíèè ìàòåðèàëîâ àêòèâíàÿ ññûëêà íà èñòî÷íèê îáÿçàòåëüíà.