Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
2 / 2 / 2
Регистрация: 28.04.2017
Сообщений: 71

Будет ли работать программа, скомпилированная из Pascal кода?

25.08.2017, 18:35. Показов 2591. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос: Будет ли работать программа, скомпилированная из Pascal кода? (взят из названия)

Уточнения к нему:

1) Будет ли он работать, если у человека не установлен PascalABC.Net?
2) Все ли функции/процедуры(вообщем все команды) будут работать в программе или произойдёт ошибка при некоторых?
3) Если же на Вопрос №1 ответ "Нет", то можно ли каким то образом исправить эту проблему, то есть что для этого нужно?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.08.2017, 18:35
Ответы с готовыми решениями:

Будет ли работать данный код в Turbo Pascal?
Здравствуйте. У меня есть вопрос. Будет ли работать этот код на Turbo Pascal? uses CRT,Timers,Events; var i:integer; procedure...

После переписывания кода с Pascal на C++ он перестал работать
Всем привет! Имеется код написанный на языке Паскаль program lb9; uses crt; type arr=array of integer; const aa:arr=...

Как будет выглядеть на C++ часть кода, написанного на Pascal?
type station = record ns:byte; time:longint; end; train = record n:byte; st:arrayof...

14
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
25.08.2017, 18:38
Цитата Сообщение от ko2101 Посмотреть сообщение
скомпилированная из Pascal кода?
Из какого Паскаля, в чем скомпилированная?
Покажи пример.
0
2 / 2 / 2
Регистрация: 28.04.2017
Сообщений: 71
25.08.2017, 18:49  [ТС]
Puporev, Я же писал, что из PascalABC.Net. Скомпилирована в самой среде
Примеры не нужны, т.к. я же спрашивал:
Цитата Сообщение от ko2101 Посмотреть сообщение
2) Все ли функции/процедуры(вообщем все команды) будут работать в программе или произойдёт ошибка при некоторых?
+ модули
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
25.08.2017, 18:50
Цитата Сообщение от ko2101 Посмотреть сообщение
Я же писал, что из PascalABC.Net.
Да нет, ты писал
Цитата Сообщение от ko2101 Посмотреть сообщение
программа, скомпилированная из Pascal кода?
0
2 / 2 / 2
Регистрация: 28.04.2017
Сообщений: 71
25.08.2017, 19:22  [ТС]
Puporev, извини, цитату не заметил.
Ну она будет работать нормально(без ошибок) на компьютерах без установленной среды? Или , к примеру, нужно устанавливать Microsoft .NET Framework v4.0 (взято с оф. сайта) и куда-либо распаковывать?
0
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,377
25.08.2017, 19:56
Цитата Сообщение от ko2101 Посмотреть сообщение
она будет работать нормально(без ошибок) на компьютерах без установленной среды? Или , к примеру, нужно устанавливать Microsoft .NET Framework v4.0 (взято с оф. сайта) и куда-либо распаковывать?
Нужно будет устанавливать Microsoft .NET Framework v4.0 на все машины, на которые планируется использовать программу. Как правило если программа большая, net включают в инсталлятор, если не большая, то инсталлятор проверяет наличие установленного фреймворка и в зависимости от этого обстоятельства продолжает установку
1
2 / 2 / 2
Регистрация: 28.04.2017
Сообщений: 71
26.08.2017, 15:01  [ТС]
vlisp, то есть человеку нужно будет установить Microsoft .NET Framework v4.0 и всё? Моя программа сможет сама его обнаружить или нужно будет куда-то путь к .Net Framework 4.0 прописывать или устанавливать библиотеки в системную папку?

Добавлено через 1 минуту
vlisp, Чтобы мне было легче всё понять, напишите по пунктам: что куда устанавливать , в какой последовательности. Просто зачем человеку впихивать Pascal

Добавлено через 16 минут
vlisp,
Цитата Сообщение от vlisp Посмотреть сообщение
Как правило если программа большая, net включают в инсталлятор, если не большая, то инсталлятор проверяет наличие установленного фреймворка и в зависимости от этого обстоятельства продолжает установку
Я имею ввиду абсолютно все скомпилированные мною программы PascalABC.Net , то есть чтобы работали все программы как у меня , Вас и всех тех , кто установил среду программирования. Но саму среду не нужно скачивать. Надеюсь Вы меня понимаете

Добавлено через 11 минут
P.s. эта мини - инструкция не для меня, а для тех у кого нет Pascal
0
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,377
26.08.2017, 16:58
Лучший ответ Сообщение было отмечено ko2101 как решение

Решение

Существвует 3 подхода к работе програм в ОС:
1) Интерпретируемый код (lisp, Python) - работает на любой системе, где установлен интерпретатор
2) Управляемый код (java, все .net языки) - Работает на любой системе, где установлена виртуальная машина
3) Неуправляемый код (Pascal, C/C++) - работает только в той системе, для которой скомпилирован, но не требует дополнительных условий.

PascalABC.NET - типичный .NET-язык, который компиллируется в байт-код, работающий в виртуальной машине CLR, которая является частью программной среды Microsoft .Net Framework. Следовательно для работы программ, написанных на этом языке нужен установленный .Net Framework, при чем именно той версии, с помощью которой код был скомпилирован.

