3,176

(5 replies, posted in Script)

Check out this topic
http://myvisualdatabase.com/forum/viewtopic.php?id=2018

3,177

(8 replies, posted in Russian)

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

3,178

(10 replies, posted in Russian)

kovalenko wrote:

Дмитрий ещё раз здравствуйте. Сделал эту процедуру в двух формах. Если не комментировать одну из них, то во второй подсвечивается красным
procedure CloseForms(exceptForm: TForm);
Что не так?

Не совсем понял, приведите ваш скрипт полностью

3,179

(4 replies, posted in General)

Please attach your project (zip file without exe and dll) and describe steps to introduce the error.

На форме "Контактное лицо" нет необходимости в компоненте ComboBox (контрагент). Программа автоматически привяжет контактное лицо к контрагенту.


Но если вы все таки хотите видеть этот ComboBox и чтобы в нем при создании записи был выбран текущий контрагент, можете написать скрипт

procedure Контактное_лицо_OnShow (Sender: string; Action: string);
begin
    if Контактное_лицо.bOK.dbGeneralTableId=-1 then Контактное_лицо.ComboBox1.dbItemID := Контрагент.bOK.dbGeneralTableId;
end;

konstantin.gussev
Доработал пример

Example, how to create StatusBar

var
    StatusBar: TStatusBar;

procedure Form1_OnShow (Sender: string; Action: string);
begin
    StatusBar := TStatusBar.Create(Form1);
    StatusBar.Parent := Form1;
    StatusBar.Panels.Add; //0
    StatusBar.Panels.Add; //1
    StatusBar.Panels.Add; //2

    StatusBar.Panels.Items[0].Width := 150;
    StatusBar.Panels.Items[0].Text := 'Hello';

    StatusBar.Panels.Items[1].Width := 100;
    StatusBar.Panels.Items[1].Text := 'Value';

    StatusBar.Panels.Items[2].Width := 100;
    StatusBar.Panels.Items[2].Text := 'Value';
end;

Icons for statusbar is not supported.


Project:

kovalenko wrote:
DriveSoft wrote:

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

Да, заработало. А подскажите как реализовать если на frmAbonent для абонента не одна фотка, а три?

procedure frmAbonent_bOK_OnAfterClick (Sender: string);
var
    dbFileName, sFileName, sNewFileName: string;
