Что нового

Просмотров: 71706

Последняя версия:

PascalABC.NET 3.3 + Microsoft .NET Framework v4.0 (Setup, 70 Mb) (первая установка)
PascalABC.NET 3.3 StandardPack (Setup, 10 Mb) (обновление установки)

[30.08.17] Вышла версия 3.3.0.1531

  • Новый модуль 3D-графики Graph3D
  • Новый модуль растровой графики GraphWPF
  • Улучшен Intellisense в лямбда-выражениях

Основные изменения после выхода версии 3.2:

  • Реализованы виртуальные свойства
  • Делегатам можно присваивать лямбда-выражения
  • Реализовано кортежное присваивание var (a,b) := (1,2)
  • Добавлен цикл loop
  • Ускорение компиляции за счет поиска стандартных dll только в GAC
  • operator* и operator+ для процедур
  • Ряд новых методов расширения для двумерных массивов
  • Обновление версии PascalABC.NET из оболочки
  • Полная поддержка Nullable<T>
  • Операция безопасного среза: a?[-1:5:2]

[26.07.17] Версия 3.2.0.1507

  • Украинская локализация
  • Для SortedSet и HashSet: s + x
  • Добавлена стандартная функция TryRead для безопасного ввода
  • Добавлены стандартные функции ReadInteger2, Random2 и аналогичные
  • Добавлено окно дизассемблера
  • Добавлен цикл loop

[01.06.17] Версия 3.2.0.1463

  • Добавление сборок из репозитория NuGet в проектах (экспериментальная возможность)
  • Добавлена стандартная функция Log(r: real)- синоним Ln
  • Реализовано кортежное присваивание var (a,b) := (1,2)
  • Произведен рефакторинг таблицы символов
  • Добавлена стандартная функция PascalABCVersion
  • Реализовано присваивание nil типу Nullable
  • Добавлен стандартный модуль Speech
  • Узлы синтаксического дерева теперь сериализуются в xml
  • Инсталлятор проверяет, запущен ли PascalABC.NET
  • В GraphABC добавлена статус-строка (свойство StatusBar)
  • Введена f.Readln для текстовых файлов
  • Введены a.Fill для одномерных и двумерных массивов
  • Добавлены методы Transform ConvertAll для матриц
  • В стандартный модуль добавлен описатель %GAC% для поиска dll только в %GAC% 

[25.03.17] Версия 3.2.0.1415

  • Добавлены методы расширения SetRow, SetCol, ElementsByRow, ElementsByCol, ElementsWithIndexes для матриц
  • Добавлены стандартные функции ReadMatrInteger, ReadMatrReal
  • Добавлен метод расширения IsMatch для строк
  • Устранена ошибка с зацикливанием Intellisense
  • Устранена ошибка с неактивностью окна опций
  • operator* для процедуры и числа
  • operator+ для процедур - исправление ошибки с делегатом
  • array, list: a + a1  a * 3
  • stack, queue: s += 3; q += 3
  • Новый стандартный модуль PABCExtensions для расширений file of T
  • Исправлена ошибка с a[:][:]

[19.01.17] Версия 3.2.0.1377

  • Добавлены операции отношения < > <= >= для кортежей
  • Добавлен метод LineRel в GraphABC
  • Унифицирована подсказка по методам расширения
  • Добавлена операция безопасного среза: a?[-1:5:2]

[22.11.16] Версия 3.2.0.1345

  • Добавлена Sort(a,cmp)
  • Для двумерных массивов добавлены свойства a.RowCount, a.ColCount, методы a.Row(k), a.Col(k), a.Print
  • Изменена грамматика: лямбда-выражения теперь допустимы только в правой части присваивания и в качестве фактических параметров подпрограмм
  • Функции MatrixRandom заменены на MatrRandom (по аналогии с ArrRandom)
  • В модулях Робот и Чертежник реализованы русские команды
  • Изменена толщина линии Чертежника по умолчанию
  • Для списков реализована операция l += l1
  • Исправлено форматирование текста программы с комментарием после end.

[18.10.16] Версия 3.2.0.1324

  • Реализовано (var a, var b) := (1,2)

[17.09.16] Версия 3.2.0.1313

  • Появился пункт меню "Проверить обновления"
  • Предупреждение "Параметр цикла for в PascalABC.NET должен описываться в заголовке цикла"

[29.08.16] Вышла версия 3.2 (3.2.0.1311)

  • Реализован оператор yield
  • Реализован оператор yield sequence
  • Добавлено большое количество методов расширения в PABCSystem

[25.04.16] Версия 3.1.0.1228

  • Реализовано описание типов List<(integer,integer)> и List<(integer,integer)->integer>

[29.03.16] Версия 3.1.0.1210

  • Переделано поведение слайсов a[2:4:2]: теперь запрещен выход за границы (в частности, отрицательный from) и запрещены такие слайсы для последовательностей.

[11.03.16] Версия 3.1.0.1198

  • Реализован метод расширения List<T>.RemoveLast
  • Реализованы срезы a[2:4:2]

[09.03.16] Версия 3.1.0.1196

  • Исправлен ряд ошибок в справочной системе

[02.03.16] Версия 3.1.0.1182

  • Справочная система согласована с обновлённым PABCSystem

[10.02.16] Вышла версия 3.1 (3.1.0.1167)

  • Добавлен стандартный тип Complex и функция Cplx(re,im)
  • В стандартные методы Reset, Rewrite, Append, OpenRead, OpenWrite, OpenAppend добавлен параметр - кодировка. Кодировка по умолчанию - 1251
  • Реализованы кортежи в виде (a,b,c+1)
  • Реализованы типы кортежей в виде var t :(integer,string);
  • Реализовано кортежное присваивание (a,b,c) := (c,a,b)
  • Реализованы множественные секции uses
  • Реализован foreach по многомерным массивам
  • Стандартные Chr и Ord теперь работают с кодировкой Unicode. Для кодировки Windows реализованы ChrAnsi и OrdAnsi

