Меню

Ошибка при запуске pascal abc net

45 / 2 / 1

Регистрация: 19.08.2017

Сообщений: 83

1

19.08.2017, 17:14. Показов 15864. Ответов 14


PascalABC.NET проблема запуском

Миниатюры

Не запускается среда PascalABC.NET
 

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Эксперт Pascal/Delphi

2383 / 1295 / 1491

Регистрация: 29.08.2014

Сообщений: 4,651

20.08.2017, 07:12

2

а вы как его устанавливали?



0



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32445 / 20940 / 8104

Регистрация: 22.10.2011

Сообщений: 36,203

Записей в блоге: 7

20.08.2017, 13:43

4

Лучший ответ Сообщение было отмечено G_lion как решение

Решение

Удаляйте со всеми потрохами (каким-нибудь нормальным Uninstaller-ом, умеющим удалять остатки файлы/реестр, не тем, который дефолтный в Windows. Я пользуюсь RevoUninstaller-ом, например) и переустанавливайте заново. А Duplicate file Remover выкинуть и больше никогда не устанавливать, во избежание повторения подобного глюка с этой же или другими программами.



0



45 / 2 / 1

Регистрация: 19.08.2017

Сообщений: 83

20.08.2017, 16:14

 [ТС]

5

Не помогает



0



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32445 / 20940 / 8104

Регистрация: 22.10.2011

Сообщений: 36,203

Записей в блоге: 7

20.08.2017, 16:53

6

Значит, Duplicate File Remover натворил делов глубже, чем в конкретной установке PABC.NET. Возможно, было затронуто что-то в самом .NET-е, возможно (но судя по сообщению об ошибке — маловероятно) в самой Windows.



0



544 / 868 / 144

Регистрация: 10.08.2015

Сообщений: 4,456

20.08.2017, 18:36

7

Программа не может загрузить файл PascalABCNET.xshd Возможно он поврежден.



0



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32445 / 20940 / 8104

Регистрация: 22.10.2011

Сообщений: 36,203

Записей в блоге: 7

20.08.2017, 18:58

8

Цитата
Сообщение от vlisp
Посмотреть сообщение

PascalABCNET.xshd

пересоздается при переустановке приложения. Это не может быть проблемой. Что-то глубже нарушено.



0



544 / 868 / 144

Регистрация: 10.08.2015

Сообщений: 4,456

20.08.2017, 21:09

9

я сужу по скрину



0



45 / 2 / 1

Регистрация: 19.08.2017

Сообщений: 83

25.08.2017, 17:07

 [ТС]

10

Я не знаю ни чего не помогает
Даже диск восстановил



0



544 / 868 / 144

Регистрация: 10.08.2015

Сообщений: 4,456

25.08.2017, 17:45

11

А какое содержимое файла PascalABCNET.exe.config?



0



45 / 2 / 1

Регистрация: 19.08.2017

Сообщений: 83

25.08.2017, 19:38

 [ТС]

12

как посмотреть?

Добавлено через 1 минуту
Я УДАЛИЛ файла PascalABCNET.exe.config И ПОШЛО



0



544 / 868 / 144

Регистрация: 10.08.2015

Сообщений: 4,456

25.08.2017, 19:49

13

Цитата
Сообщение от G_lion
Посмотреть сообщение

ПОШЛО

Что пошло? куда пошло? У тебя в эксепшене вторым пунктом написано, что проблема в третьей строке этого файла. там написана версия .NET с которой программа должна работать. Возможно этот файл был поврежден.



0



14 / 12 / 3

Регистрация: 20.08.2017

Сообщений: 26

27.08.2017, 21:25

14

Проще всего в таких случаях переустановить PascalABC.NET в новый каталог. Старый можно при этом не деинсталлировать — пусть висит в назидание



0



544 / 868 / 144

Регистрация: 10.08.2015

Сообщений: 4,456

27.08.2017, 22:04

15

Цитата
Сообщение от miks1965
Посмотреть сообщение

Проще всего в таких случаях переустановить

Тут проблема в том, что не понятно в каких…



0



 

Проблемы с PascalABC.Net

Сообщение18.10.2016, 06:06 

Аватара пользователя


