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

Jordan
24.01.2026 13:55:14
Форум: Free Pascal Compiler
Тема: Хочу переписать свою библиотеку LDL на FreePascal
Ответы: 4
Просмотры: 1797

Re: Хочу переписать свою библиотеку LDL на FreePascal

Для старых систем какую версию fpc взять тогда?
Конечно хотелось бы использовать generic, не хочется возвращаться в pascal 90-ых.
Jordan
24.01.2026 11:57:13
Форум: Free Pascal Compiler
Тема: Хочу переписать свою библиотеку LDL на FreePascal
Ответы: 4
Просмотры: 1797

Хочу переписать свою библиотеку LDL на FreePascal

Приветствую!

Разрабатываю библиотеку LDL (Little DirectMedia Layer)

Основная идея, это поддержка старых и новых систем. Проблема в том, что бы обеспечить на С++ поддержку большого количества старых систем, это поиск С++ компиляторов настройка тулчейна и т.д И это меня очень сильно тормозит.

К ...
Jordan
24.06.2020 07:39:10
Форум: Lazarus
Тема: Отделение бизнес логики от базы
Ответы: 5
Просмотры: 6118

Отделение бизнес логики от базы

Приветствую!

Хотелось бы уточнить вопрос, как отделить бизнес логику от базы данных в проектах Lazarus?
Я знаю, что есть патnерн MVC но не видел его применения в Delphi/Lazarus. Может есть какие то практики, советы и т.д

Пример.
Есть таблица заказов в базе, данную информацию нужно выводить ...
Jordan
12.06.2020 12:25:22
Форум: Lazarus
Тема: Задать прозрачность в TImage
Ответы: 1
Просмотры: 2708

Задать прозрачность в TImage

Приветствую.

Создал форму, к ней по размеру формы TBitmap. Все рисование происходит в TBitmap, после чего копируется на форму.
Загружаю bmp изображение, задаю цвет прозрачности, но картинка выводится целиком.

Инициализация



Manager := TResourceManager.Create();

MainWindow.Width ...
Jordan
04.06.2020 22:53:36
Форум: Общее
Тема: Реализация C++ std::string
Ответы: 2
Просмотры: 12010

Реализация C++ std::string

Приветствую.

Пытался реализовать строки string C++ на паскале. Что хочется добиться от таких строк.
Строка содержит массив char оканчивающаяся на 0.

Цель:
1. Строка должна уметь очищаться. (С++ реализации в индекс 0 присваивается символ 0)
2. При добавлении строки, строка расширяется на ...
Jordan
19.02.2015 09:07:49
Форум: Обучение Free Pascal
Тема: Опережающее рбъявление object'а
Ответы: 2
Просмотры: 9372

Опережающее рбъявление object'а

Приветствую.


type
TList = Object;

PWidget = ^TWidget;
TWidget = Object
Next : PWidget;
Prev : PWidget;
Child: TList;
end;

PList = ^TList;
TList = Object // Duplicate identifier "TList"
//Forward type not resolved "TList"
Head: PWidget;
Tail: PWidget;
procedure ...
Jordan
16.02.2015 18:19:50
Форум: Обучение Free Pascal
Тема: Вопрос о наследовании object'ов
Ответы: 11
Просмотры: 24881

Re: Вопрос о наследовании object'ов

В этом и хитрость

Имхо, вы перемудрили сами себя.

Создаете объект TList {ноду}, от него наследуете GameObject просто расширяя его полем с типом String... а уже от него расширяете до остальных объектов. Большая часть геморроя исчезнет, так как реализация разделится на "системную" и "прикладную ...
Jordan
16.02.2015 17:15:14
Форум: Обучение Free Pascal
Тема: Вопрос о наследовании object'ов
Ответы: 11
Просмотры: 24881

Re: Вопрос о наследовании object'ов

Дож писал(а):
I := I^.Next; //Error: Incompatible types: got "PGameObject" expected "PResource"

Это та же самая ошибка. Справа выражение типа PGameObject, а слева — переменная PResource. Решается также


