/* @BCopierBoitePagesReliées @P @I © Gold Disk Inc. Février 1992 Modifié par Don Cox. Traduit par Fabien Larini le 23/07/93. Ce Génie est identique à CopierBoiteDansPages sauf que les boîtes sont reliées. */ /* @BCopyBoxToPagesLinked @P@ICopyright Gold Disk Inc. February, 1992 This Genie will copy a box and its contents to a range of pages. */ address command call SafeEndEdit.rexx() call ppm_AutoUpdate(0) arg box, startpage, endpage pageoptions = "GCHESDRTESTOUTES " if box = '' then do box = ppm_ClickOnBox("Clickez dans la Boîte à copier") if box = 0 then exit_msg() docstart = ppm_DocFirstPage() docend = ppm_DocLastPage() form = "De la Page:"docstart'0a'x "A la Page:"docend'0a'x "GCHES/DRTES/TOUTES" form = upper(ppm_GetForm("Sélection des options", 8, form)) if form = '' then exit_msg() parse var form startpage '0a'x endpage '0a'x pageopts if endpage = '' then exit_msg('Intervalle Incorrect') if pageopts = '' then pageopts = 'TOUTES' if startpage < docstart then exit_msg('Intervalle Incorrect') else if startpage > docend then exit_msg('Intervalle Incorrect') if endpage < docstart then exit_msg('Intervalle Incorrect') else if endpage > docend then exit_msg('Intervalle Incorrect') if endpage < startpage then exit_msg('Intervalle Incorrect') end if upper(word(ppm_GetBoxInfo(box), 1)) = "TEXTE" & ppm_TextOverFlow(box) then text = ppm_GetArticleText(box,1) else text = '' if datatype(startpage) ~= 'NUM' | datatype(endpage) ~= 'NUM' then call exit_msg("Saisie Incorrecte") if verify(pageopts, pageoptions) ~= 0 then exit_msg("Sasie Incorrecte") opos = pos(pageopts, pageoptions) if opos = 1 then do increment = 2 if (startpage // 2) then startpage = startpage + 1 end else if opos = 6 then do increment = 2 if ~(startpage // 2) then startpage = startpage + 1 end else increment = 1 do page = startpage to endpage by increment call ppm_ShowStatus("Travail en cours sur la page "page) newbox = ppm_CloneBox(box, 0, 0) call ppm_BoxChangePage(newbox, page) linked = ppm_LinkBox(box,newbox) box = newbox end exit_msg() exit_msg: procedure do parse arg message if message ~= '' then call ppm_Inform(1,message,) call ppm_ClearStatus() call ppm_AutoUpdate(1) exit end