sibprogsistem wrote:

Сделал подписку на сервисе WIX, работает хорошо, пока только paypal.. подучу  Velo у можно будет попробовать создать подписку с другими сервисами..

400 руб. в месяц...  и только PayPal ?


А на сайте пишут:


Wix принимает Visa, Mastercard, American Express, Discover, JCB и Diners. В вашем регионе могут быть доступны дополнительные способы оплаты.


А где хранишь инфу об оплате? тоже на WIX с доступом по API?

977

(6 replies, posted in Talks about all)

Какая прелесть )))  ссылку вручную нужно формировать или есть интерфейс?


https://g.zeos.in/?q=моя%20прелесть

978

(6 replies, posted in Talks about all)

sibprogsistem wrote:

пытаюсь найти внятную информацию по работе с изображениями которая подошла бы для MVD
хочу сделать конструктор пазлов ..

помогите с инфой

Как успехи у проекта с пазлами?


Лично мне в MVD частенько не хватает возможности работы с прозрачностью у PNG картинок. Нужен класс TPNGObject,

В своей таблице в глубинах интернет вы храните:


1) ID пользователя (или ID машины, на которой установлена программа)
2) Дату окончания лицензии


Эта информация формируется после оплаты через робокассу.


В самой программе при запуске и по таймеру (раз в час) идет обращение к этой волшебной таблице. Если найден ID и дата не просрочена - работаем, если нет - не работаем.


Из минусов - для работы потребуется интернет.


Для верности раз в сутки шерстить базу с ключами и удалять неактуальные пары, чтобы исключить обход защиты путём перестановки даты на рабочей станции. Или брать дату с MySQL сервера, где хранится база с ключами.

980

(5 replies, posted in Russian)

Я бы не стал делать это как отдельные поля и заголовки, а трансформировал бы в таблицу из двух полей: заголовок и содержание, тогда и проблем бы не было.


Я так понимаю, у вас печатаются данные по одной записи? Для трансформации подошла бы SQL-конструкция UNION, на каждое поле - свой SELECT. Данные нужно будет привести к одному типу - строчному.


Но, возможно, есть и настройки FastReport, о которых я пока не знаю.


Как выглядит ваш шаблон отчета?

Недавно натолкнулся на очень труднолокализуемую ошибку.


Суть проблемы: структура БД на сервере MySQL не соответствовала структуре БД проекта - в описании базы данных проекта (tables.ini) было поле, которое отсутствовало на сервере.  При этом данное поле не использовалось ни в SQL-запросах, ни в свойствах визуальных компонент. Однако, при открытии формы редактирования возникала ошибка выполнения SQL-запроса, в котором фигурировало данное поле. Строка возникновения ошибки указывалась неверно, так как ошибка возникала внутри алгоритмов открытия формы редактирования, реализованных в MVD.


Мне кажется, что в этот алгоритм нужно внести изменения: запрос, который формируется для заполнения компонентов на форме редактирования данными, должен строится не по структуре базы данных, а по составу компонентов на форме редактирования и их связи с БД. Это не только исключит подобную ошибку, но и снизит нагрузку на сервер, так как на форме редактирования может быть меньше компонент, чем полей в редактируемой таблице. Или по крайней мере выдавать более информативное сообщение в подобном случае.


Как бонус можно добавить проверку на соответствие структуры, которая будет выполняться как отдельная функция. Её можно будет использовать для создания механизма автоматического обновления БД на сервере. Если не ошибаюсь, подобная проверка реализована для SQLite. Она происходит сразу при подключении к БД SQLite при запуске приложения.


http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=7807&download=0

982

(5 replies, posted in Russian)

Используйте опцию Stretch - высота элемента увеличится до размера текста
или Stretch To Max Height - высота элемента увеличится до максимального размера текста в данной строке

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=7806&download=0

blackpearl8534 wrote:

Hello friends....
How to get sql retrieved data in fast report and how to generate report...
Urgent response required

I can suggest an idea: first you need to get the data into the recordset as described in the first post. Then copy the received data to the SQLite database. Well, now you can create a report )))

konstantin wrote:

Я, кстати, до сих пор не нашел, как обойти ограничения Windows 10 и поменять цвета заголовков таблицы, комбобоксов и кнопок...

Цвет заголовка таблицы поменять можно:

procedure SetHeaderColor(AObject: TObject; AColor: TColor);
// закрасить заголовок таблицы в указанный цвет
var
  tmpGrid: TdbStringGridEx;
  i: integer;
begin
  tmpGrid := TdbStringGridEx(AObject);
  for i := 0 to tmpGrid.Columns.count - 1 do
  begin
    tmpGrid.Columns[i].Header.Color := AColor;
  end;
end;

....
AGrid.HeaderStyle := hsFlatBorders;  // нужен плоский заголовок
....

procedure RoundedGrid_OnChange(Sender: TObject);
// действия по умолчанию
begin
  SetHeaderColor(Sender, Colors_Get(GRID_HEADER_COLOR)); // установить цвет для заголовка
end;

Я, правда, не тестировал это на Win10.


Но нельзя поменять цвет линий сетки (((


С кнопками и комбиками тоже беда, цвета не меняются - пришлось их заменять на другие, "послушные" компоненты.


Кстати, как вариант попробуйте выбрать тему цветового оформления проекта - возможно, это вас устроит. В теме меняются все цвета, за исключением полос прокрутки грида. ( ох уж эти полосы - головная боль... ).

lejoso wrote:

Да, это возможно.
Я использую программу Color Sizer, чтобы получить шестнадцатеричный цветовой код для Delphi.
Просто возьмите ручку и подведите ее к желаемому цвету и код будет получен.
Вы можете получить его здесь:
http://www.alexnolan.net/software/colorseizer.htm

Извините, перевел гугл.

begin
     Form1.TableGrid1.InactiveSelectionColor := $006845ED;
end.

Речь была о другом: можно ли переопределять значения констант, например clRed?

clRed := $006845ED;  // не работает

It was about something else: is it possible to override the values of constants, for example clRed?


Google sometimes fails)))

konstantin wrote:

Возможно ли переопределить значения cl*** приведенные выше своей палитрой? Или они напрямую указывают на системные значения?

Это предопределенные константы из Delphi

987

(25 replies, posted in General)

Calm down, hotheads. Dmitry is alive and well, after some time he himself will decide the fate of his project. And if someone wants to repeat or even surpass this project, then go ahead! Go for it! And don't forget to tell us when the first release comes out.

https://image.freepik.com/free-vector/flat-computer-engineering-concept_23-2148167491.jpg

dv.smirnoff wrote:

Здравствуйте!
Помогите сделать :
1. Как можно выбирать несколько исполнителей для записи
2. как при нажатии кнопки запись поле (затраченные материалы) сохранялось в другую таблицу, но но если одно из полей (исполнитель, работа, примечание) не заполнено  выдало предупреждение и данные не записывались

Придётся писать скрипты )))
Насчет нескольких исполнителей - тут все зависит от структуры базы, потребностей в дальнейшей аналитике.


Если нужно просто записать имена исполнителей в текстовое поле, то можно выставить у комбобокса чекеры и... поискать на форуме пример его работы в таком режиме.


Если нужно по каждому исполнителю видеть данную запись, то придется повозиться с детальной таблицей "исполнители по документу" и скриптом, который будет синхронизировать чекеры и записи в этой таблице.


По второму вопросу - тоже скрипты....


Это нестандартные алгоритмы, готовых и простых решений не будет, и все они будут тесно связаны с контекстом вашего приложения.

989

(16 replies, posted in Talks about all)

m128mx wrote:

Мало того, уже собрались к правительству России запрос отправлять...

Да, там бурные дебаты... грозятся опенсурсом и лазарусом.... горячие головы smile

990

(16 replies, posted in Talks about all)

По чесноку - мне нравится делать ремонт дома, годами этим занимаюсь smile :
http://notesoftheprogrammer.blogspot.co … ge_22.html

У меня есть довольно большой проект, в нем 113 форм и порядка 600 кБ текста скриптов, есть графические ресурсы - 152 Кб.  К сожалению, время компиляции проекта стало слишком большим, порядка 3-5 минут.