21/09/12

1871

PascalABC может ставиться непосредственно на компьютер или использоваться в Сети: http://pascalabc.net/WDE/
Дома у меня Windows 10. Локальная версия встала без проблем.
Сейчас в командировке. На ноутбуке Windows 7. Пытался ставить локальную версию, — после её запуска выдаёт ошибку: поставьте NET.Framework v4.0. Поставил и его, вроде без ошибок. Но программа не запускается.
Попробовал работать на сетевой версии. Всё работает, быстро, но недолго. Через пару минут работы программа без всяких сообщений слетает. Ограничений на время работы в документации не нашёл.

Профиль  

Progger 

Re: Проблемы с PascalABC.Net

Сообщение18.10.2016, 18:51 


27/08/14
206

Смотрите журнал событий Windows: Компьютер -> Управление (в контекстном меню по пкм) -> Диагностика -> Журналы Windows (вроде так, пишу по памяти). Сначала смотрите журнал приложений, скорее всего там будет ошибка. Если не будет, можете поискать в журнале системы. Какой .net ставили (откуда брали установщик)?

Профиль  

Yuri Gendelman 

Re: Проблемы с PascalABC.Net

Сообщение18.10.2016, 20:03 

Заслуженный участник


15/05/05
3445
USA

На ноутбуке Windows 7. Пытался ставить локальную версию, — после её запуска выдаёт ошибку: поставьте NET.Framework v4.0. Поставил и его, вроде без ошибок. Но программа не запускается.

Вы поставили именно NET.Framework v4.0? Какие версии NET.Framework у Вас установлены?

На странице http://pascalabc.net/ssyilki-dlya-skachivaniya есть такое сообщение:
«Пользователям операционных систем Windows 7 SP1, Windows Vista SP2 и выше рекомендуется установить версию .NET Framework 4.5.1 или старше.»

Там же есть ссылка на NET Framework 4.5.1

Профиль  

atlakatl 

 Re: Проблемы с PascalABC.Net

Сообщение19.10.2016, 05:59 

Аватара пользователя


21/09/12

1871

Yuri Gendelman

Progger

Ошибка та же:
Изображение

Профиль  

warlock66613 

Re: Проблемы с PascalABC.Net

Сообщение19.10.2016, 08:50 

Заслуженный участник


02/08/11
6502

Вообще-то, .NET Framework 4.x является частью Windows 7, так что его надо ставить через «Компоненты Windows» и обновлять через обновление системы.

Профиль  

atlakatl 

Re: Проблемы с PascalABC.Net

Сообщение19.10.2016, 11:14 

Аватара пользователя


21/09/12

1871

Progger

Yuri Gendelman

warlock66613

Большое спасибо!
У меня обновление Windows криво стояло. Перезапустил его. И сразу получилось поставить .NET Framework 4.5.1.
Локальный PascalABC работает!

Профиль  

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы

UNIT data_input;
 
INTERFACE
uses crt;
const n=5;
  type leaner = record
                 fam     : string[50]; //фамилия ученика
                 name    : string[50]; //имя
                 school  : integer;   //№ школы
                 predmet : array [1..n] of char; //предмет
                 ball    : array [1..n] of integer; //количество набранных баллов на ЕГЭ
                end;
  procedure  INPUT; //ВВОД ДАННЫХ
 
 
 
IMPLEMENTATION
 
   //ВВОД ДАННЫХ
PROCEDURE INPUT;
var s: leaner;
    f: file of leaner;
    i: integer;
    g, q: char;
