3,976

(10 replies, posted in Russian)

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


Извиняюсь за задержку с ответом. Вопрос все еще актуален для вас?

3,977

(6 replies, posted in General)

Hello.

Sorry for delay. I was on vacation.
The question is still relevant for you?

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


Извиняюсь за задержку с ответом. Вопрос все еще актуален для вас?

3,979

(4 replies, posted in General)

Hello.

Sorry for delay. I was on vacation.
The question is still relevant for you?

3,980

(1 replies, posted in General)

Hello.

Sorry for delay. I was on vacation.
The question is still relevant for you?

derek wrote:

Good Morning Dmitry,
Thank you for your reply.
I have downloaded 3.11 Beta and the .BoldDays function works well - it will be very useful.
Is the discount for MVD Version 3 still available?
Regards,
Derek.

Hello.


Yes, available.

6katran6 wrote:

как видишь на фото окно открыта написана ( О программе ) вот оно должно открываться 1 раз при первом запуске программы а потом как всегда за ней окно должно постоянно открываться

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

3,983

(7 replies, posted in Russian)

Приетствую.


Добавил возможность изменять значения Margins, скачайте пожалуйста последнюю бета версию
https://www.dropbox.com/s/1y0jek64gzfdy … a.zip?dl=0


Пример использования

begin
    Form1.Panel1.Align := alTop;
    Form1.Panel1.AlignWithMargins := True;
    Form1.Panel1.Margins.Top := 10;
end.

3,984

(66 replies, posted in Russian)

motorolla wrote:

нашел, вот как надо

add.Edit28.text:= FloatToStr(StrToFloat(add.Edit8.text)*(StrToFloat( add.Edit26.text)- StrToFloat( add.Edit27.text)));

попробуйте так

add.Edit28.Value:= add.Edit8.Value * (add.Edit26.Value - add.Edit27.Value);

Увы вопрос не ясен.

alduyr wrote:

Здравствуйте.

Появились вопросы:
1. Как запретить копировать фото со значка над ним.
2. Как сделать созданную программу Бета версией и полноценной версией после ввода
лицензионного ключа.

Версия 1.44

1. К сожалению не понял вопроса.


2. Увы также вопроса не понял.

3,987

(3 replies, posted in Russian)

bemorhona-qt wrote:

огромное спасибо, примеры отличные.
3. На счет 3-го вопроса я так понял, что в свойствах кнопки Action можно оставить пустым, а в скриптах писать ваш пример для пунктов 3-6. Ведь так?
7. На счет 7-го вопроса не понятно в чем разница между 7 и 3.

3. Да, указывать действие для кнопки не нужно.


7.  в п.3 свойство возвращает SQL запрос, если грид был заполнен кнопкой с действием "SQL запрос".

3,988

(11 replies, posted in General)

An example for you

Hello.


1. It's not support by component.


2. Please download latest version
https://www.dropbox.com/s/1y0jek64gzfdy … a.zip?dl=0


example, how to bold some days:

procedure MonthCalendar1GetMonthInfo(Sender: TObject; Month: Cardinal; var MonthBoldInfo: Cardinal);
begin
  if Month=1 then Form1.MonthCalendar1.BoldDays([1, 15, 16], MonthBoldInfo) //  for January bold 1, 15, 16 days
  else Form1.MonthCalendar1.BoldDays([3, 4], MonthBoldInfo); // for all other months
end;


begin
    Form1.MonthCalendar1.OnGetMonthInfo := @MonthCalendar1GetMonthInfo;
end.

3,990

(35 replies, posted in Russian)

tkuzmin wrote:

Убрал галочку, пропала ошибка, но все же хотелось бы что бы при добавление таблица сама обновлялась )

Создайте для этой кнопки событие OnAfterClick

procedure Form1_Button1_OnAfterClick (Sender: string);
begin
   Form1.TableGrid1.dbUpdate;   
end;

3,991

(2 replies, posted in General)

Hello.


Unfortunately I can help you only with specific question.

3,992

(2 replies, posted in General)

Hello.


Merry Christmas! smile


Here you can find my Christmas staff
http://get-xmas.com/

3,993

(3 replies, posted in Russian)

1.
В настройках грида есть поле "3. Фильтр", который вы можете изменить с помощью скрипта, используя свойство dbFilter, также чтобы применить этот фильтр, грид необходимо обновить, пример:

Form1.TableGrid1.dbFilter := 'active=1';
Form1.TableGrid1.dbUpdate;

2. Это свойство удобно использовать в SQL запросах, эти две строки аналогичны

SQLExecute('SELECT lastname FROM tablename WHERE id='+IntToStr(Form1.TableGrid1.dbItemID) );
SQLExecute('SELECT lastname FROM tablename WHERE id='+Form1.TableGrid1.sqlValue );

свойство sqlValue позволяет избежать использование функции IntToStr



3.  Если грид был заполнен кнопкой с действием "SQL запрос", то с помощью свойства dbSQL вы можете получить данный SQL запрос используя скрипт.



4. Содержит название главной таблицы БД, это тоже самое, что в настройках грида "1. Выберите таблицу базы данных для запроса"


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


Пример использования для пунктов 3-6

procedure Form1_bScript_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.GridEmployees.dbSQL:='SELECT id, "$autoinc", lastname, firstname, salary FROM employees'; // the id field, want to be able to edit or delete the entry from the table component
    Form1.GridEmployees.dbGeneralTable := 'employees'; // Optional (in the case of complex SQL queries with sub queries, you need to choose the main table of the database, also it need to be able to edit or delete the entry from the table component)
    Form1.GridEmployees.dbListFieldsNames :='delete_col,#,name2,name3,name4'; // If you do not want to see the value of the id in the component table, enter a name for the column delete_col
    Form1.GridEmployees.dbSQLExecute;
end;

Т.е. вы можете заполнить грид данными используя скрипт, а не настройки грида.



7. Позволяет получить SQL запрос, который использовался при заполнении грида. (в текущей версии работает только если грид заполнили кнопкой "Поиск", в след. версии будет работать для всех случаев.)


8. По координатам X и Y грида можно получить порядковый номер записи.


9-10. Позволяет добавить или удалить строки в гриде, были реализованы для данного примера:

3,994

(35 replies, posted in Russian)

tkuzmin
Судя по вопросу, вы хотите сделать что то неправильное )
В базе данных не должна дублироваться информация, если она дублируется, значит структура спроектирована неверно.


В любом случае это можно сделать скриптом

procedure form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    SQLExecute('INSERT INTO tablename (lastname) VALUES('+Form1.Edit1.sqlValue+')');
    Form1.TableGrid1.dbUpdate;
end;

3,995

(2 replies, posted in General)

Hello.


Your purpose to use this text in SQL queries? Just use sqlValue instead Text
Example:

SQLExecute('INSERT INTO tablename (textfield) VALUES('+Form1.Edit1.sqlValue+')');


Property sqlValue return quoted string to use it in SQL queries.

3,996

(3 replies, posted in General)

Hello.


An example:
http://myvisualdatabase.com/forum/misc. … download=1

3,997

(5 replies, posted in General)

Option "dictionary" does not affect the speed.

alduyr
На форме frmImageSearch у компонента ComboBox1 удалите событие OnChange, возможно я забыл его удалить, когда копировал данный компонент с главной формы.

Можно, сделал для вас пример:

4,000

(2 replies, posted in Script)

Hello.


dbItemID return id of selected row, but what if you want to know id not selected row?
You should use method dbIndexToID()


Example, if you want to know id of first and second rows

id := Form1.TableGrid1.dbIndexToID(0);
id := Form1.TableGrid1.dbIndexToID(1);