[10.01.16] Версия 3.0.0.1139

  • Реализована операция индексации для кортежей: var t := Rec(2.4,555); t[0] означает t.Item1
  • Реализована операция in для динамических массивов, множеств HashSet и SortedSet, словарей и списков
  • Реализованы операции + * - < > <= >= = <> для HashSet
  • Реализованы операции += для множеств и списков
  • Введены новые стандартные короткие функции HSet, SSet, Lst
  • Добавлен новый стандартный учебный модуль ClientServer
  • Добавлены стандартные функции RoundBigInteger, TruncBigInteger, метод расширения string.ToBigInteger
  • Добавлены методы расширения char.ToDigit, char.Pred, char.Succ, char.IsDigit, char.IsLetter, char.Code, char.IsLower, char.IsUpper, char.ToLower, char.ToUpper

[31.12.15] Версия 3.0.0.1128

  • Реализованы обобщенные методы расширения для операций: function operator+<T>(a,b: array of T): array of T; extensionmethod;
  • Сборка проекта и выполнение тестов в Linux.
  • Уменьшено потребление памяти в Intellisense.

[22.12.15] Версия 3.0.0.1116

  • Реализована отладка в .inc-файлах (первый внешний pull-request от Slav76!).
  • Реализован новый синтаксис extension-методов (новое ключевое слово extensionmethod). Это позволило делать методы расширения для array of T.
  • Добавлен ряд extension-методов для типа char, для типа array of T.
  • Изменен порядок параметров в стандартных функциях SeqGen, SeqFill, ArrGen и ArrFill.

[28.08.15] Вышла версия 3.0 (3.0.0.1024)

  • [27.08.15] Исправлена ошибка при совместном использовании вложенных лямбда-выражений и безымянных классов.
  • [10.08.15] Улучшен автовывод типов для лямбда-выражений.
  • [02.08.15] Обновлён Programming Taskbook до версии 4.14.
  • [02.08.15] Реализованы русские идентификаторы.
  • [14.06.15] Реализованы вложенные лямбды.
  • [20.05.15] Реализовано описание процедурного типа в виде T->T, ()->T, (T1,T2)->()
  • [15.05.15] Реализован тип sequence of T как синоним типа IEnumerable<T>
  • [15.05.15] Методы Seq теперь возвращают последовательность, реализованы аналогичные методы Arr, возвращающие динамические массивы.
  • [28.04.15] Реализована инициализация процедурных переменных лямбдами при описании: var f: IntFunc := x->x*x;
  • [23.04.15] Реализованы стандартные функции генерации случайных матриц MatrixRandom и MatrixRandomReal.
  • [23.04.15] Реализованы замыкания для параметров подпрограмм и полей классов.
  • [14.04.15] В модуль GraphABC добавлена процедура Draw рисования растрового изображения из файла.
  • [08.04.15] Добавлена стандартная процедура Sort для динамических массивов и списков.
  • [08.04.15] Для типа BigInteger реализованы операции div и mod.
  • [08.04.15] Для типа IEnumerable<T> реализован метод расширения Sorted.
  • [22.03.15] Для типа IEnumerable<T> и строк определена операция * на число.
  • [22.03.15] Для типа IEnumerable<T> определена операция +.
  • [22.03.15] Добавлен метод расширения класса string s.Inverse.
  • [22.03.15] Добавлены стандартные функции OpenRead, OpenWrite и OpenAppend для текстовых файлов.
  • [14.03.15] Реализованы замыкания локальных переменных.
  • [14.03.15] Добавлены стандартные функции SeqRandom и SeqRandomReal.
  • [14.03.15] В модуль GraphABC добавлена процедура Draw рисования графика функции.
  • [02.03.15] Добавлены операция =>, создающая KeyValuePair, а также функция Dict, создающая словарь: var d := Dict('бегемот'=>2,'крокодил'=>3).
  • [22.02.15] Добавлены атрибуты для модулей и сборок.
  • [08.02.15] События в интерфейсах.
  • [08.02.15] Восстановлен синтаксис сокращенного описания методов в реализации.
  • [11.01.15] Восстановлено докирование окон.
  • [11.01.15] В контекстном меню редактора появились примеры, связанные с некоторыми ключевыми словами.
  • [11.01.15] Модуль GraphABC адаптирован к высоким разрешениям экрана.
  • [11.01.15] Интегрированная среда адаптирована к высоким разрешениям экрана.
  • [11.01.15] Переход к определению по Ctrl-Click.
  • [02.11.14] Автоформатирование по умолчанию убирает лишние пробелы (это можно изменить в настройках).
  • [01.11.14] Восстановлен синтаксис var a := new integer[3,1]((1),(2),(3)).
  • [01.11.14] Исправлена ошибка в работе Seq(1,3,4).
  • [01.11.14] Реализован синтаксис var a := new integer[](1,3,4).
  • [25.10.14] Консольный компилятор сделан по умолчанию с английским интерфейсом. В консольный компилятор добавлен файл install_pabcnetc.bat, после вызова которого консольный компилятор работает многократно быстрее.
  • [30.08.14] Интегрирована версия 4.13 электронного задачника PT4, реализующая многократное автоматическое тестирование.
  • [26.08.14] Улучшено автовыведение типов в лямбдах, реализованы вложенные лямбды.
  • [26.08.14] Реализован case по строкам.
  • [26.08.14] Ускорено выполнение foreach по контейнеру с размерными типами.
  • [11.05.14] Обновлена версия Programming Taskbook до версии 4.12 от 10.05.14.
  • [11.05.14] Уменьшено потребление памяти при компиляции.
  • [11.05.14] Уменьшен размер генерируемого exe-файла и ускорена компиляция по Ctrl-F9
  • [11.05.14] Добавлены стандартные функции Seq и SeqWhile, возвращающие последовательность элементов, а также перегруженные версии функции Range.
  • [09.04.14] Исправлена ошибка с автоформатированием модулей простой структуры.
  • [07.04.14] По F1 на имени .NET-класса или пространства имен открывается online MSDN.
  • [30.03.14] Сделан выбор пути папки PABCWork.NET при инсталляции.
  • [26.03.14] Реализованы автоклассы: type Point = auto class x,y: integer; end; Для автоклассов автоматически генерируется конструктор и переопределяется метод ToString.
  • [26.03.14] В электронном задачнике PT4 появились группы задач ExamBegin, ExamTaskC.
  • [23.03.14] Основные имена коллекций и интерфейсов перенесены из System.Collections.Generic в системный модуль PABCSystem.
  • [19.03.14] Исправлена ошибка с некорректной проверкой типа элементов в foreach.
  • [19.03.14] Реализована конструкция foreach var, в том числе в genericах.
  • [13.03.14] Обновлен задачник PT4 до двуязычной версии 4.12.
  • [01.03.14] Реализована функция MillisecondsDelta.
  • [28.02.14] Реализована функция Range(a,b), генерирующая последовательность целых от a до b в виде IEnumerable<integer>: Range(1,100).Where(IsSimple).Println().
  • [28.02.14] Реализованы методы расширения IEnumerable<T>: Print(), Println().
  • [28.02.14] Реализована процедура Print(a,b,c), разделяющая значения пробелами (как в Python).
  • [18.02.14] Реализованы методы расширения s.ToInteger, s.ToReal для преобразования строки в целое и вещественное.
  • [18.02.14] Реализованы функции s.ToWords, s.ToIntegers, s.ToReals для преобразования строки в массив данных соответствующего типа.
  • [18.02.14] Реализованы функции ReadIntegerFromString, ReadRealFromString, ReadWordFromString, а также соответствующие методы расширения s.ReadInteger, s.ReadReal, s.ReadWord для считывания данных соответствующих типов из строк.

