|
45 / 2 / 1 Регистрация: 19.08.2017 Сообщений: 83 |
|
|
1 |
|
|
19.08.2017, 17:14. Показов 15864. Ответов 14
PascalABC.NET проблема запуском Миниатюры
__________________
0 |
|
2383 / 1295 / 1491 Регистрация: 29.08.2014 Сообщений: 4,651 |
|
|
20.08.2017, 07:12 |
2 |
|
а вы как его устанавливали?
0 |
|
Супер-модератор
32445 / 20940 / 8104 Регистрация: 22.10.2011 Сообщений: 36,203 Записей в блоге: 7 |
|
|
20.08.2017, 13:43 |
4 |
|
РешениеУдаляйте со всеми потрохами (каким-нибудь нормальным Uninstaller-ом, умеющим удалять остатки файлы/реестр, не тем, который дефолтный в Windows. Я пользуюсь RevoUninstaller-ом, например) и переустанавливайте заново. А Duplicate file Remover выкинуть и больше никогда не устанавливать, во избежание повторения подобного глюка с этой же или другими программами.
0 |
|
45 / 2 / 1 Регистрация: 19.08.2017 Сообщений: 83 |
|
|
20.08.2017, 16:14 [ТС] |
5 |
|
Не помогает
0 |
|
Супер-модератор
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 |
|
Супер-модератор
32445 / 20940 / 8104 Регистрация: 22.10.2011 Сообщений: 36,203 Записей в блоге: 7 |
|
|
20.08.2017, 18:58 |
8 |
|
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 минуту
0 |
|
544 / 868 / 144 Регистрация: 10.08.2015 Сообщений: 4,456 |
|
|
25.08.2017, 19:49 |
13 |
|
ПОШЛО Что пошло? куда пошло? У тебя в эксепшене вторым пунктом написано, что проблема в третьей строке этого файла. там написана версия .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 |
|
Проще всего в таких случаях переустановить Тут проблема в том, что не понятно в каких…
0 |
|
|
Проблемы с PascalABC.Net
|
|
21/09/12 |
PascalABC может ставиться непосредственно на компьютер или использоваться в Сети: http://pascalabc.net/WDE/
|
|
|
|
|
Progger |
Re: Проблемы с PascalABC.Net
|
|
27/08/14 |
Смотрите журнал событий Windows: Компьютер -> Управление (в контекстном меню по пкм) -> Диагностика -> Журналы Windows (вроде так, пишу по памяти). Сначала смотрите журнал приложений, скорее всего там будет ошибка. Если не будет, можете поискать в журнале системы. Какой .net ставили (откуда брали установщик)?
|
|
|
|
|
Yuri Gendelman |
Re: Проблемы с PascalABC.Net
|
||
15/05/05 |
На ноутбуке Windows 7. Пытался ставить локальную версию, — после её запуска выдаёт ошибку: поставьте NET.Framework v4.0. Поставил и его, вроде без ошибок. Но программа не запускается. Вы поставили именно NET.Framework v4.0? Какие версии NET.Framework у Вас установлены? На странице http://pascalabc.net/ssyilki-dlya-skachivaniya есть такое сообщение: Там же есть ссылка на NET Framework 4.5.1
|
||
|
|
|||
|
atlakatl |
Re: Проблемы с PascalABC.Net
|
|
21/09/12 |
Yuri Gendelman Progger Ошибка та же:
|
|
|
|
|
warlock66613 |
Re: Проблемы с PascalABC.Net
|
||
02/08/11 |
Вообще-то, .NET Framework 4.x является частью Windows 7, так что его надо ставить через «Компоненты Windows» и обновлять через обновление системы.
|
||
|
|
|||
|
atlakatl |
Re: Проблемы с PascalABC.Net
|
|
21/09/12 |
Progger Yuri Gendelman warlock66613 Большое спасибо!
|
|
|
|
Модераторы: 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: Программы и алгоритмы для начинающих
Сообщение было отмечено G_lion как решение

