$V=@Dialog.Select Выбери|Дир. углы|Румб %next $n=@Map.NextSelected @If $n=0 then @Break Пометь первую точку $nn=@Map.Object[$n].Parameter[4] $x=@Map.Object[$n].Parameter[-4] $x=@Calc Replace("$x",",",".") $x=@DequoteText $x $x=@DequoteText $x $y=@Map.Object[$n].Parameter[-3] $y=@Calc Replace("$y",",",".") $y=@DequoteText $y $y=@DequoteText $y @Map.DeselectAll @If $V=Румб then @Goto %end1 $a=@Dialog.Ask Угол 90,30,30 @If $a= then @Goto %end $d=@Dialog.Ask дистанция @If $d= then @Goto %end $a=@Calc Replace("$a",".",",") $a=@DequoteText $a $a=@DequoteText $a $d=@Calc Replace("$d",".",",") $d=@DequoteText $d $d=@DequoteText $d $a1=@StringPart 1,$a $a2=@StringPart 2,$a @If $a2= then $a2=0 $a3=@StringPart 3,$a @If $a3= then $a3=0 $a=(($a3/60+$a2)/60+$a1)*3.1415926535897932384626433832795028841971/180 %next1 $ac=@Calc Cos($a) ;@Break $ac $dx=$x+$ac*$d $dx=@Calc Replace("$dx",".",",") $dx=@DequoteText $dx $dx=@DequoteText $dx $as=@Calc sin($a) $dy=$y+$as*$d $dy=@Calc Replace("$dy",".",",") $dy=@DequoteText $dy $dy=@DequoteText $dy $nn=$nn+1 $N=@Map.AddObject 0|1|ID11340000|1|0 $dx $dy 0|1|ID11340000|1|4 $nn ; @Map.SelectByParameters 1|4>=$nn @Map.Selected.CreateCaptions ID93 0 0 1 0 0,1 1 Вид | Показать все @Map.SelectLayer $nn @Goto %next @Goto %end %end1 $a=@Dialog.Ask Четверть (3,90,30,30) $a=@Calc Replace("$a",".",",") $a=@DequoteText $a $a=@DequoteText $a $a1=@StringPart 1,$a $a2=@StringPart 2,$a $a3=@StringPart 3,$a @If $a3= then $a3=0 $a4=@StringPart 4,$a @If $a4= then $a4=0 $a=($a4/60+$a3)/60+$a2 @If $a1=2 then $a=180-$a @If $a1=3 then $a=180+$a @If $a1=4 then $a=360-$a $a=$a*3.1415926535897932384626433832795028841971/180 $d=@Dialog.Ask дистанция @If $d= then @Goto %end $d=@Calc Replace("$d",".",",") $d=@DequoteText $d $d=@DequoteText $d @Goto %next1 %end
Пользуйтесь
|