!This file is part of VEL_demo, copyright David Keyes, 2007. ! !This source file is free software: you can redistribute it and/or modify !it under the terms of the GNU General Public License as published by !the Free Software Foundation, either version 3 of the License, or !(at your option) any later version. ! !This code is distributed in the hope that it will be useful, !but WITHOUT ANY WARRANTY; without even the implied warranty of !MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the !GNU General Public License for more details. ! !For terms of the GNU General Public license see . ! This is to get around the 132 character limit on add_mbs ! ! function that caused problems because chr(34)+ ?? + chr(34) ! ! format takes up a lot of the space in the string ! MACRO MODULE addp_mbs( STRING type*132; STRING name*132; VAR STRING p(48)*132; INT npar); REF new_id; BEGINMODULE ! note that the name parameter will be a quoted string if it is not a part ! ! ie used in a group context with a group called "A" the calling module ! read part(#xx, addp_mbs("group", chr(34) + "A" + chr(34), array... ! if used in a part context it would be part(#xx, addp_mbs("part", frame, array... IF npar = 1 THEN new_id:=add_mbs(type , name, p(1)); ELIF npar = 2 THEN new_id:=add_mbs(type , name, p(1),p(2)); ELIF npar = 3 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3)); ELIF npar = 4 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4)); ELIF npar = 5 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5)); ELIF npar = 6 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6)); ELIF npar = 7 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7)); ELIF npar = 8 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8)); ELIF npar = 9 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9)); ELIF npar = 10 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10)); ELIF npar = 11 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11)); ELIF npar = 12 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12)); ELIF npar = 13 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13)); ELIF npar = 14 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14)); ELIF npar = 15 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15)); ELIF npar = 16 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16)); ELIF npar = 17 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17)); ELIF npar = 18 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18)); ELIF npar = 19 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19)); ELIF npar = 20 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20)); ELIF npar = 21 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21)); ELIF npar = 22 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22)); ELIF npar = 23 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23)); ELIF npar = 24 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24)); ELIF npar = 25 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25)); ELIF npar = 26 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26)); ELIF npar = 27 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27)); ELIF npar = 28 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28)); ELIF npar = 29 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29)); ELIF npar = 30 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30)); ELIF npar = 31 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31)); ELIF npar = 32 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32)); ELIF npar = 33 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33)); ELIF npar = 34 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34)); ELIF npar = 35 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35)); ELIF npar = 36 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36)); ELIF npar = 37 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37)); ELIF npar = 38 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38)); ELIF npar = 39 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39)); ELIF npar = 40 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39), p(40)); ELIF npar = 41 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39), p(40),p(41)); ELIF npar = 42 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39), p(40),p(41),p(42)); ELIF npar = 43 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39), p(40),p(41),p(42),p(43)); ELIF npar = 44 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39), p(40),p(41),p(42),p(43),p(44)); ELIF npar = 45 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39), p(40),p(41),p(42),p(43),p(44),p(45)); ELIF npar = 46 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39), p(40),p(41),p(42),p(43),p(44),p(45),p(46)); ELIF npar = 47 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39), p(40),p(41),p(42),p(43),p(44),p(45),p(46),p(47)); ELIF npar = 48 THEN new_id:=add_mbs(type , name, p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9), p(10),p(11),p(12),p(13),p(14),p(15),p(16),p(17),p(18),p(19), p(20),p(21),p(22),p(23),p(24),p(25),p(26),p(27),p(28),p(29), p(30),p(31),p(32),p(33),p(34),p(35),p(36),p(37),p(38),p(39), p(40),p(41),p(42),p(43),p(44),p(45),p(46),p(47),p(48)); ENDIF; ENDMODULE