July 15, 200520 yr Jan,What do you mean by "Changing the positions of the @'s gave unpredictable results."??Tom
July 15, 200520 yr Tom,Just experimenting with position of @2 and spaces:@1 10 + (@2)@SecondTemp -@1 10 + (@2) @SecondTemp -@1 10 + @SecondTemp (@2) - instaed of yours:@1 10 + @SecondTemp(@2) - Jan"Beatus Ille Procul Negotiis" Jan "Beatus ille qui procul negotiis..."
July 15, 200520 yr Jan,Ok I see...But of course they will give unpredictable results.I think you have some confusion about the meaning of "(@nn)"For example, in your first experiment:@1 10 + (@2)@SecondTemp is the same as 30 10 + (20)@SecondtempSo both variants return an unexpected value to the stack.And the same for the other two.Parenthesis can only be used right after the macro's name without spaces, like @Macro(value1,(G:Var1),@1,(L:Var1,bool))"(@nn)" alone will depend on the stack's composition at that moment, which as you noticed, tends to be unpredictable.Tom
July 16, 200520 yr Here is one of that nested macro's:2@1 (>@g:popupMenu) @2 (>@g:popupMenuX) @3 (>@g:popupMenuY) @4 (>@g:popupMenuWidth) @5 (>@g:popupMenuHeight) @6 (>@g:popupMenuHeaderHeight) @7 (>@g:popupMenuLineHeight) @8 (>@g:popupMenuMaxElements) 0 (>@g:popupMenuCurrent) (@g:blinkingField) (>@g:blinkingFieldSaved) 0 (>@g:blinkingField) @InitBlinker@InvokePopupMenu(@kPopupMenuSelectApproach, 144, 36, 90, 171, 19, 1, (@c:WaypointAirportApproachesNumber)) (@g:currentAirportApproach) (>@g:popupMenuCurrent)etc.Translating that gives you some headache!Of course it works, but how? Jan"Beatus Ille Procul Negotiis" Jan "Beatus ille qui procul negotiis..."
July 16, 200520 yr Built a zoom switch and added some new zoom levels, Relevant parts below:Also added L vars to turn off each map component and an L var that controls level of text details asociated with airports, ndbs.vors etc.2000 1500 1000 500 350 200 150 100 50 35 20 15 10 7.5 5 4.5 4 3.5 3 2.5 2.0 1.5 1.0 0.576037 0.329164 0.246873 0.164582 0.082290 28 (L:maprange,enum) case (>L:setmapzoom,enum)%((L:setmapzoom,enum) s0 5 >=)%{if}%(l0)%!d!{dpl=nm}%{else}%(l0 1 >=)%{if}%(l0)%!.1f!{dpl=nm}%{else}%(l0 6076 *)%!d!{dpl=ft}%{end}%{end}%((@g:currentPageNAV) @kNAVPageDflt == if{ (@g:navPage0DetailLevel) } els{ (@g:navPage1DetailLevel) } s0 0 !=)%{if}-%(l0)%!d!%{end}150(L:setmapzoom,enum) 1852.0 *(A:GPS POSITION LAT, Radians)(A:GPS POSITION LON, Radians)(A:GPS GROUND TRUE TRACK, Radians)(L:airptmap,enum)(L:onairpmap,enum) (L:vormap,enum) (L:ilsmap,enum) (L:ndbmap,enum) (L:sectmap,enum) 1 (L:airptmap,enum) 0x808080 0x4F (L:airptmap,enum) (L:airptmap,enum)(L:airptmap,enum)(L:airptmap,enum) (L:airptmap,enum)0xE 0xF (@c:FlightPlanIsActiveApproach) ?1MAP ZOOM IN (L:maprange,enum) 1 - 0 max (>L:maprange,enum)MAP ZOOM OUT (L:maprange,enum) 1 + 27 min (>L:maprange,enum) %TEXT INFO DETAIL(%((L:airptmap,enum))%!03d!) (L:airptmap,enum) 1 - 0 max (>L:airptmap,enum)%AIRPORTS(%((L:airptmap,enum))%!03d!) (L:airptmap,enum) 1 + 3 min (>L:airptmap,enum)Last thing I am working on is an auto zoom function controlled by aircraft radio height that will set the zoom (especially for approaches) to let you see on the map exactly where you are.Steve
Create an account or sign in to comment