[17.02.14] Вышла версия 2.2 (2.2.0.683)

  • [17.02.14] Ускорена компиляция на 90%.
  • [15.02.14] Значительно ускорено обращение к символу строки s[i] на запись
  • [15.02.14] В 5 раз по сравнению с integer.Parse ускорены функции StrToInt и TryStrToInt.
  • [14.02.14] Тип BigInteger сделан стандартным.
  • [13.02.14] Оптимизировано выполнение функций Ord и Chr для символов ASCII (первая половина кодовой таблицы).
  • [13.02.14] Оптимизировано чтение строк из текстовых файлов.
  • [01.02.14] При вводе из текстового файла теперь корректно обрабатываются концы строк в формате Linux.
  • [28.12.13] Обновлена версия электронного задачника PT4.
  • [15.12.13] Исправлена ошибка с вводом нескольких пустых строк.
  • [12.12.13] Исправлены ошибки с изменениями параметров командной строки и с просмотром в дебаггере элементов массива с выходом за границы
  • [03.11.13] Исправлена ошибка с s.Count, где s: string
  • [09.09.13] Добавлено явное преобразование boolean в целые
  • [20.07.13] Для сокращенного определения функций реализован автовывод типа возвращаемого значения function Add(a,b: integer) := a+b;
  • [20.07.13] В язык введено сокращенное определение процедур и функций с одним оператором-выражением: procedure p := write(1) и function Add(a,b: integer): integer := a+b;
  • [15.07.13] Исправлена ошибка с обработчиками по умолчанию в дизайнере форм
  • [11.07.13] В язык введены безымянные классы вида var Person1 := new class(Name := 'Петров', Age := 2), обладающие структурной эквивалентностью типов
  • [23.06.13] Исправлена ошибка с where IComparable<T>
  • [23.06.13] Исправлена работа оператора sizeof - он запрещен для параметров обобщенных типов и возвращает значение для любых необобщенных типов
  • [10.06.13] Введены лямбда-выражения с синтаксисом procedure (x) -> write(x) и function (x) -> x*x в качестве инициализаторов переменных-делегатов
  • [10.06.13] Для методов расширения стала доступна перегрузка
  • [10.06.13] Для функций без параметров, являющихся методами расширения, можно не ставить () при вызове
  • [29.05.13] Убраны предупреждения об отсутствии возврата значения в лямбдах
  • [29.05.13] Изменена семантика абстрактных методов
  • [29.05.13] Исправлена ошибка с докингом окон в 64-битной версии Windows
  • [28.05.13] Улучшена поддержка лямбда-выражений
  • [26.05.13] Проведены оптимизации в коде загрузки среды
  • [26.05.13] Исправлена ошибка с атрибутом FieldOffset

[15.05.13] Вышла версия 2.1 (2.1.0.555)

  • [15.05.13] Добавлена английская локализация интерфейса и сообщений об ошибках
  • [15.05.13] Добавлена возможность печати
  • [16.04.13] Исправлена ошибка с ошибочным кодом для PictureBox в дизайнере форм
  • [04.04.13] Упрощены имена в генерируемом дизайнером форм коде
  • [12.03.13] Исправлен ряд ошибок в дизайнере форм и в проектах
  • [01.03.13] Исправлена ошибка c циклом for downto с переменной цикла, используемой в замыкании
  • [13.02.13] Исправлена ошибка с добавлением существующего файла в проект
  • [12.02.13] Проекты .pabcproj при открытии запускают PascalABC.NET

[04.02.13] Вышла версия 2.0 (2.0.0.520)

Основные изменения в версии 2.0

  • Дизайнер форм
  • Работа с проектами
  • Новый парсер языка PascalABC.NET, построенный на генераторе компиляторов GPPG
  • Полностью переработанный движок директив компиляции {$...}
  • Ключевое слово final заменено на sealed