Более того, PascalABC.NET IDE тоже требует установленный .Net Framework, причем именно 4й версии и без нее работать не будет.

Если на машине не установлен net framework, то программа просто не запустится. а выдаст сообщение с ошибкой, так как не найдет нужные библиотеки. Для учебных програм это нормальное поведение. и не очень частое, так как .Net Framework установлен практически у всех. У некоторых даже коллекция из фреймворков разных версий (2.0, 3.5, 4.0, 4.6). Для больших програм вылет на старте - это моветон. Поэтому в инсталлятор встраивают нужную версию фреймворка.

В твоем случае целесообразно распространять программу в архиве в котором будет сама программа и инструкция по ее установке и настройке примерно следующего содержания.
1) Убедитесь что у вас установлен Microsoft .Net Framework 4. Если это не так, то скачать его можно здесь...<ссылка на оф.сайт микрософта>
2) Распакуйте программу в любой каталог)
3) Запустите программу. Enjoy.
1
2 / 2 / 2
Регистрация: 28.04.2017
Сообщений: 71
27.08.2017, 16:12  [ТС]
vlisp, Огромное спасибо, это я и хотел узнать!

Добавлено через 23 часа 11 минут
vlisp, Кстати , а как проверить есть ли Microsoft .Net Framework 4.0 ??
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
27.08.2017, 17:44
Цитата Сообщение от ko2101 Посмотреть сообщение
а как проверить есть ли Microsoft .Net Framework 4.0
А откуда проверять-то? Приложение, написанное на PascalABC.NET, не запустится, если этой версии фреймворка нет на компьютере. Или нужна инструкция, как проверить вручную? Тогда самый надежный способ - скачать утилиту .NET Version Detector. Проще, чем лазить по реестрам и искать что-то.
1
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
28.08.2017, 10:35
Цитата Сообщение от ko2101 Посмотреть сообщение
Кстати , а как проверить есть ли Microsoft .Net Framework 4.0 ??
тут список папок с версиями .Net
Windows Batch file
1
dir /AD /B %WINDIR%\Microsoft.NET\Framework\
1
2 / 2 / 2
Регистрация: 28.04.2017
Сообщений: 71
28.08.2017, 13:16  [ТС]
Joy, Спасибо, через cmd самое то
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
28.08.2017, 14:06
Цитата Сообщение от ko2101 Посмотреть сообщение
через cmd самое то
Ну и на что оно "то" нужно? Чтобы как в дешевом афганском вирусе "посмотрите, и если в списке нет .NET 4.0 - то найдите его на сайте MS и установите, а то мы бедные, как следует программы писать не умеем"? Что, впрочем, характерно: выбрать самый непригодный вариант и потом на него наворачивать монстра.

Ну вот запустил ты батник. В ком. строке появилось:
Code
1
2
3
v1.0.3705
v1.1.4322
v2.0.50727
Дальше что будешь делать? Рассказывать пользователю, что он должен проверить наличие в этом списке строки, начинающейся с 4-ки, а если ее нет - то что делать? Куда идти, чтобы скачивать установщик фреймворка? Или что ты с этим результатом, который "самое то" собрался ДАЛЬШЕ делать? Не забудь, если у пользователя нет .NET 4 - то твое приложение, написанное под PascalABC.NET, даже не запустится, чтобы хотя бы с его помощью проанализировать результат работы bat-файла. Извращаясь, будет проверять результат, который вернула эта строка, дальше в самом bat-нике? Или что?
1
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
29.08.2017, 05:31
Лучший ответ Сообщение было отмечено ko2101 как решение

Решение

Цитата Сообщение от volvo Посмотреть сообщение
Извращаясь, будет проверять результат, который вернула эта строка, дальше в самом bat-нике?
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
:start
for /f %%i in ('dir /AD /B %WINDIR%\Microsoft.NET\Framework\') do if /i %%i gtr v4.0 goto ok
echo Не установлен .Net 4 или выше. 
set /p ans=Будете устанавливать .Net 4 (Y-да, N-нет):
if /i %ans% == Y goto install
goto exit
:ok
rem тут имя программы запускаемой
project6.exe
goto exit
:install
rem запускаем установку .net
dotnetfx40_full_x86_x64.exe
goto start
:exit
1
2 / 2 / 2
Регистрация: 28.04.2017
Сообщений: 71
29.08.2017, 13:18  [ТС]
Joy, Спасибо, это очень полезно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.08.2017, 13:18
Помогаю со студенческими работами здесь

Будет ли работать программа?
Помогите пожалуйста: будет ли работать программа? Program perevod; var c, f:longint; begin c:=15; for c:=15 to c:=30 do ...

На каких ОС будет работать программа на NET?
Здравствуйте. Хочу написать программу, которая будет запускать как на Windows так и на Mac OS. Существует ли для Mac .NET Framework? ...

Рекурсия: почему программа не будет работать?
Нужна помощь, .............. Почему программа: program FactorEx; var Num:integer; function Factorial(N:integer):longing; ...

Скомпилированная программа не работает
что делать ????сохраняю файл в формате .EXE ,открываю с копа начинает открываться и вылетает!!!!

Не работает скомпилированная программа VB
Программка VB в режиме интерпретатора работает, откомпилированная выдает ошибку 13. Ошибку не нахожу. Ума не приложу как решить данную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru