PascalABC.NET
October 21, 2022

Использование NuGet пакетов в проекте на PascalABC.NET

К программе на PascalABC.NET легко подключить dll, написанную на любом .NET - языке. Еще проще если эта библиотека или набор библиотек оформлены в виде NuGet пакета.

Рассмотрим подключение NuGet-пакета на примере пакета CSVHelper, позволяющего работать с csv-файлами.

Создадим новый проект:

Выберем консольное приложение в качестве типа проекта:

Правой мышью на пункте Подключенные сборки добавим пакет NuGet CsvHelper:

Нажмем кнопку "Установить пакет" - и он добавится в структуру проекта:

По-существу, к проекту на PascalABC.NET подключена CsvHelper.dll

Теперь в основной программе подключим ряд необходимых пространств имен:

uses System.IO;
uses CSVHelper;

Создадим класс, объекты которого мы будем сохранять в csv-файле:

type Student = auto class
public
  auto property Name: string;
  auto property Age: integer;
end;

Создадим список объектов этого класса:

var records := Lst(new Student('Иванов',18), new Student('Петров',19));

И наконец запишем указанный список в csv-файл:

var writer := new StreamWriter('file.csv');
var csv := new CsvWriter(writer, 
  System.Globalization.CultureInfo.InvariantCulture);
csv.WriteRecords(records);
writer.Close;

После запуска программы получим file.csv, в котором увидим:

Name,Age
Иванов,18
Петров,19

Аналогично можно считать из csv-файла данную информацию.

Полная программа:

uses System.IO;
uses CSVHelper;

type Student = auto class
public
  auto property Name: string;
  auto property Age: integer;
end;

begin
  var records := Lst(new Student('Иванов',18), new Student('Петров',19));
  var writer := new StreamWriter('file.csv');
  var csv := new CsvWriter(writer, 
    System.Globalization.CultureInfo.InvariantCulture);
  csv.WriteRecords(records);
  writer.Close;
end.

Заключение. PascalABC.NET - .NET-язык, и позволяет легко использовать dll и NuGet-пакеты, разработанные на другом .NET-языке - например, на C#.