Изменения до версии 2.0

  • [09.11.12] Изменен интерфейс окна электронного задачника, ошибки ввоода-вывода стали более информативными, появилось выделение разными цветами
  • [06.11.12] Вышла версия 1.5 Web-среды разработки. В WDE добавлена поддержка задачника Programming Taskbook для IronPython
  • [06.11.12] Исправлена ошибка с вводом типа single
  • [06.11.12] В дистрибутив добавлен консольный компилятор pabcnetcclear.exe без подсветки и паузы после компиляции
  • [06.11.12] Исправлена ошибка с неправильной инсталляцией файла Results.abc и файлов примеров
  • [01.06.12] Исправлена ошибка с неправильным выбором метода расширения Min
  • [27.05.12] Вышла версия 1.4 Web-среды разработки. В WDE добавлена поддержка компиляторов F# и IronPython. WDE переименована в ProgrammingABC.NET WDE
  • [27.05.12] Исправлена неточность с подключением методов расширения
  • [23.03.12] Исправлен тип self для обобщенного типа
  • [23.03.12] Исправлено падение компилятора в разборе ошибочного условия not a <> b, где а - генерик 
  • [23.03.12] Исправлена ошибка невозможности наследования от инстанцированного обобщенного типа 
  • [12.02.12] Исправлен глюк, связанный с отображением неправильного курсора после отключения сворачивания кода в редакторе
  • [12.02.12] Исправлена ошибка с вызовом Split
  • [11.02.12] Улучшена генерация кода для выполнения под Mono. Под Mono пройдены все тесты на компиляцию и выполнение
  • [11.02.12] Оптимизированы присваивание и копирование записей.
  • [11.02.12] Исправлена ошибка с вложенным записями на 64-битной Windows 7
  • [23.01.12] Вышла версия 1.3 Web-среды разработки. WDE переведена на .NET 4.0
  • [19.01.12] Исправлена ошибка с ярлыком папки Samples в Главном меню
  • [19.01.12] По подсказке по точке вначале выдаются обычные методы и затем - методы расширения
  • [16.01.12] Вернули возможность break и continue внутри foreach
  • [15.01.12] Исправлена ошибка неопознания методов с именами, совпадающими с именами методов расширений (s.Contains(s1))
  • [08.12.11] Вышла версия 1.2 Web-среды разработки. Добавлены роли "Учитель" и "Ученик", возможность создавать группы.
  • [05.12.11] Исправлена ошибка медленной компиляции методов расширений
  • [05.12.11] Исправлена ошибка writeln(random:8:3)
  • [26.11.11] Исправлена ошибка инсталляции при отсутствующем диске С:
  • [25.10.11] Добавлен модуль PT4Exam, содержащий задания ЕГЭ для электронного задачника
  • [21.08.11] Добавлено несколько примеров для .NET 4.0, в т.ч. примеры с длинными целыми и комплексными числами

[19.08.11] Вышла версия 1.8 (1.8.0.469)

  • [19.08.11] Добавлена возможность компиляции и выполнения C# - программ
  • [19.08.11] Осуществлён переход на .NET 4.0
  • [30.06.11] Вышла версия 1.1 Web-среды разработки. Осуществлён переход на Silverlight-сокеты. Графический вывод стал более равномерным
  • [06.06.11] Исправлена ошибка: Pos('',s) теперь возвращает 0, а не 1
  • [06.06.11] Исправлена ошибка с указателем на запись-обобщение
  • [20.05.11] Исправлена ошибка с инициализацией объекта класса как записи
  • [20.05.11] Исправлена ошибка с константными параметрами-записями
  • [19.05.11] Исправлена ошибка с указателями на записи, содержащие строки (теперь сборщик мусора работает с ними корректно)  
  • [05.05.11] Исправлены ошибки в методах расширения 
  • [25.04.11] Файл PABCRtl.dll теперь инсталлируется в GAC и не создается в каждой папке в режиме ускорения запуска из-под оболочки

[13.04.11] Вышла версия 1.7 (1.7.0.448)

  • [10.04.11] Реализованы основные директивы OpenMP
  • [08.04.11] Вышла версия 1.0 Web-среды разработки. В WDE внедрен электронный задачник Programming Taskbook, а также 16 дополнительных задач из ЕГЭ по информатике.
  • [01.04.11] Исправлена ошибка работы Assert в WDE
  • [30.03.11] Исправлена ошибка с integer.Parse('12'):= 3
  • [13.03.11] Исправлена ошибка с чтением пользовательских dll, имеющих зависимости от других пользовательских dll
  • [13.03.11] Запрещены на уровне синтаксиса бестиповые параметры
  • [12.03.11] Устранено отображение паразитарных символов в редакторе WDE при переходе на новую строку
  • [12.03.11] Устранена ошибка работы WDE в Internet Explorer 8.0
  • [12.03.11] Добавлены функции ReadlnInteger и аналогичные
  • [12.03.11] Исправлена работа read(s1,s2)
  • [09.03.11] Исправлена работа функций Copy, Insert, Delete - теперь они не выдают исключений при любых значениях параметров (как в Delphi)
  • [09.03.11] Исправлено считывание лишнего символа в read(i)
  • [09.03.11] Исправлена ошибка с перегрузкой процессора в результате зацикливания Intellisense при разборе значения сложных констант
  • [09.03.11] Исправлена ошибка вызова методов расширения для строк
  • [07.03.11] Исправлена ошибка c function f: Result
  • [06.02.11] Исправлена ошибка, в результате которой возникала ошибка в режиме ускорения запуска из-под оболочки в Windows 7 64 бит
  • [31.12.10] Задачник Programming Taskbook адаптирован под 64-разрядную версию Windows 7
  • [19.12.10] Исправлена ошибка с вызовом конструктора записи
  • [28.11.10] Исправлена ошибка с mod для типа uint64
  • [28.11.10] Исправлена ошибка инициализации локальной переменной вызовом функции
  • [28.11.10] Исправлена ошибка в справке - array [] of integer синтаксически неверно
  • [27.11.10] Модифицирован модуль FormsABC, добавлены примеры для модуля FormsABC
  • [18.11.10] Добавлен модуль FormsABC
  • [18.11.10] Исправлена ошибка в модуле ABCObjects при выходе объекта за границы рисования

