Ошибки компилятора PascalABC.Net


#252

Тогда хорошо. Но, может в случае проблем собирать участников форума и предлагать им протестировать у себя Issue, чтобы быстрее подтверждать проблема ли локального компьютера это? Чтобы быстрее видеть результаты - можно создавать опросы.


#253

Странно, я думал Core это не обрезанная версия фреймвёрка.


#254

Интересно, а что же тогда по такой логике NET Standard?.. Даже страшно подумать.


#255

Там у них всё путано. Через пару лет будет Net 5.0 и там будет одна версия.

Но к сожалению, они не допилили Reflection.Emit, поэтому PascalABC.NET откомпилировать не сможем.


#256

Там нет проблемы, это у serega что-то на компьютере


#257

Как и сказал, Вы даже не его изобретатель. Видал я подобных новаторов на форумах, которые то языки хотят новые написать, переизобретая существующие языковые конструкции, то тех, которые свои OC сотворить желают, да только языком треплют, создавая темы вроде “Супер-пупер крутая программа”… А когда их просят что-то поискать, почитать они отмахиваются мол не хотят искать, либо не могут, либо ещё что-нибудь придумывают (как Вы, например), чтобы предстать перед простым народом новатором. Хотя, эксперты форума всё равно выводят подобных личностей на чистую воду…

Кстати, это паттерн из другого языка и насколько принято выполнять здесь (и в C#) подобные выкрутасы мне неизвестно. Так что будь я на Вашем месте, я бы сначала детально изучил бы паттерн, а потом бы его применял.

Вторая ссылка - описание и примеры использования.


#258

Решил с дочкой позаниматься.

Написали небольшую программку.

PROGRAM prg(prg);
VAR C,D : STRING;
VAR A,B,P : INTEGER;

begin
  D:='N';
  WHILE D='N' DO
BEGIN
  READ(D); // В этом месте чтение с клавиатуры строки еще работает
  C:='Введите длину прямоугольника ';
  WRITE (C);
  READLN (A);
  C:='Введите высоту прямоугольника ';
  WRITE (C);
  READ (B);
  P:=(A+B)*2;
  C:='Периметр прямоугольника равен ';
  WRITE (C);
  WRITELN(P);
  C:='Завершить работу программы? N - Нет  Y - Да';
  WRITELN (C);
  READ(D); // Здесь уже не работает
  end;

END.

Screenshot_3


#259

Напишите код так:

```
код
```

Знак ` находится в англ раскладке за Ё

А от скрина не лучше, код нужен чтоб тестировать.


#260

А впрочем нет, всё понятно.

Допустим вот есть текст на вводе:

123\n
456

(\n это перенос строки) Когда вы прочитали число - вы забрали из ввода 3 цифры. Но там всё ещё остался перенос строки. Из за него, если дальше прочитать string - получите пустую строку, потому что её читает до конца строки.

Используйте Readln. Он, после прочтения значения, убирает из ввода все символы до переноса строки включительно.


#261
 C:='Завершить работу программы? N - Нет  Y - Да';
  WRITELN (C);
  READLN(D); 

Поправил все равно не работает, пролетает мимо без опроса клавиатуры.


#262

Вставляйте код в ```, глазам больно. И внимательно прочитайте моё объяснение, потому что вы вообще не то исправили.


#263

Все заработало, Спасибо!!!

Заменил везде READ на READLN заработало.

Спасибо еще раз.


#264

Старый код, неэффективное использование. Попробуйте все же воспользоваться выложенной на сайте литературой.


#265

Было бы не плохо. Буду очень благодарен если скинете ссылку на литературу, что бы долго не искать.


#266

Заходите на http://pascalabc.net и слева видите кнопку “Книги по PascalABC.NET”.

На главной странице вообще ещё полно интересного.


#267

На официальном сайте есть целый раздел


#268

Спасибо, за оказанную помощь!!!