7,301

(14 replies, posted in General)

pilotctk wrote:

Hello - It would really help speed development of an application, if MVD had the ability to use the arrow keys to move the objects around in a form.  Sometimes it is difficult to use the mouse if I only need to move the object a small amount, and it is more convenient to use the arrow keys also.

Thanks for considering!!  Awesome program.

Chris

Thank you for the suggestion, I did it, please download beta version again.

7,302

(1 replies, posted in General)

Hello,


Standart Windows control like Button is not support change font color, may be it works in Windows XP.

7,303

(26 replies, posted in Russian)

замените эту строку

Form1.Edit2.Text := SQLExecute('SELECT group_concat(phone.number) FROM person LEFT OUTER JOIN phone ON phone.id_person=person.id' +sWHERE);

на

Form1.Edit2.Text := SQLExecute('SELECT group_concat(phone.number, '', '') FROM person LEFT OUTER JOIN phone ON phone.id_person=person.id' +sWHERE);

7,304

(4 replies, posted in General)

Yes, you can do it by using calculated field.
Example:

case BoolField when 1 then 'True' when 0 then 'False' else '' end

To remove extra 4 characters
' OR '

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



procedure Form1_bSQLReport_OnClick (Sender: string; var Cancel: boolean);
var
    i,c: integer;
    s: string;
begin
    s := '';
    Form1.bSQLReport.dbSQL := 'SELECT lastname, firstname, strftime(''%m/%d/%Y'', dateofbirth) as dateofbirth FROM employees';
    c := Form1.GridEmployees.RowCount-1;

    for i := 0 to c do
    begin
        if Form1.GridEmployees.Selected[i] then s := s + 'employees.id='+IntToStr(Form1.GridEmployees.dbIndexToID(i)) + ' OR ';
    end;

    if s <> '' then
    begin
        SetLength(s, Length(s)-4);
        Form1.bSQLReport.dbSQL := Form1.bSQLReport.dbSQL + ' WHERE ' + s;
    end;
end;


begin
    Form1.GridEmployees.Options := Form1.GridEmployees.Options + goMultiSelect;
end.


Проект с примером:

Здесь вы можете найти примеры
http://myvisualdatabase.com/forum/viewtopic.php?id=594

7,308

(6 replies, posted in FAQ)

Отправка E-mail сообщения с файлом.
начиная с версии 4.05 вы можете указать несколько адресатов разделяя их знаком ;



procedure Form1_bSend_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.bSend.Enabled := False;

    if SendMail(Form1.edServer.Text, Form1.edUsername.Text, Form1.edPassword.Text, Trunc(Form1.edPort.Value), Form1.edFrom.Text, Form1.edTo.Text, Form1.edSubject.Text, Form1.mmMessage.Text, Form1.edFileName.Text) then
        ShowMessage('Message sent');

    Form1.bSend.Enabled := True;
end;


begin
end.

Проект с примером:

7,309

(8 replies, posted in Russian)

Честно говоря не пробовал, но думаю можно.

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

procedure Form1_DateTimePicker2_OnChange (Sender: string);
begin
    if (Form1.DateTimePicker1.Checked = True) and (Form1.DateTimePicker2.Checked = True) then
    begin
        Form1.Button1.Enabled := True;
        Form1.Button2.Enabled := True;
    end else
    begin
        Form1.Button1.Enabled := False;
        Form1.Button2.Enabled := False;
    end
end;

procedure Form1_DateTimePicker1_OnChange (Sender: string);
begin
    if (Form1.DateTimePicker1.Checked = True) and (Form1.DateTimePicker2.Checked = True) then
    begin
        Form1.Button1.Enabled := True;
        Form1.Button2.Enabled := True;
    end else
    begin
        Form1.Button1.Enabled := False;
        Form1.Button2.Enabled := False;
    end
end;

procedure Form1_OnShow (Sender: string; Action: string);
begin
    if (Form1.DateTimePicker1.Checked = True) and (Form1.DateTimePicker2.Checked = True) then
    begin
        Form1.Button1.Enabled := True;
        Form1.Button2.Enabled := True;
    end else
    begin
        Form1.Button1.Enabled := False;
        Form1.Button2.Enabled := False;
    end
end;

Можно, но чтобы подсказать точную реализацию, мне необходимо видеть ваш проект, можете отправить его на support@drive-software.com
со ссылкой на данную тему, постараюсь помочь.

7,312

(23 replies, posted in Russian)

 if frmZakaz.Edit1.Text <> 'януари' then frmZakaz.Edit2.Text:='';

7,313

(19 replies, posted in Russian)

procedure Form1_Button6_OnClick (Sender: string; var Cancel: boolean);
begin
    // Выводит в текст бокс содержимое первой колонки выбранной строки в гриде
    Form1.Edit1.Text := Form1.TableGrid1.Cells[0,Form1.TableGrid1.SelectedRow];
    Form1.Memo1.Text := Form1.TableGrid1.Cells[0,Form1.TableGrid1.SelectedRow];
end;

7,314

(19 replies, posted in Russian)

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


Я могу ответить на ваши конкретные вопросы, но я не могу реализовать это за вас.

7,315

(19 replies, posted in Russian)

К сожалению не смогу помочь с вашими вопросами, слишком много неясностей.
Я могу помочь вам только с конкретными вопросами.

7,316

(26 replies, posted in Russian)

kunar80
Вы зачем то изменили строку

SetLength(sWHERE, Length(sWHERE)-4);

на

SetLength(sWHERE, Length(sWHERE)-9);

7,317

(26 replies, posted in Russian)

alex842
Все верно, не обязательно.

7,318

(1 replies, posted in General)

There is no speciality procedure for that, just copy one by one forms and scripts (using clipboard)

7,319

(26 replies, posted in Russian)

kunar80 wrote:

Спасибо, Дмитрий. А возможно ли к этому добавить условие: в Edit2 показывать не все номера, а только по тем записям, которые открыты в гриде. Например, через поиск отобран Petrov, тогда в Edit2 только его номера.
Или в прикрепленном примере при отборе записей в интервале дат...

Готово.

7,320

(10 replies, posted in General)

jean.brezhonek

Fixed, project attached.
Also please download beta version (some bugs fixed)
https://www.dropbox.com/s/vz1fmz5lrb6fw … 1.zip?dl=0


DoubleBuffered works, example

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Form1.DoubleBuffered := True;
end;

Боюсь никак, такая операция в принципе не применима к записям БД, видимо у вас что то неверно задумано в проекте.

wertyby
Данные добавляются в базу данных, компонент TableGrid только лишь выводит данные из базы данных, при необходимости, сортируя данные. Поэтому сам вопрос некорректен. Вы можете только отсортировать данные, по какому либо признаку.

7,323

(6 replies, posted in General)

You can use function FormatFloat, example:

Form1.Edit1.Text := FormatFloat('0.##', 25.5466);

7,324

(13 replies, posted in Russian)

а.. всмысле количество вкладок, возможность создавать вкладки была с первой версии, просто нажмите правой кнопкой мыши на PageControl и выберите "Новая вкладка"

7,325

(13 replies, posted in Russian)

в PageControl нет такой возможности, на сколько я знаю.