Да откуда Вы эти анекдоты берёте
Это не анекдот, это цитата из известной в свое время пародии Бегемотова и Асса “Операция Игельс…” на 17 мгновений весны. Просто я на свете живу намного дольше Вас… )))
Шутка юмора понятна, другое дело, что новички .NET в общем и PABC.NET в частности не знают ЧТО искать, эмпирический процесс исследования затягивается, поглумившись, форумчане время тоже не экономят, и относительно мелкая проблема даже для неглупого, но начинающего пользователя усугубляется вплоть до риторического “А оно тебе точно больше всех надо?”
Извините, а можно конкретизировать? Вы сами что-то хотите найти и не можете, или это просто мысли вслух, а Вам конкретно ничего не нужно найти?
Алекс, всё нормально, почти мысли вслух, хотя может есть смысл вынести вопросы-нюансы-решения бывших “паскалевцев-дельфистов” отдельно, чтобы переход был не так туго и резко?
Например, как в PABC.NET работают с нетипизированными файлами?–Ага, понятно. И строка безразмерная?–Так, надо бы в код описание типа string[255] добавить. А почему help молчит про вариантные записи?–О, ясненько, и куча рекомендаций. А куда делся mark-release и dispose, автоматом?–Крутяк! А в чём преимущество WPF?–Не хило, однако, а зачем там типа XML?–Всё, понял! А как бипнуть, типа системного “дзынь”?–Во как оно…
И так далее)
В борланде наверно пытались подражать бейсику, но вышло как обычно… Уж лучше бы заставили везде ставить точку с запятой.
Так если актуально - сделайте тему и там будут советы-решения копиться. Я пока не видел толп, которые бы жаждали бросить дельфийский интерфейс и библиотеки нативные для коннекта во всё, чтобы начать маяться с построением оных скромными средствами графических библиотек PascalABC.NET, вовсе на это не заточенных.
В смысле?
Это про этот случай:
type
t1=class
a:byte
end;//ok
t2=class
function a:byte
end;//Ошибка: ожидалось ';'
begin end.
Вот @ibond говорит что лучше бы запретили и после a:byte
обходится без ;
.
В Delphi и Lasarus ровно так же. Если есть совместимость, странно её уничтожать.
Если совместимость - тормоз из прошлого, можно и уничтожить. Но в данном случае оно вроде не тормоз?
Да лучше бы заставили ставить ; в конце каждой строчки. Исправить старую программу не так сложно будет.
Ну… есть синтаксис языка Паскаль, который говорит, где ставить надо, а где - можно. Вот на него покушаться - это зло.
А такая путаница - не зло?
А какая тут путаница? Точку с запятой разрешено не ставить перед end.
А это что?
А это то, что функция должна иметь тело (begin … end), либо упрощенный однострочный синтаксис с оператором присваивания, а описание класса/типа должно завершаться end. Тут налицо нарушение, компилятор не понимает, где закончилась функция, где - класс. Ну как-то надо почаще вспоминать, когда программа пишется, про тот анекдот с японской пилой и суровых сибирских мужиков.
У меня, если честно, ни разу подобных ошибок не было. Я порой читаю сообщения об очередных проблемах и балдею, да откуда, чёрт возьми, это всё появляется!
Давайте не тратить время на обсуждение того, что что-то кому-то не нравится. Этот синтаксис есть, он правильный.