[15.11.10] Вышла версия 1.6 (1.6.0.423)

  • [14.11.10] Добавлен пункт меню "Документация по .NET"
  • [14.11.10] Исправлена ошибка с неверным сохранением координат окна исполнителей
  • [14.11.10] Исправлена ошибка с uses a in ''
  • [14.11.10] Исправлена ошибка в алгоритме выбора перегруженного метода
  • [14.11.10] Исправлена ошибка с подвисанием среды при большом выводе на экран в цикле
  • [14.11.10] Исправлена ошибка с невозможностью использования вложенных классов .NET
  • [14.11.10] Исправлена ошибка с появлением посторонних символов при длинном выводе русских букв
  • [14.11.10] Исправлена ошибка со сбросом настроек при переключении вкладок опций

[17.10.10] Вышла версия 1.6 beta (1.6.0.417)

  • [17.10.10] Реализована контекстная справка (F1) по .NET-библиотекам
  • [10.05.10] Реализованы лямбды - пока с явной аннотацией типов (x: integer => x*x).
  • [21.09.10] Обновлен модуль PT4.
  • [21.09.10] Исправлена ошибка отсутствия средств IntelliSense в Mini-версии.
  • [01.07.10] Вышла версия WDE 0.7 c модулем графики Graph - упрощенным GraphABC.
  • [23.06.10] Исправлена ошибка с совместимостью процедурных типов в += и -=
  • [21.06.10] Исправлена ошибка с использованием типа array of integer в лямбдах
  • [20.06.10] Изменен алгоритм сравнения строк - теперь строки сравниваются как в Delphi - согласно кодам символов (сборка 410)
  • [19.06.10] Исправлена ошибка: перечислимые типы .NET теперь можно сравнивать на <
  • [18.06.10] Вышла версия WDE 0.6 с возможностью для зарегистрированных пользователей разрешить доступ к своим файлам на чтение другим пользователям
  • [15.06.10] Исправлена ошибка with b do OnClick += MyClick
  • [15.06.10] Исправлена ошибка Read(f,s[1]), где s: string, f: file of char
  • [15.06.10] Исправлена ошибка Read(s[1]), где s: string
  • [14.06.10] Обновлён электронный задачник PT4 до версии PT 4.9
  • [19.05.10] Исправлена ошибка с закрытием модуля при трассировке
  • [18.05.10] Исправлена ошибка с конструкцией (a:5:2).ToString
  • [13.05.10] Исправлена ошибка с видимостью конструкторов по умолчанию. Если в базовом классе определен конструктор по умолчанию, а в производном - нет, то он наследуется с тем же атрибутом видимости.

[11.05.10] Вышла версия 1.5 (1.5.0.393)

  • [10.05.10] Реализованы лямбды - пока с явной аннотацией типов (x: integer => x*x).
  • [10.05.10] После окончания CRT программы теперь нельзя вводить символы.
  • [04.05.10] Добавлены стандартные процедуры Exec, Execute.
  • [04.05.10] Методы расширения можно использовать теперь для обобщенных классов.
  • [19.04.10] Исправлена ошибка работы оператора case при вызове в обработчике события
  • [15.04.10] Добавлены стандартные функции ReadInteger, ReadReal, ReadString, ReadChar, ReadBoolean
  • [15.04.10] Исправлена ошибка с выведением типов в методах расширений LINQ
  • [08.04.10] Исправлена ошибка с выведением file of T
  • [08.04.10] Исправлена ошибка приведения интерфейсов к типу object
  • [21.03.10] Глобальные события (модуля)
  • [19.03.10] Исправлена ошибка с запуском по Shift-F9 файлов с русскими буквами в пути файла
  • [19.03.10] Вышла версия WDE 0.5 с возможностью создания, удаления и переименования папок зарегистрированными пользователями
  • [14.03.10] Исправлена ошибка с Исполнителями Робот и Чертежник, не сообщавшими о выполнении задания
  • [14.03.10] Исправлена ошибка копирования dll при ускорении запуска из среды
  • [14.03.10] Исправлена ошибка с русскими буквами в препроцессоре ({$resource 'Открыть.png'})
  • [12.03.10] Исправлена ошибка с forward в модулях с упрощенным синтаксисом
  • [11.03.10] Исправлена ошибка с автоформатированием при выделенном коде
  • [05.03.10] Исправлена ошибка с ускорением запуска из среды при нестандартном каталоге для выходных файлов
  • [04.03.10] Исправлена ошибка автоформатирования кода с директивой {$include}
  • [14.02.10] Ускорен запуск программ из среды
  • [05.02.10] Исправлена ошибка с where T: System.IComparable;
  • [17.01.10] Исправлена ошибка со сравнением переменных-событий.
  • [12.01.10] Исправлена ошибка с отображением одноименных локальных блоковых переменных в отладчике.
  • [06.01.10] Снята подсветка в директивах компилятора старого стиля #. Изменен цвет подсветки в директивах {$}
  • [05.01.10] Исправлена ошибка неверной работы Self в записях
  • [02.01.10] Getтеры и Setтеры свойств при компиляции dll сделаны публичными. Это позволяет свойствам классов в dll также иметь публичный доступ
  • [02.01.10] Исправлена ошибка при переключении языка в режиме ввода в графическом окне
  • [01.01.10] Реализованы стандартные функции Eoln и Eof без параметров. Достичь совместимости Eof не удалось.

