Найдено 565 результатов

Mikhail
06.06.2024 18:33:12
Форум: Общее
Тема: условная компиляция, DEFINE в lpr
Ответы: 31
Просмотры: 51966

Re: условная компиляция, DEFINE в lpr

Нет это просто точка входа, главный модуль. Аналог файла содержащего функцию main в Си. Проект это нечто большее.
По-моему, это схоластический вопрос. Больше, меньше - это субъективные оценки. Если смотреть со стороны компилятора, то разницы нет.
ЗЫ. Поясню - выделение какой-то части программы в ...
Mikhail
05.06.2024 21:15:58
Форум: Общее
Тема: условная компиляция, DEFINE в lpr
Ответы: 31
Просмотры: 51966

Re: условная компиляция, DEFINE в lpr

> В freepascal нет файла проекта так какового.

Как его не назови - он есть. Либо он просто .pas, либо явно .lpr (Lazarus Project) - отсюда и название. Речь идёт о файле в котором в первых строчках написано "program" или "library" и не написано "unit". Это в Обероне везде "MODULE" и все файлы ...
Mikhail
04.06.2024 06:14:22
Форум: Общее
Тема: условная компиляция, DEFINE в lpr
Ответы: 31
Просмотры: 51966

Re: условная компиляция, DEFINE в lpr

Надо понять, что мешает разработчикам сделать дефайны в файле проекта глобальными.
В freepascal нет файла проекта так какового. Что касается Лазарус, то там файл проекта это lpi, и в нем можно указать "дефайны" глобально для всего проекта. При использовании для сборки FPC нужно передавать такие ...
Mikhail
28.01.2024 16:51:40
Форум: Общее
Тема: Вопрос про цикл for
Ответы: 54
Просмотры: 66630

Re: Вопрос про цикл for

Вот более показательный пример. Тело цикла выполнится четыре раза. Изменять переменные a и b можно, это позволяет стандарт. А вот счетчик цикла менять нельзя и его значение не определено после выхода из цикла (если это не досрочный выход).
program Project1;
var a, b, i: Integer;
begin
a:=0; b:=3 ...
Mikhail
27.01.2024 12:08:29
Форум: Общее
Тема: Вопрос про цикл for
Ответы: 54
Просмотры: 66630

Re: Вопрос про цикл for

Изменение переменной цикла внутри for всегда было невозможным.
смутно припоминаю что в 90х в борланд (или турбо) паскале я таким регулярно пользовался и это не считалось неправильным

Да был неправ. В Turbo Pascal действительно переменная цикла доступна для изменения внутри цикла.

Поведение ...
Mikhail
25.01.2024 10:10:14
Форум: Общее
Тема: Вопрос про цикл for
Ответы: 54
Просмотры: 66630

Re: Вопрос про цикл for

С каждым программным продуктом идет свое описание.
Приведи пожалуйста выдержку из этих описаний про for.
Вообще-то я привел цитату из "Language reference guide FreePascal", если Вы не в курсе, он обратно совместим с TurboPascal и ObjectPascal (Delphi).

Тоже самое написано в ISO 7185:1990, и в ...
Mikhail
24.01.2024 21:15:53
Форум: Общее
Тема: Вопрос про цикл for
Ответы: 54
Просмотры: 66630

Re: Вопрос про цикл for

Кроме Free Pascal был Turbo Pascal.
И там было точно также.

Я давно работал на Delphi, но не помню этого ограничения для цикла.
А я помню. :)

Изменение переменной цикла внутри цикла, как и выход из цикла по Go To является логической ошибкой, которая не рекомендуется, но не запрещается ...
Mikhail
24.01.2024 19:28:47
Форум: Общее
Тема: Вопрос про цикл for
Ответы: 54
Просмотры: 66630

Re: Вопрос про цикл for

Совершенно верно, там нет разницы, как в прочем и на Фортране и на С кроме Паскаля !!!
На Фортране тоже самое что и на Паскале.