begin
    if frmAbonent.dbPhoto1.dbImageIsChanged then
    begin
        sFileName := frmAbonent.dbPhoto1.dbFileName;
        sFileName := ExtractFileDir(Application.ExeName)+sFileName;
        sNewFileName := ExtractFilePath(Application.ExeName) + frmAbonent.dbPhoto1.dbCopyTo + '\'+ frmAbonent.EditCounter.Text + '_' + DateToStr(frmAbonent.dtDate.Date) + ExtractFileExt(sFileName);

        dbFileName := '"\'+frmAbonent.dbPhoto1.dbCopyTo + '\'+ frmAbonent.EditCounter.Text + '_' + DateToStr(frmAbonent.dtDate.Date) + ExtractFileExt(sFileName)+'"';

        if FileExists(sNewFileName) then
        begin
            if IDYES = MessageBox('File exists.' + #13+ sNewFileName+#13+ 'Overwrite?', 'Warning', MB_YESNO+MB_ICONQUESTION) then
            begin
                DeleteFile(sNewFileName);
                if RenameFile(sFileName, sNewFileName) then SQLExecute('UPDATE person SET photo1_filename = '+dbFileName + ' WHERE id='+IntToStr(frmAbonent.bOK.dbGeneralTableId));
            end;
        end;
    end;
    
    if frmAbonent.dbPhoto2.dbImageIsChanged then
    begin
        sFileName := frmAbonent.dbPhoto2.dbFileName;
        sFileName := ExtractFileDir(Application.ExeName)+sFileName;
        sNewFileName := ExtractFilePath(Application.ExeName) + frmAbonent.dbPhoto2.dbCopyTo + '\'+ frmAbonent.EditCounter.Text + '_' + DateToStr(frmAbonent.dtDate.Date) + ExtractFileExt(sFileName);

        dbFileName := '"\'+frmAbonent.dbPhoto2.dbCopyTo + '\'+ frmAbonent.EditCounter.Text + '_' + DateToStr(frmAbonent.dtDate.Date) + ExtractFileExt(sFileName)+'"';

        if FileExists(sNewFileName) then
        begin
            if IDYES = MessageBox('File exists.' + #13+ sNewFileName+#13+ 'Overwrite?', 'Warning', MB_YESNO+MB_ICONQUESTION) then
            begin
                DeleteFile(sNewFileName);
                if RenameFile(sFileName, sNewFileName) then SQLExecute('UPDATE person SET photo2_filename = '+dbFileName + ' WHERE id='+IntToStr(frmAbonent.bOK.dbGeneralTableId));
            end;
        end;
    end;

    if frmAbonent.dbPhoto3.dbImageIsChanged then
    begin
        sFileName := frmAbonent.dbPhoto3.dbFileName;
        sFileName := ExtractFileDir(Application.ExeName)+sFileName;
        sNewFileName := ExtractFilePath(Application.ExeName) + frmAbonent.dbPhoto3.dbCopyTo + '\'+ frmAbonent.EditCounter.Text + '_' + DateToStr(frmAbonent.dtDate.Date) + ExtractFileExt(sFileName);

        dbFileName := '"\'+frmAbonent.dbPhoto3.dbCopyTo + '\'+ frmAbonent.EditCounter.Text + '_' + DateToStr(frmAbonent.dtDate.Date) + ExtractFileExt(sFileName)+'"';

        if FileExists(sNewFileName) then
        begin
            if IDYES = MessageBox('File exists.' + #13+ sNewFileName+#13+ 'Overwrite?', 'Warning', MB_YESNO+MB_ICONQUESTION) then
            begin
                DeleteFile(sNewFileName);
                if RenameFile(sFileName, sNewFileName) then SQLExecute('UPDATE person SET photo3_filename = '+dbFileName + ' WHERE id='+IntToStr(frmAbonent.bOK.dbGeneralTableId));
            end;
        end;
    end;
end;

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

Сделал для вас проект с примером:



скрипт

procedure frmAbonent_bOK_OnAfterClick (Sender: string);
var
    dbFileName, sFileName, sNewFileName: string;
begin
    if frmAbonent.dbPhoto.dbImageIsChanged then
    begin
        sFileName := frmAbonent.dbPhoto.dbFileName;
        sFileName := ExtractFileDir(Application.ExeName)+sFileName;
        sNewFileName := ExtractFilePath(Application.ExeName) + frmAbonent.dbPhoto.dbCopyTo + '\'+ frmAbonent.EditCounter.Text + '_' + DateToStr(frmAbonent.dtDate.Date) + ExtractFileExt(sFileName);

        dbFileName := '"\'+frmAbonent.dbPhoto.dbCopyTo + '\'+ frmAbonent.EditCounter.Text + '_' + DateToStr(frmAbonent.dtDate.Date) + ExtractFileExt(sFileName)+'"';

        if FileExists(sNewFileName) then
        begin
            if IDYES = MessageBox('File exists.' + #13+ sNewFileName+#13+ 'Overwrite?', 'Warning', MB_YESNO+MB_ICONQUESTION) then
            begin
                DeleteFile(sNewFileName);
                if RenameFile(sFileName, sNewFileName) then SQLExecute('UPDATE person SET photo_filename = '+dbFileName + ' WHERE id='+IntToStr(frmAbonent.bOK.dbGeneralTableId));
            end;
        end else if RenameFile(sFileName, sNewFileName) then SQLExecute('UPDATE person SET photo_filename = '+dbFileName + ' WHERE id='+IntToStr(frmAbonent.bOK.dbGeneralTableId));
    end;
end;


Проект:

3,186

(3 replies, posted in General)

manixs2013 wrote:

Thanks!

Can i send it to you via email?

Yes, send it to support@drive-software.com with link on this topic.

3,187

(3 replies, posted in General)

Hello.


procedure Form2_OnShow (Sender: string; Action: string);
begin
    Form2.DateTimePicker1.DateTime := now;
end;

3,188

(10 replies, posted in Russian)

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


Скачайте пожалуйста последнюю бета версию 3.6
https://www.dropbox.com/s/4rfukqr2r1awq … b.zip?dl=0


Пример:

procedure frmNumber_Button3_OnClick (Sender: string; var Cancel: boolean);
begin
    CloseForms(frmAbonent);
end;

procedure CloseForms(exceptForm: TForm);
var
    i,c: integer;
begin
    c := Screen.FormCount-1;
    for i := c downto 0 do
    begin
        if (Screen.Forms[i] is TAForm) and
           (Screen.Forms[i] <> exceptForm) and
           (Screen.Forms[i].ClassName <>'TfrmMaindbCore') then Screen.Forms[i].Close;
    end;
end;

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

3,189

(11 replies, posted in General)

Example:

procedure Form2_OnShow (Sender: string; Action: string);
begin
    Form2.Edit1.Value := Form2.ButtonSave.dbGeneralTableId;
end;
konstantin.gussev wrote:

Было бы еще интересно сделать шифрование паролей в базу с помощью md5. Имея доступ к базе данных все пароли видны как на ладоне.

Посмотрите пожалуйста данный проект с примером
http://myvisualdatabase.com/forum/misc. … download=1

konstantin.gussev
В sql запросе слово read заключите в кавычки двойные, т.к. для MySQL это слово является зарезирвированным.

Это решается с использованием вычисляемого поля, проект с примером:
http://myvisualdatabase.com/forum/misc. … download=1

3,193

(6 replies, posted in General)

geochrist wrote:

Hi

I have not found a solution. I program on a laptop with hd display. When I run the app on other computers with other resolutions I have problems.\
Also under windows 10 many times the app does not appear correct on screen. Do you have any settings that I have to apply to the app (right click on app icon >>>properties) so that windows runs it correctly?

Can someone help me on the above issues?

Thanks
George

Please attach your project and screenshots to understand the problem, usually the property Anchors solves the problem with different resolutions.

Thank you for your project, you found a bug. Please download latest version again, fixed:
http://myvisualdatabase.com/download/myvisualdb.exe

3,195

(3 replies, posted in General)

Hello.


Please attach your project.

Please send me you project and database to support@drive-software.com with link to this topic and describe steps to reproduce slow work.

3,197

(1 replies, posted in Russian)

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


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

Astra30
Реализовал отчет в вашем примере

3,199

(4 replies, posted in General)

Hello.


Unfortunately it's not support. Please check out this example
http://myvisualdatabase.com/forum/misc. … download=1

3,200

(2 replies, posted in General)

- Added functionality to receive email (POP3), example: http://myvisualdatabase.com/forum/viewtopic.php?id=3514
- Implemented bookmarks in script editor (to set bookmark Ctrl+Shift+[n]; to go to bookmark Ctrl+[n], where n = 1...9)
- Corrected formatting of the currency values in Combobox
- Added ability to use custom icons, example: http://myvisualdatabase.com/forum/viewtopic.php?id=3491
- Other minor modifications
- Fixed bugs)