[28.12.09] Вышла версия 1.4 (1.4.0.363)

  • [28.12.09] Автоформатирование кода по запросу (Ctrl+Shift+F)
  • [10.12.09] Исправлена ошибка с переключением фокуса на окно вывода
  • [10.12.09] Исправлена ошибка с копированием русских букв из редактора в буфер обмена
  • [10.12.09] Исправлена ошибка с const параметрами-записями
  • [30.11.09] Вышла версия WDE 0.4 с возможностью авторизации и хранения индивидуальных файлов зарегистрированными пользователями
  • [16.11.09] Опубликована альфа-версия PascalABC.NET 1.4 с дизайнером форм и возможностью создавать проекты.
  • [15.11.09] Исправлена ошибка с невозможностью передачи элемента строки по ссылке
  • [15.11.09] Добавлен стандартный модуль Arrays
  • [15.11.09] Исправлена ошибка с определением методов расширений в интерфейсной секции модуля
  • [02.11.09] Проверка запуска нескольких копий среды осуществляется теперь до создания окна

[13.10.09] Вышла версия 1.3 (1.3.0.354)

  • [13.10.09] Добавлены русифицированные подсказки для библиотек .NET 3.5
  • [13.10.09] Добавлена сборка System.Core.dll
  • [13.10.09] Исправлены ошибки с препроцессором, связанные с комментариями
  • [26.09.09] Исправлены ошибки работы read и seekeoln при работе с текстовыми файлами
  • [19.09.09] Single теперь можно выводить по формату :a:b
  • [19.09.09] Picture теперь освобождает файл сразу после вызова конструктора
  • [19.09.09] Несколько меток теперь могут помечать один оператор
  • [08.09.09] Методы расширения для классов, описанных в другом паскалевском модуле
  • [07.09.09] Перейти к определению сущности из сборки .NET
  • [05.09.09] Методы расширения применимы также к производным классам
  • [05.09.09] В Intellisense добавлены методы расширения
  • [05.09.09] Исправлена ошибка запрета передачи array [,] of real в качестве параметра
  • [05.09.09] Исправлена ошибка, в которой типы array [,] of real и array of real считались одинаковыми при перегрузке
  • [02.09.09] Запуск программы из-под оболочки с параметрами комадной строки
  • [01.09.09] Вышла версия WDE 0.3 с возможностью публикации файлов незарегистрированными пользователями.
  • [16.08.09] При невозможности сохранения в кодировке Windows, файлы в редакторе сохраняются в кодировке UTF-8
  • [16.08.09] Исправлена реализация стандартных функций ParamStr и ParamCount
  • [16.08.09] Исправлена ошибка с индексацией статических массивов при отображении значений на этапе выполнения
  • [01.08.09] В модуле GraphABC по умолчанию ввод-вывод перенаправляется в графическое окно (предложение Сафонова А., Беларусь)
  • [30.07.09] Реализована минимальная Web-среда разработки PascalABC.NET (WDE). WDE выделена в отдельный проект
  • [01.07.09] Интегрирован препроцессор (псевдокомментарии {$ifdef} {$include} и др.)

[17.06.09] Вышла версия 1.2 (1.2.0.325)

  • [16.05.09] Обновлена версия электронного задачника
  • [16.05.09] В справочную систему добавлена информация об ограничениях на параметры обобщенных подпрограмм и классов
  • [15.05.09] Реализован учебный модуль Collections простых контейнерных классов (авторы Белякова Ю., Саатчи А.)
  • [15.05.09] Сравнение на равенство в обобщенной подпрограмме осуществляется теперь с использованием метода Equals
  • [15.05.09] Исправлена ошибка типа s[i] для короткой строки s
  • [12.05.09] Исправлена ошибка повторяющихся имен переменных в секциях on обработчиков исключений
  • [11.05.09] Исправлена ошибка генерации кода для шаблона класса
  • [03.05.09] Перечислимый тип-множество (сборка 316)
  • [03.05.09] input, output
  • [01.05.09] Выбор перегруженного метода в Intellisense
  • [23.04.09] Атрибуты
  • [11.04.09] Слежение за изменением файлов извне
  • [08.04.09] Исправлена ошибка двойного вызова функции в коде if objfunc = nil then ...
  • [04.04.09] Инсталятор переведен на юникод
  • [01.04.09] Исправлена ошибка при компиляции const f: record r,i: 1..5 end = (r:1; i:3);
  • [30.03.09] Исправлена ошибка с выводом вещественных чисел по формату :a:b
  • [30.03.09] Исправлена ошибка с выведением при вызове procedure Print(h: Node)
  • [26.03.09] Текст ошибки можно теперь копировать в буфер обмена
  • [26.03.09] Исправлена ошибка - документирующие комментарии работают теперь и для вложенных описаний подпрограмм
  • [26.03.09] Исправлена ошибка - множества теперь можно передавать как константы
  • [26.03.09] Исправлена ошибка работы функции Eoln в конце файла
  • [12.03.09] Исправлена ошибка - строчка var pi : ^integer := nil; теперь компилируется
  • [11.03.09] Исправлена ошибка - код var r: real; prec: ^Rec; prec := pointer(@r); теперь компилируется
  • [03.02.09] Исправлена ошибка работы read(c: char) для электронного задачника PT4
  • [18.01.09] Подсветка операторных скобок (begin - end) (сборка 281)
  • [07.01.09] Добавлены в WATCH все стандартные функции из системного модуля, не имеющие побочного эффекта

