Проекты на PascalABC.NET

Не претендую на точность . Ориентировался на фразу из википедии “Язык Паскаль был создан Никлаусом Виртом в 1968—1969 годах” , а в Википедии, как известно бывают неточности.

Если честно, то я Вас не понял.

Попробую сказать другими словами. Если разработчик языка A делает на этом языке A какой-то большой проект , то он выясняет при этом много тонкостей, которые помогают развить этот язык A. Причём это помогает зачастую лучше, чем отзывы других. Если разработчик языка А сам в основном программирует на языке Б, то он такой информации не получит.

2 лайка

Пакет из трёх лабораторых работа на Turbo Pascal , переведённых на PascalABC + методические рекомендации по конвертации кода. Больше не загружал, т.к. из найденного мною старого кода только массивы, сортировка и прочее, что есть уже в примерах. Может, кому и пригодится.

Labs.rar (67,6 КБ)

1 лайк

То же на wpf Labs.rar (23,9 КБ)

1 лайк

Доброго времени суток, я так понимаю, здесь межконтинентальный бугурт на тему C# и Pascal. Так вот, мой проект vkapi pascalabc wrapper полностью совместим с .net Вот - VKAPI PascalABC.NET Wrapper

Нормальное описание тут.

Вот превьюшка что может SAC:

KeyD 160 //нажать левый шифт 
KeyP Ord("S") //нажать `S` на клавиатуре. Вместе с шифтом получиться заглавная версия буквы S 
KeyU 160 //отжать левый шифт 
Sleep 1000/3 //ждём 1/3 сек 

Jump "#" //прыгаем в начало этого файла (на пустую метку, которая всегда в начале файла)

(Это надо засунуть в файл какое то имя.sac и запустить, он будет 3 раза в сек. писать S, если вы откроете какой то текстовый редактор)

Остальное реально разобраться на примерах, README.md на гитхабе и справке (Help.exe)

Эх… еще бы знать, куда это приспособить…

Это более юзер-френдли версия, я старой (ужасно кривой) находил применяния, раз в несколько месяцев)) Для чего то простенького… А раз эта более юзабельная - знач и наверное жешь и применений больше)

Ну и написали бы, для чего можно. Я вот сколько не думал, так и не смог придумать.

А вот и применение :wink::

Вряд ли это может быть сильно интересно вам, но всё же, хоть где то полезно! :smiley:

Я наконец добрался до работы с сетью… И для начала решил сделать чат. Уже протестировал, работает по сети. Как запустить написано на гитхабе, но вот ещё перевод на русский:

  1. Файлы:

1.1. Компьютер-сервер должен иметь файл Server.exe

1.2. Компьютер-юзер (клиент) должен иметь файл Client.exe
(Если хотите и запустить сервер и подключится к нему - вам нужны оба .exe файла)

1.3. И серверу и клиенту нужен файл server adress.txt, содержащий ip и порт компьютера - сервера.
Его содержимое должно выглядит как что то типа 11.22.33.44:11000 (перед : стоит ip, а после - порт)
Все компьютеры которые должны соединится - должны иметь одинаковый ip и порт.

  1. Получение ip и порта:

Если вы не умеете настраивать переадресацию модема (portforward) - используйте что типа hamachi.
В таком случае скопируйте ip из hamachi (или из другой программы которую вы используете).
Иначе просто скопируйте ваш основной IPv4 адрес.
Далее выберите любой порт и отправьте готовый файл server adress.txt всем кто должен подключится.

  1. Запуск:

Сначала всегда запускайте сервер.
Затем запустите свой клиент и скажите всем остальным тоже запустить их клиенты.

1 лайк

Возвращаясь к вопросу создания компилятора паскаля на паскале. Нарыл вот интересный компилятор - http://mads.atari8.info/ . Весь исходный код на паскале. Вполне возможно, что после доработок откомпилируется и на PascalABC.NET

А не легче ли перевести исходники компилятора паскаля на паскаль?)) С C# на паскаль всё очень просто переводится. (Если не считать сколько там миллионов строк кода в этом компиляторе)

То что вы кинули, кстати, написано на 1 из старых паскалей (или, по крайней мере, в старом стиле). Компилироваться оно наверняка будет, но… Мне лично было бы легче с 0 переписать, чем с таким кодом работать.

И кроме того, компилятор на паскале найти не сложно. Вот, к примеру, мой. Но если синтаксис другой - то “пару моментов подредактировать” чтоб получился компилятор PascalABC.Net - не выйдет. Всё равно с 0 писать.

А чтоб научится - надо всегда сначала самому написать хоть что то а потом уже смотреть как то же самое реализовали другие. Иначе будет куча пробелов в знаниях.

Вопрос - зачем

3 лайка

Вот любите Вы неприличные вопросы задавать! :rofl:

Да, люблю

1 лайк

Тогда уж, скорее, риторические: Вы ведь и сами догадываетесь, зачем. )))

Мне тут понадобилось сделать кольцевой буфер, вроде задача тривиальная , а гугл ответ не сразу выдаёт(ну кроме учебных алгоритмов, лучше уж велосипед самому писать, чем такой в продакш) . Мой вариант во вложении. Что смутило при реализации.

  1. Есть ли в PascalABC.Net что-то типа move? А то для больших массивов поэлементное копирование такое себе удовольствие. Ну мне-то сойдёт для моих целей.
  2. А если нужно результат не в динамический , а в статический массив поместить? Что-то в отличие от Delphi с указателями на массивы проблемы определённые.

KBuf.rar (1,2 КБ)

System.Buffer. Но это работает только для стандартных типов.

Ещё вариант - создать динамическую функцию через System.Reflection.Emit, в IL вроде есть что то для такого копирования.