Всё исправил. Спасибо за помощь.
Jordan
16.02.2015 17:11:04
Форум: Обучение Free Pascal
Тема: Вопрос о наследовании object'ов
Ответы: 11
Просмотры: 24881

Re: Вопрос о наследовании object'ов


{$mode objfpc}{$H+}
{$ASSERTIONS ON}

Unit List;

interface

Uses
GameObject;

type
PList = ^TList;
TList = object
Head: PGameObject;
Tail: PGameObject;
procedure Create();
procedure Append(Elem: PGameObject);
procedure Destroy();
procedure Remove(Elem: PGameObject);
end ...
Jordan
16.02.2015 17:02:16
Форум: Обучение Free Pascal
Тема: Вопрос о наследовании object'ов
Ответы: 11
Просмотры: 24881

Re: Вопрос о наследовании object'ов

Точно, что сразу и не подумал о приведении типов.

Но осталась ошибка.

function TResourceManager.Find(Src: STRING): PResource;
var
H: INTEGER;
I: PResource;
begin
H := Hash(Src);

I := PResource(Table[H].Head);

while (I <> NIL) and (I^.Name <> Src) do
begin
I := I^.Next; //Error ...
Jordan
16.02.2015 16:53:38
Форум: Обучение Free Pascal
Тема: Вопрос о наследовании object'ов
Ответы: 11
Просмотры: 24881

Re: Вопрос о наследовании object'ов

Смысл в том, что для объектов которые я наследую от TGameObject, применять единые контейнеры, без написания новых под каждый тип. Да и по логике, именно наследование, позволяет это сделать. Есть конечно вариантная запись, но это больше хак, да и не удобен.

Добавлено спустя 4 минуты 33 секунды ...
Jordan
16.02.2015 16:15:57
Форум: Обучение Free Pascal
Тема: Вопрос о наследовании object'ов
Ответы: 11
Просмотры: 24881

Вопрос о наследовании object'ов

Приветствую.

Чуть кода.

У меня в проекте, есть базовый объект от которого наследуются остальные. Поля next и prev, нужны для реализации универсального списка, для остальных объектов.


type
PGameObject = ^TGameObject;
TGameObject = object
Next&#58; PGameObject;
Prev&#58; PGameObject;
end ...
Jordan
28.02.2014 21:26:10
Форум: Общее
Тема: Ошибка 216 при создании класса.
Ответы: 1
Просмотры: 6803

Ошибка 216 при создании класса.

Добрый вечер.


{$mode objfpc}

unit SCL;

interface

TYPE
TList = Class
type
PList = ^AList;
AList = record
Next &#58; PList;
Data &#58; POINTER;
end;
var
First&#58; PList;
Last &#58; PList;

PROCEDURE Init();
PROCEDURE PushFront(v&#58; POINTER);
END;

implementation

PROCEDURE TList ...
Jordan
19.12.2013 11:06:07
Форум: Free Pascal Compiler
Тема: Проблема с вариантными записями и строками
Ответы: 3
Просмотры: 4483

Re: Проблема с вариантными записями и строками

Эпопея завершена.

Для writeln нужно приводить в string

writeLn(string(i^.Button.Name));
writeLn(string(i^.CheckBox.Name));

Теперь всё робит.

Добавлено спустя 1 минуту 3 секунды:
Заменил string на PString

PString это же указатель на String... попробуй воспользоваться оператором взятия ...
Jordan
19.12.2013 10:51:11
Форум: Free Pascal Compiler
Тема: Проблема с вариантными записями и строками
Ответы: 3
Просмотры: 4483

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

Приветствую.

Идея такова, хранить в одной записи, разные записи через вариантную запись в pascal. Вот код.


{$mode objfpc}{$H+}

program main;

type
Attr = (Button, CheckBox);

type
PButton = ^TButton;
TButton = record
Id &#58; integer;
PosX &#58; integer;
PosY &#58; integer;
SizeX &#58 ...