[13.12.08] Вышла версия 1.1 beta (1.1.0.276)

  • [13.12.08] При запущенной оболочке повторный запуск игнорируется, а все pas-файлы открываются в окне уже запущенной оболочки
  • [13.12.08] Улучшен инсталлятор: при инсталляции поверх не удаляются ini-файлы и файлы регистрации
  • [13.12.08] Улучшен деинсталлятор: удаляются только файлы, которые были инсталлированы
  • [05.12.08] Определение oперации явного и неявного приведения типов (сборка 262)
  • [04.12.08] Прямоугольные динамические массивы array [,] of T; new T[n,m];
  • [02.12.08] Инициализация при создании динамического массива: new T[...](...)
  • [01.12.08] inherited без параметров
  • [20.11.08] Улучшены всплывающие подсказки интелисенса (сборка 256)
  • [19.11.08] Список выбора шрифта редактора
  • [09.11.08] Шаблоны кода, автоматическая вставка расширенных XML-шаблонов (Shift-Space)
  • [09.11.08] Расширенные XML-шаблоны комментариев для документации (как в .NET)
  • [20.10.08] Процедурой ввода read при использовании электронного задачника PT4 можно пользоваться также и в модулях.
  • [20.10.08] Исправлен баг с Ctrl-V в строке ввода read.
  • [20.10.08] Исправлена ошибка с совместным использованием GraphABC и readln (сборка 253).
  • [16.10.08] Сделаны += -= для числовых свойств, += для строковых свойств.
  • [16.10.08] Исправлена ошибка с некорректной работой dll, откомпилированной в режиме связи с оболочкой (сборка 251)
  • [15.10.08] Исправлена ошибка с некорректным отображением кнопок "Выполнить" и "Завершить" при трассировке модулей (сборка 249).
  • [14.10.08] Исправлена ошибка версии 1.0 с русскими буквами в пути к файлу (сборка 247).
  • С этого момента здесь будут отмечаться исправленные ошибки
  • [11.10.08] Упорядочены примеры в папке Samples

[01.10.08] Вышла версия 1.0 beta (1.0.0.244)

  • [30.09.08] 50 примеров в меню Справка/Коротко о главном
  • [30.09.08] Директивы компилятора в стиле {$reference System.Windows.Forms.dll}
  • [30.09.08] Автоматическая кодогенерация, список с переопределяемыми методами (override) (Ctrl+Shift+Space)
  • [15.09.08] Компиляция в отдельном процессе
  • [11.09.08] Условные точки останова
  • [14.08.08] Упрощение интерфейса запуска программ с отладкой (совмещены кнопки запуска приложения с отладкой и без, убран пункт меню Отладка, его подпункты перенесены в пункт меню Программа)
  • [11.08.08] [Intellisense] Автоматическая кодогенерация (реализация методов интерфейсов, абстрактных методов) (Ctrl+Shift+I)
  • [10.08.08] Сделаны шаблоны процедурных типов вида type Action = procedure (i: T);
  • [26.07.08] Сворачивание кода (по умолчанию отключено)
  • [26.06.08] Генерация документации в XML
  • [12.06.08] Классовые конструкторы
  • [28.05.08] События event MyEvent: EventHandler; классовые события
  • [26.05.08] Классовые свойства

[23.05.08] Вышла версия 0.10.1 (0.10.1.216)

  • [16.05.08] Абстрактные методы
  • [19.05.08] Новый синтаксис описания шаблонов: type c = class...end вместо type c = class...end;
  • [19.05.08] Generic-функции. Использование внешних и описание собственных. Выведение типов-параметров generic-функции при вызове (по списку фактических параметров).
  • [19.05.08] Статические поля
  • [21.05.08] В указателях на записи разрешить строки и массивы, сделать их автоматическую фиксацию

[01.05.08] Вышла версия 0.9.2 beta (0.9.2.201)

  • [01.04.08] Определение свойств в интерфейсах в виде property p: integer read write;
  • [03.04.08] Возможность задавать версию, автора итд сборки (директивы product, version, company, copyright, trademark)
  • [06.04.08] Возможность задавать основной ресурс для сборки (директива mainresource)
  • [07.04.08] Переработаны и откомментированы модули ABCObjects, ABCSprites
  • [19.04.08] Вызов секции инициализации модулей в каждом статическом конструкторе класса модуля
  • [22.04.08] Интегрирован электронный задачник Programming Taskbook 4.7, содержащий 1100 задач.
  • [22.04.08] В модуле PT4 для работы с динамическими структурами данных в стиле с указателями добавлен тип PNode

[23.03.08] Вышла версия 0.9.1 beta (0.9.1.157)

  • [04.03.08] Независимость от порядка объявления методов
  • [04.03.08] Вызов процедур, определенных позднее (без forward) [отключено]
  • [05.03.08] [Intellisense] Подсказка по нажатию клавиши
  • [08.03.08] Статические конструкторы
  • [08.03.08] [Рефакторинг] Переименование переменной
  • [19.03.08] [Intellisense] Навигация по исходному коду (панель с выбором функций, классов)

[17.02.08] Вышла версия 0.9 beta (0.9.60.141)

  • [25.01.08] Описание языка PascalABC.NET
  • [25.01.08] Оператор foreach для статических массивов
  • [02.02.08] Переработан и откомментирован модуль PABCSystem
  • [14.02.08] Строки shortstring, string[a]
  • [14.02.08] High(a) и Low(a) для динамических и статических одномерных массивов
  • [14.02.08] library для создания dll

[17.01.08] Вышла версия 0.8 beta (0.8.60.127)

  • [29.12.07] [Intellisense] Автоматическая кодогенерация(генерация реализации методов)
  • [03.01.08] Диапазонный тип
  • [04.01.08] Стандартные функции для перечислимого типа
  • [08.01.08] Повторная генерация исключения (raise без параметров)
  • [08.01.08] Переделать массивы array [1..10] of integer
  • [10.01.08] sealed атрибут для класса
  • [12.01.08] Операции += -= *= для целых и += -= *= /= для вещественных
  • [16.01.08] Справочная система

[25.12.07] Вышла версия 0.7 beta (0.7.60.118)

  • [01.12.07] Препроцессор С
  • [05.12.07] Тип Decimal (128битное вещественное)
  • [10.12.07] Бинарные файлы var f: file;
  • [11.12.07] Анализ Кода Времени Разработки (Intellisense)
  • [11.12.07] [Intellisense] Подсказка по точке
  • [11.12.07] [Intellisense] Подсказка параметров функций
  • [11.12.07] [Intellisense] Всплывающая подсказка
  • [12.12.07] [Intellisense] Переход к определению, реализации
  • [16.12.07] Инициализация динамических массивов с помощью new: arr := new integer[10];
  • [21.12.07] [Intellisense] Поиск ссылок(Find All References)