Begin
  //проверка на существование файла и его создание
  
  if not (FileExists ('Список учеников.txt')) then
    begin
      textcolor(4);
      write('Файл не существует!');
      textcolor(0);
    end
  else
    write ('Здравствуйте, вы хотите создать новый файл - (Y) или открыть уже имеющийся - (N)?');
    readln(g);
    if (g='y') or (g='Y') then
      begin
        assign(f,'Список учеников.txt');
        rewrite (f);
      end
    else
      begin
        assign(f,'Список учеников.txt');
        reset(f);
      end;
  
  //ввод данных о человеке
  i:=1;
  repeat
    write('Введите фамилию ученика: ');
    readln(s.fam);
    write('Введите имя ученика: ');
    readln(s.name);
    write('Введите № школы ученика: ');
    readln(s.school);
    writeln('Введите наименования предметов, которые сдавал ученик (5 предметов): ');
    for i:=1 to n do
      readln( s.predmet[i] );
    writeln('Соответственно введите количество набранных баллов на ЕГЭ учеником (если ученик не сдавал какой-либо экзамен поставьте 0): ');
    for i:=1 to n do
      readln(s.ball[i]);
    write(f,s);
    write('Вы закончили ввод данных (y/n)?');
    readln(q);
  until (q='n') or (q='N');
  close(f);
End;
 
 
 
 
BEGIN  // начало инициирующей части
END.    // конец инициирующей части

Неописанная переменная

begin
  S := 1; // Неизвестное имя S
end.

Все используемые переменные должны быть предварительно описаны с помощью ключевого слова var (внутри блока begin/end или, что обычно хуже, в разделе описаний вначале программы).

Отсутствующая ;

begin
  var S: integer 
  S := 1;         // Компилятор здесь скажет: Ожидалась ; — имеется ввиду предыдущая строка!
end.
begin
  var S := 1 
  S := S + 1  // Аналогично: проблема на предыдущей строке, а на текущей нет, потому что после неё идёт end.
end.

Очень частая ошибка у начинающих. Курсор, как правило, позиционируется в начале следующей строки.

Несовместимость типов при присваивании

begin
  var S: integer := 1.3; // Нельзя преобразовать тип real к integer
end.

Безболезненно можно присваивать только данные одного типа. Если данные — разных типов, то в редких случаях можно преобразовать данные одного типа в данные другого. Например, целое можно преобразовать в вещественное, а символ — в строку. Обратные преобразования не допускаются.

Чтобы не ошибаться в подобных простых случаях в Паскале есть следующая краткая форма объявления и инициализации переменной:

begin
  var S := 1.3; // Тип real будет выведен компилятором автоматически
end.

Отсутствие закрывающего апострофа литеральной строки

begin
  var x := 2;   // x получает тип integer
  var y := 3;   // y получает тип integer
  writeln('Результат сложения равен =, x + y); // Не хватает закрывающего апострофа
end.

Закрыть апостроф надо на той же строке, где расположен открывающий апостроф

Ошибки расстановки запятых и апострофов при выводе строк и выражений

begin
  var x := 2;   // x получает тип integer
  var y := 3;   // y получает тип integer
  writeln(x, '+,' y, '=', x+y); // Неверная расстановка запятых и апострофов
end.

Слишком много запятых и апострофов рядом, потому начинающие часто путаются 🙂
Надо уяснить правила:

  • запятые разделяют разные элементы вывода
  • все, что находится в апострофах, будет выведено на экран без изменений

Ошибка ввода

begin
  var x: integer;
  read(x); // введите блаблабла и посмотрите, что получится
end.

Это — ошибка во время выполнения. Программа пытается преобразовать введенную строку в число, не может это сделать и завершается с ошибкой.

Аналогичный фрагмент в более современном и предпочтительном синтаксисе:

begin
  var x := ReadInteger;
end.

Ошибка неинициализированной переменной

begin
  var x: integer;
  // Забыли инициализировать или ввести x
  var r := x * x;  // r получает тип integer
  writeln('Квадрат числа ', x, ' = ', r);
end.

Перед использованием любую переменную надо ввести или присвоить ей начальное значение. Это действие называется инициализацией переменной.

Деление на 0

begin
  var x := 0;
  var c := 666 div x; // Здесь происходит деление на 0
end.

Если во время выполнения программа выполнит деление на 0, то она завершится с ошибкой.

Корень из отрицательного числа

begin
  writeln(sqrt(-1)); // Корень из отрицательного числа 
end.

В обычном Паскале возникает ошибка времени выполнения.
В PascalABC.NET выводится NaN — Not a Number

Ссылки

  • Программы для начинающих
  • Сайт PascalABC.NET: Программы и алгоритмы для начинающих

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при запуске fortnite 0xc000007b
  • Ошибка при запуске аллоды