Скрипты максимально оптимизированы - нет копипаста, код максимально абстрактный.
А вот многие формы одинаковые, содержат одни и те же компоненты.


У кого-нибудь был опыт работы с большими проектами? Что можете посоветовать для сокращения времени сборки?


Смотрю в сторону динамического создания форм, чтобы сократить их количество.
Думаю убрать из проекта встроенную графику и загружать её после запуска приложения.

sibprogsistem wrote:
k245 wrote:

Для просмотра HTML можно использовать TRichEdit

ООО это как ?

Этот компонент поддерживает кучу форматов, в том числе HTML. В MVD доступны методы загрузки из файла. Но косяк в том, что при клике в  загруженном документе по гиперссылке связанный документ открывается уже браузере по умолчанию, Если бы был доступен обработчик этого события, то было-бы очень круто...

vovka3003 wrote:

Я хром портабельный прикрутил:
(только не в mvdb, увы)

Продвигаем альтернативные проекты? )))

sibprogsistem wrote:

TWebBrowser знатно устарел будет - ли замена на TEdgeBrowser ?

А зачем он нужен? У меня IE не установлен даже. Для просмотра HTML можно использовать TRichEdit. А если ему добавить обработчики на onLinkClick, то совсем красота будет )))

lostdb wrote:

КОМПЬЮТЕР ПЕРЕВЕДЕН

Windows запускает событие WMI при переключении Powerstatus. Может также быть прочитан доступом ACPI / AHCI

Прочитан, конечно, может быть (По таймеру? smile ). Но речь шла о рассылке уведомлений.


Подождем, пока ТС уточнит, какой из двух вариантов ему нужен...

konstantin wrote:
vovka3003 wrote:

Вопрос не ясен. Нужно "отловить" и "отменить"..?

Отменить мне надо мои запросы к базе (которые возникают по таймеру), если система послала в вещании, что, например, крышка ноута закрыта, система переходит в режим гибернации или сна


Если крышку закрыли на рабочей станции, то запросы отправляться не будут - все уснут, включая приложением MVD.


Если крышку закрыли на сервере, то.... база будет недоступна, и при очередном обращении к ней получите ошибку, которую можно обработать, используя function OnSQLException(Sender: TObject; Msg: string; SQL: string): boolean;

P.S.Никогда не слышал о том, чтобы ОС уведомляла кого-то о закрытии крышки )))).

997

(5 replies, posted in Talks about all)

vovka3003 wrote:

Ну а как запросы выполнять к шифрованным данным..?

Никак. То есть шифровать только те поля, по которым не придется выполнять фильтрацию или другие запросы...
https://pypad.ru/uploads/70eac4b5276c92340b593893e1f0be81.jpg
Да, как-то криво получается... Это значит, что нужно искать какие-то DLL, которые работают на уровне БД.

998

(16 replies, posted in Talks about all)

konstantin wrote:

Дмитрий опять, видимо, погряз в стройке. Хотя бы весточку, что жив, прислал. Вдруг тут бригаду собирать на выезд надо))

Строительную? )))
Я умею шпаклевать стены и клеить обои...

999

(5 replies, posted in Talks about all)

sibprogsistem wrote:
k245 wrote:

Довольно туманная тема.... Речь идёт о MySQL и шифровании таблиц InnoBD?  Или о доп.библиотеках для SQLite?

я про SQLite видимо проще создать процедуру и функцию записи и чтения которые будут использовать Encrypt/Decrypt

Согласен. Если нужно шифровать только текстовые поля, то двух обработчиков будет достаточно. Для дешифрации - onShow для формы редактирования. Для шифрования - onClick для кнопки сохранения на форме редактирования. Но либо нужно будет отключить встроенный контроль пустых полей, добавив свой и ещё свой обработчик ошибок доступа к БД, либо обернуть вызов нажатия кнопки try exept и возвращать содержимое текстовых полей к исходному состоянию в случае проблем с записью данных.

Какой тип БД, SQLite или MySQL?