The articles provide several practical tips on implementing protection and licensing
27 2024-03-26 13:48:09
Re: Выборочный поиск по базе (16 replies, posted in Russian)
Сначала отвечу на второй вопрос - используйте JOIN для соединения таблиц:
SELECT
p.id, t.edType, d.edDensity, c.edColor, p.height, p.weight
FROM pieces p
LEFT JOIN type t ON t.id = p.id_type
LEFT JOIN density d ON d.id = p.id_density
LEFT JOIN color c ON c.id = p.id_color
WHERE
...
Ответ на первый вопрос сложней. И есть два пути решения: 1) усложнять запрос 2) создавать сам запрос с помощью скрипта
Усложнение состоит в том, что для каждого элемента нужно предусмотреть значение по умолчанию, которое бы отменяло условие элемента, например:
Pieces.height >= {btn_search_1}
заменить на
( (Pieces.height >= {btn_search_1}) OR ( {btn_search_1} is NULL )
и так для каждого условия.
Вариант со скриптом предполагает, что вы включаете нужные строки в запрос только в том случае, если они содержат значение, отличное от пустого. Решение привязывается к конкретным названиям компонентов формы. Для того, чтобы я смог его написать для вас, приложите ваш проект .
28 2024-03-25 13:39:06
Re: Вопросы от неразбирающегося (68 replies, posted in Russian)
Всем привет. А подскажите есть ли возможность в программе сделать чтобы логи велись конкретно по изменениям:
например есть столбцы Имя Фамилия Дата рождения телефон в окне логов. Если изменить телефон то в логах у меня появляется запись изменена но непонятно что изменено... Есть ли возможность сделать так чтоб если изменили телефон то высвечивается изменен телефон может подкрашивается цветом ??? Помогите пожалуйста
Если записи лога отражаются в хронологическом порядке, то можно сделать обработку для грида на событие onChange, в которой сравнивать текущую строку с предыдущей и, если есть отличия, то менять цвет фона у ячейки.
29 2024-03-25 11:33:52
Re: Сохранение в зависимости от выбора Combobox (11 replies, posted in Russian)
Банальный отсев по номеру авто, спасибо, раньше с SQL вообще не пытался связываться, но буду стараться потихоньку изучать, Спасибо еще раз, но все таки мне не дает покоя прикол с обычным поиском, почему после поиска в расходе получается 0 вместо суммы?
Стандартная фильтрация иногда дает сбой, если вы пытаетесь в ней присоединять данные из нескольких таблиц. В случае подобного сбоя вместо полей из связанных таблиц необходимо использовать вычисляемые поля.
30 2024-03-25 07:41:44
Re: Сохранение в зависимости от выбора Combobox (11 replies, posted in Russian)
Запрос должен выглядеть так:
SELECT
AC.Category,
AP.Podcategory,
Arenda_Autos_Money.Data_Operacii,
Arenda_Autos_Money.Dohod,
Arenda_Autos_Money.Rashod
FROM
Arenda_Autos_Money
LEFT JOIN Arenda_Category AC ON AC.ID = Arenda_Autos_Money.id_Arenda_Category
LEFT JOIN Arenda_Podcategory AP ON AP.ID = Arenda_Autos_Money.id_Arenda_Podcategory
WHERE
Arenda_Autos_Money.Auto_Number_Money LIKE "%{Edit9}%"
ORDER BY Arenda_Autos_Money.Data_Operacii;
Но все равно не ясно, что вы им ищете:
31 2024-03-22 14:11:31
Re: помогите с проектом (9 replies, posted in Russian)
k245 wrote:SELECT * FROM "rabnar" WHERE (kol LIKE '%{Edit1}%') OR (koef LIKE '%{Edit1}%') OR (user_name LIKE '%{Edit1}%') OR (user_fomiliya LIKE '%{Edit1}%') OR (user_patronymic LIKE '%{Edit1}%') OR (user_position LIKE '%{Edit1}%') OR (user_full LIKE '%{Edit1}%') OR (key LIKE '%{Edit1}%') OR (key1 LIKE '%{Edit1}%') OR (key2 LIKE '%{Edit1}%') OR (key3 LIKE '%{Edit1}%') OR (key4 LIKE '%{Edit1}%') OR (key5 LIKE '%{Edit1}%') OR (key6 LIKE '%{Edit1}%') OR (key7 LIKE '%{Edit1}%') OR (key8 LIKE '%{Edit1}%') OR (key9 LIKE '%{Edit1}%') OR (kol LIKE '%{Edit1}%') OR (kol-1 LIKE '%{Edit1}%') OR (kol-2 LIKE '%{Edit1}%') OR (kol-3 LIKE '%{Edit1}%') OR (kol-4 LIKE '%{Edit1}%') OR (kol-5 LIKE '%{Edit1}%') OR (kol-6 LIKE '%{Edit1}%') OR (kol-7 LIKE '%{Edit1}%') OR (kol-8 LIKE '%{Edit1}%') OR (kol-9 LIKE '%{Edit1}%') OR (kol-10 LIKE '%{Edit1}%') OR (kol-11 LIKE '%{Edit1}%') OR (kol-12 LIKE '%{Edit1}%') OR (kol-13 LIKE '%{Edit1}%') OR (kol-14 LIKE '%{Edit1}%') OR (kol-15 LIKE '%{Edit1}%') OR (kol-16 LIKE '%{Edit1}%') OR (kol-17 LIKE '%{Edit1}%') OR (kol-18 LIKE '%{Edit1}%') OR (kol-19 LIKE '%{Edit1}%') OR (kol-20 LIKE '%{Edit1}%') OR (kol-21 LIKE '%{Edit1}%') OR (kol-22 LIKE '%{Edit1}%') OR (kol-23 LIKE '%{Edit1}%') OR (kol-24 LIKE '%{Edit1}%') OR (tab LIKE '%{Edit1}%') OR (tab-1 LIKE '%{Edit1}%') OR (tab-2 LIKE '%{Edit1}%') OR (tab-3 LIKE '%{Edit1}%') OR (tab-4 LIKE '%{Edit1}%') OR (tab-5 LIKE '%{Edit1}%') OR (tab-6 LIKE '%{Edit1}%') OR (tab-7 LIKE '%{Edit1}%') OR (tab-8 LIKE '%{Edit1}%') OR (tab-9 LIKE '%{Edit1}%') OR (tab-10 LIKE '%{Edit1}%') OR (tab-11 LIKE '%{Edit1}%') OR (tab-12 LIKE '%{Edit1}%') OR (tab-13 LIKE '%{Edit1}%') OR (tab-14 LIKE '%{Edit1}%') OR (tab-15 LIKE '%{Edit1}%') OR (koef LIKE '%{Edit1}%') OR (koef-1 LIKE '%{Edit1}%') OR (koef-2 LIKE '%{Edit1}%') OR (koef-3 LIKE '%{Edit1}%') OR (koef-4 LIKE '%{Edit1}%') OR (koef-5 LIKE '%{Edit1}%') OR (koef-6 LIKE '%{Edit1}%') OR (koef-7 LIKE '%{Edit1}%') OR (koef-8 LIKE '%{Edit1}%') OR (koef-9 LIKE '%{Edit1}%') OR (RustID LIKE '%{Edit1}%') OR (Rustpass LIKE '%{Edit1}%') OR (AnyDesk LIKE '%{Edit1}%')
А здесь нужно заголовки для таблицы указать:
так это мой скрипт я не пойму что тут не так он и не работает вы можете 2 примера показать как правильно делать запрос
ищет, вставьте его вместо того, что у вас в кнопке.
32 2024-03-22 07:08:11
Re: Dmitry Required (13 replies, posted in General)
The entire developer community wishes the creator of MVDB to return. But, as far as I know, Dmitry made the final decision. But in life anything happens. Especially if it happens in a galaxy far, far away.
33 2024-03-21 09:25:27
Re: Version 6.61 beta registration issue (4 replies, posted in General)
This happens if you open other people's projects. Open any form and edit anything. This will signal the recompilation of the forms file that stores the license information. This is a feature of this version - to recompile you need to edit something on the project form.
34 2024-03-19 09:00:04
Re: Сохранение в зависимости от выбора Combobox (11 replies, posted in Russian)
procedure frm_Arenda_Dohod_Rashod_ComboBox1_OnChange (Sender: TObject);
begin
if frm_Arenda_Dohod_Rashod.ComboBox1.ItemIndex = 1 then
frm_Arenda_Dohod_Rashod.ed_Dohod_Rashod.dbField := 'Dohod'
else
if frm_Arenda_Dohod_Rashod.ComboBox1.ItemIndex = 2 then
frm_Arenda_Dohod_Rashod.ed_Dohod_Rashod.dbField := 'Rashod'
else ;
end;
35 2024-03-18 06:32:26
Re: помогите с проектом (9 replies, posted in Russian)
как описать точней проблему не работает поиск не могу понять если не сложно приведите пример пару а дальше сам по пробую допилить
Нужно записать корректный запрос на языке SQL.
SELECT <что> FROM <откуда> WHERE <по условию>
36 2024-03-18 06:30:00
Re: помогите с проектом (9 replies, posted in Russian)
SELECT *
FROM "rabnar"
WHERE
(kol LIKE '%{Edit1}%')
OR (koef LIKE '%{Edit1}%')
OR (user_name LIKE '%{Edit1}%')
OR (user_fomiliya LIKE '%{Edit1}%')
OR (user_patronymic LIKE '%{Edit1}%')
OR (user_position LIKE '%{Edit1}%')
OR (user_full LIKE '%{Edit1}%')
OR (key LIKE '%{Edit1}%')
OR (key1 LIKE '%{Edit1}%')
OR (key2 LIKE '%{Edit1}%')
OR (key3 LIKE '%{Edit1}%')
OR (key4 LIKE '%{Edit1}%')
OR (key5 LIKE '%{Edit1}%')
OR (key6 LIKE '%{Edit1}%')
OR (key7 LIKE '%{Edit1}%')
OR (key8 LIKE '%{Edit1}%')
OR (key9 LIKE '%{Edit1}%')
OR (kol LIKE '%{Edit1}%')
OR (kol-1 LIKE '%{Edit1}%')
OR (kol-2 LIKE '%{Edit1}%')
OR (kol-3 LIKE '%{Edit1}%')
OR (kol-4 LIKE '%{Edit1}%')
OR (kol-5 LIKE '%{Edit1}%')
OR (kol-6 LIKE '%{Edit1}%')
OR (kol-7 LIKE '%{Edit1}%')
OR (kol-8 LIKE '%{Edit1}%')
OR (kol-9 LIKE '%{Edit1}%')
OR (kol-10 LIKE '%{Edit1}%')
OR (kol-11 LIKE '%{Edit1}%')
OR (kol-12 LIKE '%{Edit1}%')
OR (kol-13 LIKE '%{Edit1}%')
OR (kol-14 LIKE '%{Edit1}%')
OR (kol-15 LIKE '%{Edit1}%')
OR (kol-16 LIKE '%{Edit1}%')
OR (kol-17 LIKE '%{Edit1}%')
OR (kol-18 LIKE '%{Edit1}%')
OR (kol-19 LIKE '%{Edit1}%')
OR (kol-20 LIKE '%{Edit1}%')
OR (kol-21 LIKE '%{Edit1}%')
OR (kol-22 LIKE '%{Edit1}%')
OR (kol-23 LIKE '%{Edit1}%')
OR (kol-24 LIKE '%{Edit1}%')
OR (tab LIKE '%{Edit1}%')
OR (tab-1 LIKE '%{Edit1}%')
OR (tab-2 LIKE '%{Edit1}%')
OR (tab-3 LIKE '%{Edit1}%')
OR (tab-4 LIKE '%{Edit1}%')
OR (tab-5 LIKE '%{Edit1}%')
OR (tab-6 LIKE '%{Edit1}%')
OR (tab-7 LIKE '%{Edit1}%')
OR (tab-8 LIKE '%{Edit1}%')
OR (tab-9 LIKE '%{Edit1}%')
OR (tab-10 LIKE '%{Edit1}%')
OR (tab-11 LIKE '%{Edit1}%')
OR (tab-12 LIKE '%{Edit1}%')
OR (tab-13 LIKE '%{Edit1}%')
OR (tab-14 LIKE '%{Edit1}%')
OR (tab-15 LIKE '%{Edit1}%')
OR (koef LIKE '%{Edit1}%')
OR (koef-1 LIKE '%{Edit1}%')
OR (koef-2 LIKE '%{Edit1}%')
OR (koef-3 LIKE '%{Edit1}%')
OR (koef-4 LIKE '%{Edit1}%')
OR (koef-5 LIKE '%{Edit1}%')
OR (koef-6 LIKE '%{Edit1}%')
OR (koef-7 LIKE '%{Edit1}%')
OR (koef-8 LIKE '%{Edit1}%')
OR (koef-9 LIKE '%{Edit1}%')
OR (RustID LIKE '%{Edit1}%')
OR (Rustpass LIKE '%{Edit1}%')
OR (AnyDesk LIKE '%{Edit1}%')
А здесь нужно заголовки для таблицы указать:
37 2024-03-14 06:15:56
Re: MySQL connect form hiding/calling? (2 replies, posted in General)
The built-in connection form appears automatically when the application starts. To disable the appearance of the form and automatic connection to the database, use a directive that must be placed in the script.
{$MySQL disable_connectdialog}
begin
end.
The use of this directive assumes that the connection to the database will be carried out using a script.
var
SQLCon: TMyConnection; // соединение с базой
...
SQLCon := TMyConnection(Form1.FindComponent('MySQLConnection')); // Form1 is main Form
...
function ConnectToDB(AServer: string = ''; APort: integer = 0; ADataBase: string = ''; AUsername: string = '';
APassword: string = ''): boolean;
begin
SQLCon.Server := AServer;
SQLCon.Port := APort;
SQLCon.Database := ADataBase;
SQLCon.Username := AUsername;
SQLCon.Password := APassword;
try
SQLCon.Connect;
Result := SQLCon.Connected;
except
Result := False;
end;
end;
I don’t know how to call the built-in connection form using a script.
38 2024-03-12 14:25:58
Re: database FIX (4 replies, posted in General)
There are two solutions to this problem:
1) simultaneously edit the data structure in both the new version and the old one using the development environment.
2) when starting the program, use scripts to check for the presence of new tables/fields and add missing ones.
39 2024-03-10 17:04:42
Re: Обновить Дату и Время в DateTimePicker (3 replies, posted in Russian)
или так:
procedure OnTimer (Sender: TObject);
begin
Form1.DateTimePicker1.DateTime := Now();
Form1.DateTimePicker2.DateTime := Now();
end;
procedure Form1_OnShow (Sender: TObject; Action: string);
var
Timer:TTimer;
begin
Timer := TTimer.Create(Form1);
Timer.Interval := 1000;
Timer.OnTimer := 'OnTimer';
end;
40 2024-03-10 16:52:08
Re: Обновить Дату и Время в DateTimePicker (3 replies, posted in Russian)
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
Form1.DateTimePicker1.DateTime := Now();
Form1.DateTimePicker2.DateTime := Now();
end;
41 2024-03-10 07:58:56
Re: Выборочный поиск по базе (16 replies, posted in Russian)
Я прикреплю сюда базу
Для составления запроса достаточно изображения схемы данных.
42 2024-03-07 12:26:42
Re: Выборочный поиск по базе (16 replies, posted in Russian)
Да, все верно. Этот функционал реализован в кнопке, Action = SQL-запрос
43 2024-03-07 12:19:54
Re: Выборочный поиск по базе (16 replies, posted in Russian)
Фильтр через SQL-запрос:
SELECT * FROM LIST
WHERE
( LIST.WIDTH >= :WIDTH AND LIST.HEIGHT >= :HEIGHT )
OR
( LIST.WIDTH >= :HEIGHT AND LIST.HEIGHT >= :WIDTH )
значение ширины и высоты можно указать прямой заменой текста в запросе с помощью скрипта или использовать фичу с фигурными скобками, в которых указать имя компонента на форме:
44 2024-03-05 08:03:37
Re: new user with first problem in day of months (2 replies, posted in General)
I'm guessing you'll need to create a table to hold the work calendar in, specifying:
1. Date
2. Duration of the working day, hours
This table will have to be completed every year. Of course, to speed up the process you can use a script based on the weekly work cycle information. But as for holidays, they will need to be entered manually. Or create a separate table to use it in the script. For example, in my country the dates of some holidays vary, every year the Ministry of Labor publishes a calendar plan for the next year.
45 2024-03-05 07:20:53
Re: помогите с проектом (9 replies, posted in Russian)
Неправильно написан SQL запрос.
Но что именно вам нужно этим запросом получить?
Почитайте про команду SELECT
46 2024-02-27 05:56:05
Re: LOGGING FEATURE (6 replies, posted in General)
47 2024-02-20 07:18:29
Re: MainMenu Hide/Show (2 replies, posted in General)
Really elegant solution
48 2024-02-01 13:06:43
Re: Подсчёт ответов в столбце грида (4 replies, posted in Russian)
Простое решение не всегда правильное.
Начните со структуры данных вашего проекта.
И оперировать лучше не с колонками на экране, а полями в таблице БД.
49 2024-01-29 10:06:13
Re: Запутался в связях (38 replies, posted in Russian)
Константин,
Я попробовал третий вариант. Рабочий. Только требует дополнительной обработки в событии OnPaint
Выглядит прилично, как я понимаю, возможен вариант с универсальным обработчиком формы OnPaint, в котором производится обход компонентов на форме и отрисовка рамок при необходимости. И кода будет поменьше, чем при создании кучи TShape
50 2024-01-29 08:48:21
Re: Узнать состояние окна формы (открыто - закрыто) (3 replies, posted in Russian)
Какая-то сложная концепция.... И что такое "выходные результаты работы формы"?
Зачем изобретать велосипед с таймером? Сделайте многостраничный форму-мастер или используйте модальные вызовы окон.