Я полагаю, что и на Delphi она работает так же. А ведь это Паскаль.
Именно, и на Delphi и на FreePascal это работает одинаково.

Мне ответили что это у Паскаля, хотя ...
Mikhail
24.01.2024 15:45:14
Форум: Общее
Тема: Вопрос про цикл for
Ответы: 54
Просмотры: 66630

Re: Вопрос про цикл for

Все очень просто, жмешь в Lazarus F1 на for и получаешь подробную справку (только на английском).
Несчастным сишникам не нужно вспоминать и выбирать, все и так прекрасно работает без всяких лишних переменных.
Как работало со времен DOS так и продолжает пахать без всяких влияний погоды.

В Паскале ...
Mikhail
23.01.2024 09:05:23
Форум: Общее
Тема: Вопрос про цикл for
Ответы: 54
Просмотры: 66630

Re: Вопрос про цикл for

О чем спор? Вот выдержка из документации.

The value of the loop variable is undefined after a loop has completed or if a loop is not executed at all. However, if the loop was terminated prematurely with an exception or a break or goto statement, the loop variable retains the value it had when the ...
Mikhail
04.01.2024 16:29:03
Форум: Потрепаться
Тема: Умер Никлаус Вирт
Ответы: 10
Просмотры: 15115

Re: Умер Никлаус Вирт

Да, ушла эпоха. :(
Но 90 лет пожить, да еще и столько сделать - всем бы так.
Mikhail
14.02.2023 15:35:56
Форум: Free Pascal Compiler
Тема: Свойства и приватные методы у записей: а что,так можно было?
Ответы: 7
Просмотры: 12408

Re: Свойства и приватные методы у записей: а что,так можно б

Sharfik писал(а):Это чтобы программа точно не заработала стабильно никогда.
Нахрена оно надо? Есть классы, есть рекорды(просто пакет данных). Нахрена городить огород? :x :evil:
На стабильность это влияет строго положительно. Рекорды,в отличие от классов, могут находится на стеке, например.
Mikhail
13.02.2023 15:00:26
Форум: Free Pascal Compiler
Тема: Свойства и приватные методы у записей: а что,так можно было?
Ответы: 7
Просмотры: 12408

Re: Свойства и приватные методы у записей: а что,так можно б

Cheb писал(а):
MiniQ писал(а):включается так
Аааа... Я всё это время... :oops: :cry:
Даже не подозревал.
Какой позор.
Еще можно операторы перегружать

А с версии 3.2.2 еще и так можно
https://wiki.freepascal.org/management_operators
Mikhail
08.02.2023 16:57:40
Форум: Lazarus
Тема: Разные результаты при использовании CopyRect
Ответы: 10
Просмотры: 5448

Re: Разные результаты при использовании CopyRect

А TImage.Picture.Bitmap.Canvas получается третий холст?
Нет.

Вообще есть вики на подобную тему.
https://wiki.freepascal.org/Developing_with_Graphics/ru#.D0.A0.D0.B0.D0.B1.D0.BE.D1.82.D0.B0_.D1.81_TLazIntfImage.2C_TRawImage_.D0.B8_TLazCanvas

Если вкраце,то содержимое TImage.Canvas не ...
Mikhail
08.02.2023 15:44:43
Форум: Lazarus
Тема: Разные результаты при использовании CopyRect
Ответы: 10
Просмотры: 5448

Re: Разные результаты при использовании CopyRect

Добавил строчку ImgTmp1.Picture.PNG.SetSize(48,32); и заработала команда ImgTmp1.Picture.PNG.Canvas.CopyRect
Ну а сокращённый вариант ImgTmp4.Canvas.CopyRect работать перестал, чёрный квадрат...

TImage.Canvas и TImage.Picture.PNG.Canvas это разные холсты.

Так проще отлаживать - видно, что ...