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


Нажмите кнопку http://myvisualdatabase.com/help_ru/script/icon_script.png

4,077

(37 replies, posted in Russian)

6katran6 wrote:

а как и куда платить ??

Отправил вам e-mail с информацией.

4,078

(15 replies, posted in Russian)

RZ-007
Странно, у меня не хочет убегать обратно из формы. Приложите ваш проект пожалуйста. И какая версия Windows у вас?

4,079

(31 replies, posted in General)

AD1408
To enable this feature you should just enable the properties
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=2577&download=0


No additional action requirement.


Can you attach your project in which you get an error, perhaps you found some bug.

4,080

(5 replies, posted in Russian)

Если используете SQLite, тогда выч. поле будет таким:

date('now') - dates + (case when strftime('%m-%d', 'now') < strftime('%m-%d', dates) then -1 else 0 end)

4,081

(15 replies, posted in Russian)

RZ-007 wrote:

Дмитрий СПАСИБО за оперативность РАБОТАЕТ...НО!!!!
Возможно...
-закрепить открытое приложение  на ФОРМЕ наглухо...,
что бы можно было тоскать форму,  а приложение не убегало???

Не совсем понял, а куда оно убегает?

4,082

(12 replies, posted in Russian)

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

4,083

(2 replies, posted in General)

It depends if Outlook 2013 have some mechanism for that, but unfortunately I don't know nothing about Outlook.


Outlook mail service have API for access (not desktop app)
https://msdn.microsoft.com/en-us/office … operations


So you can use function HTTPGet to get access to api.

4,084

(35 replies, posted in Russian)

tkuzmin wrote:

Дмитрий, спасибо большое но не совсем то что надо получилось. Я попробовал сам всю базу сделать, но что-то работает криво. Можете посмотреть пожалуйста, там сама структура предельно проста.

Пользователь выбирает просто название предметов и они попадают в грид со всеми своими свойствами.
Админ вносит сами предметы и их свойства.

Пожалуйста описывайте конкретные вопросы, что именно не работает, и что именно получилось не то что надо?

4,085

(6 replies, posted in Russian)

Можно, создайте для кнопки с дествием "Открыть в Excel" два события, OnClick и OnAfterClick


procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
begin
    // скрываем необходимые колонки (1-ая и 4-ая)
    Form1.TableGrid1.Columns[0].Visible := False;
    Form1.TableGrid1.Columns[3].Visible := False;
end;

procedure Form1_Button5_OnAfterClick (Sender: string);
begin
    // восстанавливаем обратно скрытые колонки
    Form1.TableGrid1.Columns[0].Visible := True;
    Form1.TableGrid1.Columns[3].Visible := True;
end;

4,086

(15 replies, posted in Russian)

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


Пример:

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    h: integer;
    Max: integer;
begin
      // run calculator
      OpenFile('calc.exe');

      // finding window's calculator
      h := 0;
      Max := 20;
      while (h = 0) and (Max > 0) do
      begin
          h := FindWindow('', 'Calculator'); // find window using caption
          Dec(Max);
          Sleep(50);
      end;

      // move the calculator to the Form1
      if h <> 0 then
      begin
          SetWindowPos( h, 0, 10, 10, 0, 0, SWP_NOSIZE); // set position x=10, y=10
          SetParent( FindWindow('', 'Calculator'), Form1.Handle);
      end;
end;


В принципе таким образом можно разместить на своей форме любое приложение, зная его заголовок либо класс окна.

4,087

(37 replies, posted in Russian)

6katran6 wrote:

сумму скажите в рублях точно сколько нужно доплатить ?

1920.97RUB

sidhillsaid wrote:

Огромное спасибо! дмитрий, скажите, а чтобы файл с клиентского компьютера сразу загружался на сервер необходимо просто в скрипте изменить путь?

Если под сервером подразумевается компьютер в локальной сети с расшаренной папкой, то да.

4,089

(46 replies, posted in Russian)

abgroup-artur wrote:

не получается, вместо 0, теперь пишет 0,47 почему-то???

Приложите пожалуйста проект с описанием, где именно ошибка.

4,090

(12 replies, posted in Russian)

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


Какое значение ForeignKey установлено для ComboBox ?


Если ComboBox выводит записи из таблицы zakaz, то в свойстве Filter достаточно будет написать id_Users=1

stas.kodpi
В структуре базы данных вы создали таблицы для каждого месяца, это в корне неверный подход к проектированию баз данных. Я могу вам порекомендовать ознакомиться с теорией проектирования БД, иначе вы просто потеряете время, ссылки:

http://myvisualdatabase.com/forum/viewtopic.php?id=2554

https://www.youtube.com/watch?v=1GWx5CZdSCg

http://www.sql.ru/articles/mssql/2006/0 … ases.shtml

4,092

(2 replies, posted in Script)

Hello.


It's not possible in the current version, but you can specify the property dbLimit for TableGrid to limit number of records in the TableGrid, thus reduce the time to show records.

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Form1.TableGrid1.dbLimit := 1000;
end;

or you can edit values in cells directly instead using dbUpdate

    Form1.TableGrid1.dbItemID := id; // id - id edited record

    Form1.TableGrid1.Cells[0,Form1.TableGrid1.SelectedRow] := SQLExecute('SELECT field1 FROM tablename WHERE id='+IntToStr(id));
    Form1.TableGrid1.Cells[1,Form1.TableGrid1.SelectedRow] := SQLExecute('SELECT field2 FROM tablename WHERE id='+IntToStr(id));
    Form1.TableGrid1.Cells[2,Form1.TableGrid1.SelectedRow] := SQLExecute('SELECT field3 FROM tablename WHERE id='+IntToStr(id));

pt.82
Проверил на SQLite и на MySQL, импортирует.
Приложите пожалуйста ваш проект, CSV файл для импорта и сообщите какую версию программы вы используете?

Можно, ищет максимальную дату в таблице и устанавливает ее как начальную при создании записи:


procedure frmEmployee_OnShow (Sender: string; Action: string);
var
    DateMax: TDateTime;
    sDate: string;
begin
    if Action = 'NewRecord' then
    begin
        sDate := SQLExecute('SELECT MAX(endDate) FROM employees');
        if sDate <> '' then frmEmployee.DateTimePicker1.DateTime := SQLDateTimeToDateTime(sDate);
    end;
end;


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

4,095

(37 replies, posted in Russian)

6katran6 wrote:

у меня проблем с клюем лицензии на версии 2.8 все нормально работала как обновил до версии 3.1 не могу активировать что делать ?

Обновление до версии 3.1 платное, если вы ранее приобретали лицензию, то имеете право получить скидку 50%

4,096

(6 replies, posted in General)

Hello.


Thank you for the feedback smile

4,097

(63 replies, posted in Russian)

delphinsl wrote:

Здравствуйте!
при запуске проекта должна высвечиваться форма логина и пароля, но выдает ошибку в версии 3.1, в версии 2.8 все работало!

Пожалуйста приложите ваш проект.

4,098

(32 replies, posted in Russian)

RZ-007


Скачайте доработанную версию
https://www.dropbox.com/s/1y0jek64gzfdy … a.zip?dl=0



1. Пока возможно получить его только по нажатию кнопки, автоматически пока нельзя.

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
     Form1.edURL.Text := Web.LocationURL;
end;

2. Пока нет такой возможности.


3. Добавил методы, которые позволяют заполнять элементы на форме, находя их по id или name, примеры

    Web.FillElementByName('fd1', 'test');   // заполнение текстового поля
    Web.FillElementByID('qjump-select', '4'); // выбираем 4 элемент из списка
    Web.FillElementByID('fld3', '1'); // установка галочки в CheckBox

    Web.FillElementByName('req_username', 'test');
    Web.FillElementByName('qjump-select', '4');
    Web.FillElementByName('checkboxname', '1');
stas.kodpi wrote:

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

Можно, пример

procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
    i,c: integer;
    sFileName: string;
    sLine: string;
begin
    sFileName := 'exported.csv';

    c := Form1.TableGrid1.RowCount-1;
    for i := 0 to c do
    begin
        if Form1.TableGrid1.Selected[i] then
        begin
            sLine := Form1.TableGrid1.Cells[0,i]+',';
            sLine := sLine + Form1.TableGrid1.Cells[1,i]+',';
            sLine := sLine +  Form1.TableGrid1.Cells[2,i];
            WriteLnToFile(sFileName, sLine);
        end;
    end;

end;

У компонента TableGrid необходимо включить возможность выбора записей используя Ctrl.
Сделать это можно установив значение True у свойства

Additional > Options > goMultiSelect

Также можете скачать проект с данным примером:

sidhillsaid wrote:

Я понял как сохранить ссылки на изображения, однако не понимаю как их сразу же сохранить в бд...

Сделал для вас пример.