[14.11.07] Вышла версия 0.6 beta (0.6.59.93)

  • [15.10.07] Оператор foreach
  • [17.10.07] Оператор lock
  • [18.10.07] Выводить предупреждение "ожидалось override или reintroduce"
  • [19.10.07] Переделать блоки. У каждого блока должна быть своя область видимости
  • [19.10.07] Объявление локальных переменных в блоке
  • [19.10.07] Интеграция справочной системы в оболочку
  • [21.10.07] Разновидность цикла for, в заголовке которого можно объявлять переменную цикла
  • [21.10.07] Разновидность цикла foreach, в заголовке которого можно объявлять переменную цикла
  • [04.11.07] Окно просмотра выражений в отладчике
  • [05.11.07] Инициализаторы динамических массивов
  • [10.11.07] Оператор with
  • [11.11.07] Язык PL/0
  • [13.11.07] Использование шаблонов(generic) из внешних сборок

[06.10.07] Вышла версия 0.5 beta (0.5.0.48)

  • [03.09.07] Инсталлятор
  • [05.09.07] Перечислимый тип
  • [10.09.07] Предупреждения
  • [06.10.07] Множества
  • [06.10.07] Отладчик

[02.09.07] Вышла версия 0.4 beta (0.4.0.43)

  • [10.07.07] Инициализаторы полей в классах
  • [10.07.07] Аргументы Main() для командной строки
  • [11.07.07] Синтаксис статических полей
  • [11.07.07] Оператор goto
  • [11.07.07] Распространенные библиотечные процедуры и функции Delphi
  • [23.07.07] Модули ABCObjects, ABCButtons, ABCSprites
  • [23.07.07] operator = для string
  • [23.07.07] Индексация string с 1, директива переключения на индексацию с 0
  • [09.08.07] Модули Robot, Drawman (идентичные PascalABC)
  • [26.08.07] #resource для прилинковки файлов к программе
  • [31.08.07] Консольный ввод/вывод в специальное окно
  • [31.08.07] Позиционирование курсора к строке ошибки при исключении во время выполнения

[07.07.07] Вышла версия 0.3 beta (0.3.0.35)

  • [03.07.07] property Left: integer read fx write fx; где fx - поле
  • [07.07.07] Интерфейсы
  • [07.07.07] Наследование записей от интерфейсов
  • [07.07.07] Предописание классов
  • [07.07.07] Неуправляемые шаблоны (нет в Delphi.NET!!!)
  • [07.07.07] Структурная эквивалентность типов для делегатов в PCU

[11.06.07] Вышла версия 0.2 beta (0.2.1.30)

  • Подключение внешних сборок через прагму #reference
  • uses для подключения пространств имен .NET
  • [16.04.07] public, private, protected, internal
  • [16.04.07] overload по умолчанию
  • [23.04.07] Изменяемые строки string (s[2]:='x')
  • [24.04.07] Диагностика ошибок в парсере
  • [24.04.07] const n: integer = 5;
  • [13.05.07] Инициализация переменных
  • [13.05.07] "Волшебные" процедуры read и write
  • [18.05.07] Методы в записях
  • [21.05.07] Наследование конструкторов
  • [26.05.07] Типизированые файлы (нет в Delphi.NET!!!)
  • [05.06.07] Инициализаторы массивов(array [1..n] of integer = (1,2,3,4,5))
  • [06.06.07] Символ & для ключевых слов
  • [07.06.07] type PNode=^TNode; TNode = record p: PNode; end;
  • [08.06.07] self в record, class(переписана)
  • [09.06.07] Инициализаторы записей (r: record r,i: integer; end = (r: 0; i: 1))
  • [11.06.07] Модуль GraphABC

[15.03.07] Вышла версия 0.1 beta 2 (0.1.2.17)

  • Операция new (ident:=new type_name(params);)
  • Операции is и as
  • Операция sizeof
  • Операция typeof
  • Процедура exit
  • Обращение к имени из другого модуля: module_name.ident
  • Доступ к статическим массивам во внешних сборках
  • Forward-объявления
  • Обработка исключений (try, except, finally)
  • Оператор new (для совместимости)
  • Константы в классах

[12.02.07] Вышла версия 0.1 beta 1 (0.1.1.11)

  • Вызов функций из неуправляемых dll
  • Стандартные типы данных
  • Приведение типов
  • Деструкторы (пока как синонимы процедур, для совместимости)

[25.12.06] Вышла версия 0.1 beta (0.1.0.10)

  • Основные управляющие конструкции: if, for, while, repeat, case
  • Процедуры break, continue
  • Указатели
  • Процедуры и функции, вложенные процедуры и функции
  • Массивы, в т.ч. многомерные
  • Динамические массивы (array of integer).
  • Записи без вариантов
  • Классы
  • Определение методов как внутри, так и вне класса
  • Наследование
  • Полиморфизм
  • Перегрузка имен процедур и функций
  • Перегрузка операций
  • Операции += -= для событий из .NET
  • Операции += -= для процедурных переменных
  • Процедуры с переменным числом параметров
  • Параметры по умолчанию
  • Модули, расширенный синтаксис модулей
  • Откомпилированные модули (PCU)
  • Доступ к типам в сборках .NET

Новости

30.08.17. Вышла версия 3.3. Новые модули Graph3D и GraphWPF

19.01.17. Добавлена операция безопасного среза: a?[-1:5:2]

29.08.16. Вышла версия 3.2. Реализован оператор yield.

12.02.16. Вышла версия 3.1. Добавлены кортежи в стиле (a,b) и кортежное присваивание (a,b) := (b,a)

Случайная программа

// События мыши. Рисование мышью
// Уровень сложности: 1
uses GraphABC;

procedure MyMouseMove(x,y,mb: integer) :=
  if mb = 1 then
    Circle(x,y,3);

begin
  OnMouseMove := MyMouseMove;
end.