!******************************************************* MACRO MODULE ed_surc(REF id); !* Editerar SUR_CONIC. !* !* In: id = Identitet för storhet som skall !* editeras. !* !* (C)microform ab 1998-03-04 G. Liden !* !******************************************************* CONSTANT INT CUR_TYP=8; INT snum,pnum,npatv, status; STRING svar*10,alt*2,par*132; beginmodule !* !***Ta reda på vilken "strip" som skall editeras. !* getsurh(id,"NPATV",npatv); NSLOOP: if npatv > 1 then svar:=inpmt(get_tstr(1598)+" 1-"+str(npatv ,-1,0),"1",3); if svar = "" then exit(); else snum:=-1; snum:=round(val(svar)); if snum < 1 or snum > npatv then goto NSLOOP; endif; endif; else snum:=1; endif; !* !***Visa meny och läs in svar. !* psh_men(157); alt:=get_alt(""); pop_men(); !* !***Start kurva. !* if alt = "a1" then pnum:=(snum-1)*3+2; psh_pmt(get_tstr(1633)); par:=rstr(ident(CUR_TYP)); pop_pmt(); if substr(par,1,2) = "#0" then par:=""; endif; !* !***Start tangent kurva !* elif alt = "a2" then pnum:=(snum-1)*3+3; psh_pmt(get_tstr(1632)); par:=rstr(ident(CUR_TYP)); pop_pmt(); if substr(par,1,2) = "#0" then par:=""; endif; !* !***P-värdes kurva eller mitt kurva !* elif alt = "a3" then pnum:=(snum-1)*3+5; psh_pmt(get_tstr(1628)); par:=rstr(ident(CUR_TYP)); pop_pmt(); if substr(par,1,2) = "#0" then par:=""; endif; !* !***Slut kurva !* elif alt = "a4" then pnum:=(snum-1)*3+6; psh_pmt(get_tstr(1633)); par:=rstr(ident(CUR_TYP)); pop_pmt(); if substr(par,1,2) = "#0" then par:=""; endif; !* !***Slut tangent kurva !* elif alt = "a5" then pnum:=(snum-1)*3+7; psh_pmt(get_tstr(1632)); par:=rstr(ident(CUR_TYP)); pop_pmt(); if substr(par,1,2) = "#0" then par:=""; endif; else exit(); endif; !* !***Uppdatera. Observera att detta kan gå fel på många sätt. !***Syntaxfel vid kompilering. Run-time fel vid interpretering !***av såväl parametern som hela satsen. !* if par <> "" then updp_mbs(id,pnum,par); endif; endmodule !*******************************************************