diff --git a/ReleaseGenerators/PT4/PT4Setup.exe b/ReleaseGenerators/PT4/PT4Setup.exe index 21d2d38a7..a73d0a28d 100644 Binary files a/ReleaseGenerators/PT4/PT4Setup.exe and b/ReleaseGenerators/PT4/PT4Setup.exe differ diff --git a/ReleaseGenerators/PT4/PT4pabc.dll b/ReleaseGenerators/PT4/PT4pabc.dll index 62f2bdeb5..290df25b0 100644 Binary files a/ReleaseGenerators/PT4/PT4pabc.dll and b/ReleaseGenerators/PT4/PT4pabc.dll differ diff --git a/ReleaseGenerators/PT4/license-en.txt b/ReleaseGenerators/PT4/license-en.txt index cc8570415..c45257548 100644 --- a/ReleaseGenerators/PT4/license-en.txt +++ b/ReleaseGenerators/PT4/license-en.txt @@ -1,6 +1,6 @@ PROGRAMMING TASKBOOK FOR PASCALABC.NET - Copyright (c) M. Abramyan, 1998-2016 + Copyright (c) M. Abramyan, 1998-2018 LICENSE FOR USE AND DISTRIBUTION diff --git a/ReleaseGenerators/PT4/license-ru.txt b/ReleaseGenerators/PT4/license-ru.txt index d1f38c78e..cd6039036 100644 --- a/ReleaseGenerators/PT4/license-ru.txt +++ b/ReleaseGenerators/PT4/license-ru.txt @@ -3,7 +3,7 @@ PROGRAMMING TASKBOOK FOR PASCALABC.NET Ýëåêòðîííûé çàäà÷íèê ïî ïðîãðàììèðîâàíèþ (âåðñèÿ äëÿ ñèñòåìû PascalABC.NET) - Copyright (c) Ì. Ý. Àáðàìÿí, 1998-2016 + Copyright (c) Ì. Ý. Àáðàìÿí, 1998-2018 ËÈÖÅÍÇÈÎÍÍÎÅ ÑÎÃËÀØÅÍÈÅ ÎÁ ÈÑÏÎËÜÇÎÂÀÍÈÈ È ÐÀÑÏÐÎÑÒÐÀÍÅÍÈÈ diff --git a/TestSuite/CompilationSamples/PT4TaskMakerNET.pas b/TestSuite/CompilationSamples/PT4TaskMakerNET.pas index 68cf6c3c4..d8ac3a42d 100644 --- a/TestSuite/CompilationSamples/PT4TaskMakerNET.pas +++ b/TestSuite/CompilationSamples/PT4TaskMakerNET.pas @@ -1,13 +1,13 @@ -/// Конструктор для электронного задачника Programming Taskbook 4.11 +/// Конструктор для электронного задачника Programming Taskbook 4.14 unit PT4TaskMakerNET; //------------------------------------------------------------------------------ -// Конструктор для электронного задачника Programming Taskbook 4.11 +// Конструктор для электронного задачника Programming Taskbook 4.14 //------------------------------------------------------------------------------ // Модуль для создания NET-библиотек с группами заданий в системе PascalABC.NET // -// Copyright (©) 2013 М.Э.Абрамян -// Электронный задачник Programming Taskbook Copyright (c) М.Э.Абрамян,1998-2013 +// Copyright (c) 2013-2015 М.Э.Абрамян +// Электронный задачник Programming Taskbook Copyright (c) М.Э.Абрамян,1998-2015 //------------------------------------------------------------------------------ @@ -22,20 +22,25 @@ const SampleError = '#ERROR?'; MaxLineCount = 50; - lgPascal = $0001; - lgVB = $0002; - lgCPP = $0004; - lg1C = $0040; - lgPython = $0080; // добавлено в версии 4.10 - lgCS = $0100; - lgVBNET = $0200; - lgPascalNET = $0400; - lgJava = $10000; // добавлено в версии 4.11 - lgAll = $FFFFFF; // изменено в версии 4.10 - lgNET = $FF00; - lgWithPointers = $003D; - lgWithObjects = $FFF80; // добавлено в версии 4.11 - lgPascalABCNET = $0401; + lgPascal = $0000001; + lgPascalABCNET = $0000401; + lgPascalNET = $0000400; + lgPascalABCNET_flag + = $0000400; // добавлено в версии 4.14 + lgVB = $0000002; + lgCPP = $0000004; + lg1C = $0000040; + lgPython = $0000080; + lgPython3 = $1000080; // добавлено в версии 4.14 + lgPython3_flag = $1000000; // добавлено в версии 4.14 + lgCS = $0000100; + lgVBNET = $0000200; + lgJava = $0010000; // добавлено в версии 4.11 + lgRuby = $0020000; // добавлено в версии 4.12 + lgWithPointers = $000003D; + lgWithObjects = $00FFF80; // добавлено в версии 4.11 + lgNET = $000FF00; + lgAll = $0FFFFFF; // изменено в версии 4.10 type @@ -63,18 +68,18 @@ procedure CreateGroup(GroupName, GroupDescription, GroupAuthor, GroupKey: string procedure UseTask(GroupName: string; TaskNumber: integer); /// Должна указываться первой при определении нового задания -procedure CreateTask(SubgroupName: string); +procedure CreateTask(SubgroupName: string); overload; /// Должна указываться первой при определении нового задания -procedure CreateTask; +procedure CreateTask; overload; /// Должна указываться первой при определении нового задания /// (вариант для параллельного режима задачника) -procedure CreateTask(SubgroupName: string; var ProcessCount: integer); +procedure CreateTask(SubgroupName: string; var ProcessCount: integer); overload; /// Должна указываться первой при определении нового задания /// (вариант для параллельного режима задачника) -procedure CreateTask(var ProcessCount: integer); +procedure CreateTask(var ProcessCount: integer); overload; /// Позволяет определить текущий язык программирования, выбранный для задачника /// Возвращает значения, связанные с константами lgXXX @@ -383,10 +388,10 @@ procedure CommentText(S: string); /// Добавляет комментарий из другой группы заданий (или ее подгруппы, /// если ее второй параметр не является пустой строкой) -procedure UseComment(GroupName, SubgroupName: string); +procedure UseComment(GroupName, SubgroupName: string); overload; /// Добавляет комментарий из другой группы заданий -procedure UseComment(GroupName: string); +procedure UseComment(GroupName: string); overload; /// Устанавливает режим добавления комментария к подгруппе заданий procedure Subgroup(SubgroupName: string); diff --git a/TestSuite/formatter_tests/input/PT4TaskMakerNET.pas b/TestSuite/formatter_tests/input/PT4TaskMakerNET.pas index 9e4554c67..d8ac3a42d 100644 --- a/TestSuite/formatter_tests/input/PT4TaskMakerNET.pas +++ b/TestSuite/formatter_tests/input/PT4TaskMakerNET.pas @@ -1,13 +1,13 @@ -/// Конструктор для электронного задачника Programming Taskbook 4.11 +/// Конструктор для электронного задачника Programming Taskbook 4.14 unit PT4TaskMakerNET; //------------------------------------------------------------------------------ -// Конструктор для электронного задачника Programming Taskbook 4.11 +// Конструктор для электронного задачника Programming Taskbook 4.14 //------------------------------------------------------------------------------ // Модуль для создания NET-библиотек с группами заданий в системе PascalABC.NET // -// Copyright (c) 2013 М.Э.Абрамян -// Электронный задачник Programming Taskbook Copyright (c) М.Э.Абрамян,1998-2013 +// Copyright (c) 2013-2015 М.Э.Абрамян +// Электронный задачник Programming Taskbook Copyright (c) М.Э.Абрамян,1998-2015 //------------------------------------------------------------------------------ @@ -22,20 +22,25 @@ const SampleError = '#ERROR?'; MaxLineCount = 50; - lgPascal = $0001; - lgVB = $0002; - lgCPP = $0004; - lg1C = $0040; - lgPython = $0080; // добавлено в версии 4.10 - lgCS = $0100; - lgVBNET = $0200; - lgPascalNET = $0400; - lgJava = $10000; // добавлено в версии 4.11 - lgAll = $FFFFFF; // изменено в версии 4.10 - lgNET = $FF00; - lgWithPointers = $003D; - lgWithObjects = $FFF80; // добавлено в версии 4.11 - lgPascalABCNET = $0401; + lgPascal = $0000001; + lgPascalABCNET = $0000401; + lgPascalNET = $0000400; + lgPascalABCNET_flag + = $0000400; // добавлено в версии 4.14 + lgVB = $0000002; + lgCPP = $0000004; + lg1C = $0000040; + lgPython = $0000080; + lgPython3 = $1000080; // добавлено в версии 4.14 + lgPython3_flag = $1000000; // добавлено в версии 4.14 + lgCS = $0000100; + lgVBNET = $0000200; + lgJava = $0010000; // добавлено в версии 4.11 + lgRuby = $0020000; // добавлено в версии 4.12 + lgWithPointers = $000003D; + lgWithObjects = $00FFF80; // добавлено в версии 4.11 + lgNET = $000FF00; + lgAll = $0FFFFFF; // изменено в версии 4.10 type diff --git a/bin/Lib/PT4MakerNetX.pas b/bin/Lib/PT4MakerNetX.pas index d3989fccc..3844fa9e5 100644 --- a/bin/Lib/PT4MakerNetX.pas +++ b/bin/Lib/PT4MakerNetX.pas @@ -1,5 +1,5 @@ /// Конструктор учебных заданий для задачника Programming Taskbook. -/// Версия 1.5 от 27.03.2017 (©) М. Э. Абрамян, 2016-2017. +/// Версия 1.6 от 28.07.2018 (С) М. Э. Абрамян, 2016-2018. /// Все компоненты конструктора могут вызываться либо как классовые методы класса pt, /// либо как обычные константы и процедуры. unit PT4MakerNetX; @@ -1220,6 +1220,11 @@ begin '(имена процедур с заданиями должны начинаться с текста "Task").'); exit; end; + if tasks.Count > 999 then + begin + Show('Группа ' + GroupName + ' содержит более 999 заданий.'); + exit; + end; if Options and OptionUseAddition = OptionUseAddition then GroupKey := GroupKey + '#UseAddition#'; if Options and OptionHideExamples = OptionHideExamples then diff --git a/bin/Lib/PT4TaskMakerNET.pas b/bin/Lib/PT4TaskMakerNET.pas index 68cf6c3c4..d8ac3a42d 100644 --- a/bin/Lib/PT4TaskMakerNET.pas +++ b/bin/Lib/PT4TaskMakerNET.pas @@ -1,13 +1,13 @@ -/// Конструктор для электронного задачника Programming Taskbook 4.11 +/// Конструктор для электронного задачника Programming Taskbook 4.14 unit PT4TaskMakerNET; //------------------------------------------------------------------------------ -// Конструктор для электронного задачника Programming Taskbook 4.11 +// Конструктор для электронного задачника Programming Taskbook 4.14 //------------------------------------------------------------------------------ // Модуль для создания NET-библиотек с группами заданий в системе PascalABC.NET // -// Copyright (©) 2013 М.Э.Абрамян -// Электронный задачник Programming Taskbook Copyright (c) М.Э.Абрамян,1998-2013 +// Copyright (c) 2013-2015 М.Э.Абрамян +// Электронный задачник Programming Taskbook Copyright (c) М.Э.Абрамян,1998-2015 //------------------------------------------------------------------------------ @@ -22,20 +22,25 @@ const SampleError = '#ERROR?'; MaxLineCount = 50; - lgPascal = $0001; - lgVB = $0002; - lgCPP = $0004; - lg1C = $0040; - lgPython = $0080; // добавлено в версии 4.10 - lgCS = $0100; - lgVBNET = $0200; - lgPascalNET = $0400; - lgJava = $10000; // добавлено в версии 4.11 - lgAll = $FFFFFF; // изменено в версии 4.10 - lgNET = $FF00; - lgWithPointers = $003D; - lgWithObjects = $FFF80; // добавлено в версии 4.11 - lgPascalABCNET = $0401; + lgPascal = $0000001; + lgPascalABCNET = $0000401; + lgPascalNET = $0000400; + lgPascalABCNET_flag + = $0000400; // добавлено в версии 4.14 + lgVB = $0000002; + lgCPP = $0000004; + lg1C = $0000040; + lgPython = $0000080; + lgPython3 = $1000080; // добавлено в версии 4.14 + lgPython3_flag = $1000000; // добавлено в версии 4.14 + lgCS = $0000100; + lgVBNET = $0000200; + lgJava = $0010000; // добавлено в версии 4.11 + lgRuby = $0020000; // добавлено в версии 4.12 + lgWithPointers = $000003D; + lgWithObjects = $00FFF80; // добавлено в версии 4.11 + lgNET = $000FF00; + lgAll = $0FFFFFF; // изменено в версии 4.10 type @@ -63,18 +68,18 @@ procedure CreateGroup(GroupName, GroupDescription, GroupAuthor, GroupKey: string procedure UseTask(GroupName: string; TaskNumber: integer); /// Должна указываться первой при определении нового задания -procedure CreateTask(SubgroupName: string); +procedure CreateTask(SubgroupName: string); overload; /// Должна указываться первой при определении нового задания -procedure CreateTask; +procedure CreateTask; overload; /// Должна указываться первой при определении нового задания /// (вариант для параллельного режима задачника) -procedure CreateTask(SubgroupName: string; var ProcessCount: integer); +procedure CreateTask(SubgroupName: string; var ProcessCount: integer); overload; /// Должна указываться первой при определении нового задания /// (вариант для параллельного режима задачника) -procedure CreateTask(var ProcessCount: integer); +procedure CreateTask(var ProcessCount: integer); overload; /// Позволяет определить текущий язык программирования, выбранный для задачника /// Возвращает значения, связанные с константами lgXXX @@ -383,10 +388,10 @@ procedure CommentText(S: string); /// Добавляет комментарий из другой группы заданий (или ее подгруппы, /// если ее второй параметр не является пустой строкой) -procedure UseComment(GroupName, SubgroupName: string); +procedure UseComment(GroupName, SubgroupName: string); overload; /// Добавляет комментарий из другой группы заданий -procedure UseComment(GroupName: string); +procedure UseComment(GroupName: string); overload; /// Устанавливает режим добавления комментария к подгруппе заданий procedure Subgroup(SubgroupName: string); diff --git a/bin/PT4/PT4Setup.exe b/bin/PT4/PT4Setup.exe index 869568165..a73d0a28d 100644 Binary files a/bin/PT4/PT4Setup.exe and b/bin/PT4/PT4Setup.exe differ diff --git a/bin/PT4/license-en.txt b/bin/PT4/license-en.txt index dc0a00575..c45257548 100644 --- a/bin/PT4/license-en.txt +++ b/bin/PT4/license-en.txt @@ -1,6 +1,6 @@ PROGRAMMING TASKBOOK FOR PASCALABC.NET - Copyright (c) M. Abramyan, 1998-2015 + Copyright (c) M. Abramyan, 1998-2018 LICENSE FOR USE AND DISTRIBUTION diff --git a/bin/PT4/license-ru.txt b/bin/PT4/license-ru.txt index 13d4d808e..cd6039036 100644 --- a/bin/PT4/license-ru.txt +++ b/bin/PT4/license-ru.txt @@ -3,7 +3,7 @@ PROGRAMMING TASKBOOK FOR PASCALABC.NET Ýëåêòðîííûé çàäà÷íèê ïî ïðîãðàììèðîâàíèþ (âåðñèÿ äëÿ ñèñòåìû PascalABC.NET) - Copyright (c) Ì. Ý. Àáðàìÿí, 1998-2015 + Copyright (c) Ì. Ý. Àáðàìÿí, 1998-2018 ËÈÖÅÍÇÈÎÍÍÎÅ ÑÎÃËÀØÅÍÈÅ ÎÁ ÈÑÏÎËÜÇÎÂÀÍÈÈ È ÐÀÑÏÐÎÑÒÐÀÍÅÍÈÈ diff --git a/bin/PT4/pt4pabc.dll b/bin/PT4/pt4pabc.dll index 62f2bdeb5..290df25b0 100644 Binary files a/bin/PT4/pt4pabc.dll and b/bin/PT4/pt4pabc.dll differ