Size: a a a

2020 November 25

DB

Dmitry Belkevich in Delphi & Lazarus
zamtmn
{$modeswitch prefixedattributes}  не забыт?
атрибуты только у свойств класса могут быть?
у классовых свойств работает. у записей - нет
источник

RS

Renat Suleymanov in Delphi & Lazarus
Сергей Пятыгин
Применение функции. Смущает создание класса. Виктор уже написал, статический класс-это класс, методы которого можно использовать без создания экземпляра?
В случае либы можно сделать процедурный стиль попроще и с созданием класса. Кому нужен максимум функционала и тюнинга выставляем в паблик класс с процедурами и свойствами. Кому достаточно одной процедуры пусть будет выставлена процедуры с ограниченным количеством параметров. Внутри реализации процедуры при этом создание класса с процедурными параметрами для свойств (остальные, к примеру, дефолтные) и его освобождение конечно после завершения процедуры
источник

z

zamtmn in Delphi & Lazarus
Dmitry Belkevich
атрибуты только у свойств класса могут быть?
у классовых свойств работает. у записей - нет
у object`ов проверял - работало. рекорды хз
источник

S

Serjone in Delphi & Lazarus
Есть желание написать свой велосипед. Программа учёта юзеров сети и оборудования в фирме.
Базы данных не писал уже лет десять. Раньше тупо подключал микрософтоаксессовскую базу и в ней работал.
Сейчас хочу сделать что-то менее зависящее от сильно сторонних производителей. Смотрю в сторону sqllite. На сколько нормально на нем писать такие штуки? Есть ещё варианты? В идеале получить портабельную программу, которая запустится на любом компе с флешки.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Serjone
Есть желание написать свой велосипед. Программа учёта юзеров сети и оборудования в фирме.
Базы данных не писал уже лет десять. Раньше тупо подключал микрософтоаксессовскую базу и в ней работал.
Сейчас хочу сделать что-то менее зависящее от сильно сторонних производителей. Смотрю в сторону sqllite. На сколько нормально на нем писать такие штуки? Есть ещё варианты? В идеале получить портабельную программу, которая запустится на любом компе с флешки.
Хороший вариант
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Renat Suleymanov
В случае либы можно сделать процедурный стиль попроще и с созданием класса. Кому нужен максимум функционала и тюнинга выставляем в паблик класс с процедурами и свойствами. Кому достаточно одной процедуры пусть будет выставлена процедуры с ограниченным количеством параметров. Внутри реализации процедуры при этом создание класса с процедурными параметрами для свойств (остальные, к примеру, дефолтные) и его освобождение конечно после завершения процедуры
Спасибо, все же уточню, верно ли я понял:
1. Процедура в интерфейсе-попроще или класс с паблик методом-посложнее.
2. Вот это не осознал: Внутри реализации процедуры при этом создание класса с процедурными параметрами для свойств. Имеется ввиду передача в эту процедуру параметров в виде "массива"=рекорд/объект/класс?
источник

AD

Aleksandr Duduk in Delphi & Lazarus
Serjone
Есть желание написать свой велосипед. Программа учёта юзеров сети и оборудования в фирме.
Базы данных не писал уже лет десять. Раньше тупо подключал микрософтоаксессовскую базу и в ней работал.
Сейчас хочу сделать что-то менее зависящее от сильно сторонних производителей. Смотрю в сторону sqllite. На сколько нормально на нем писать такие штуки? Есть ещё варианты? В идеале получить портабельную программу, которая запустится на любом компе с флешки.
Для однопользовательской программы вполне себе
источник

A

Anthony in Delphi & Lazarus
Сергей Пятыгин
Спасибо, все же уточню, верно ли я понял:
1. Процедура в интерфейсе-попроще или класс с паблик методом-посложнее.
2. Вот это не осознал: Внутри реализации процедуры при этом создание класса с процедурными параметрами для свойств. Имеется ввиду передача в эту процедуру параметров в виде "массива"=рекорд/объект/класс?
Нет, вроде он имел ввиду: внешне вызываем просто процедуру без ооп и тд.
В ее же реализации (коде) будет уже создание экземпляра класса использование методов ( 2 внутренних и один главный как ты писал) и уничтожение экземпляра класса после выполнения. Получается внешне простой вызов. А внутри удобное решение для будущего расширения функционала или если что переписать надо будет и тд. Более гибкое решение спрятанное.
источник

RS

Renat Suleymanov in Delphi & Lazarus
Anthony
Нет, вроде он имел ввиду: внешне вызываем просто процедуру без ооп и тд.
В ее же реализации (коде) будет уже создание экземпляра класса использование методов ( 2 внутренних и один главный как ты писал) и уничтожение экземпляра класса после выполнения. Получается внешне простой вызов. А внутри удобное решение для будущего расширения функционала или если что переписать надо будет и тд. Более гибкое решение спрятанное.
Все верно объяснил ) Опередил меня
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Аааа, вон он как!
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
А для расширения познания-чем плохи static методы?
источник

RS

Renat Suleymanov in Delphi & Lazarus
К примеру, вот в этом модуле куча классов в интерфейсы, которые могут быть использованы пользователями бота. Но часто людям то просто нужно отправить одно сообщение из программы через бота - и чтобы не разбираться во всем этом функционале - предоставляется простое решение - процедурное использование либы, в частности внутри процедуры TgBotSendMessage https://github.com/Al-Muhandis/fp-telegram/blob/c7de5d758508227e508b471699640250be44af4f/tgsendertypes.pas#L655 скрыты все эти действия по созданию класса и прочее.
источник

RS

Renat Suleymanov in Delphi & Lazarus
Сергей Пятыгин
А для расширения познания-чем плохи static методы?
Они ограничены в плане масштабирования и тюнинга, к примеру. Из плюсов - простота
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Всем спасибо!
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Большое спасибо!
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Renat Suleymanov
К примеру, вот в этом модуле куча классов в интерфейсы, которые могут быть использованы пользователями бота. Но часто людям то просто нужно отправить одно сообщение из программы через бота - и чтобы не разбираться во всем этом функционале - предоставляется простое решение - процедурное использование либы, в частности внутри процедуры TgBotSendMessage https://github.com/Al-Muhandis/fp-telegram/blob/c7de5d758508227e508b471699640250be44af4f/tgsendertypes.pas#L655 скрыты все эти действия по созданию класса и прочее.
Почти риторический  вопрос: передача такого количества параметров в методе в этом примере - это чисто?
function TgBotSendMessage(const AToken: String; chat_id: Int64; const AMessage: String;
 out AReply: String;
 ParseMode: TParseMode = pmDefault; DisableWebPagePreview: Boolean=False;
 AReplyMarkup: TReplyMarkup = nil; ReplyToMessageID: Integer = 0): Boolean;
источник

RS

Renat Suleymanov in Delphi & Lazarus
Сергей Пятыгин
Почти риторический  вопрос: передача такого количества параметров в методе в этом примере - это чисто?
function TgBotSendMessage(const AToken: String; chat_id: Int64; const AMessage: String;
 out AReply: String;
 ParseMode: TParseMode = pmDefault; DisableWebPagePreview: Boolean=False;
 AReplyMarkup: TReplyMarkup = nil; ReplyToMessageID: Integer = 0): Boolean;
На грани ) Но я попытался это нивелировать с помощью дефолтных значений для процедурных параметров
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Renat Suleymanov
На грани ) Но я попытался это нивелировать с помощью дефолтных значений для процедурных параметров
Спасибо!
источник

AS

Alexey Shumkin in Delphi & Lazarus
Renat Suleymanov
К примеру, вот в этом модуле куча классов в интерфейсы, которые могут быть использованы пользователями бота. Но часто людям то просто нужно отправить одно сообщение из программы через бота - и чтобы не разбираться во всем этом функционале - предоставляется простое решение - процедурное использование либы, в частности внутри процедуры TgBotSendMessage https://github.com/Al-Muhandis/fp-telegram/blob/c7de5d758508227e508b471699640250be44af4f/tgsendertypes.pas#L655 скрыты все эти действия по созданию класса и прочее.
меня смущает тут "всё в одном модуле" ))
даже эта одна процедура
в модуле с названием tgsendertypes
источник

RS

Renat Suleymanov in Delphi & Lazarus
Alexey Shumkin
меня смущает тут "всё в одном модуле" ))
даже эта одна процедура
в модуле с названием tgsendertypes
Согласен, можно было бы подумать о разделении модуля. В основном это легаси от старой либы, от которой я в свое время оттолкнулся. Почти ничего не осталось от старого кода. Название в освномном )
источник