Topic: Новая версия 1.40

My Visual Database 1.40

Добавлены скрипты (используемый синтаксис Pascal)
Если у вас какие либо навыки программирования в Delphi, освоить скрипты не составит труда.

Dmitry.

2 (edited by Владислав Косяков 2014-05-20 17:46:07)

Re: Новая версия 1.40

Почему именно Delphi, почему не VB?

Re: Новая версия 1.40

Чуть позже появится поддержка синтаксиса Basic, C++, JScript

Dmitry.

Re: Новая версия 1.40

Добрый день, DriveSoft.

Две просьбы:
1. Добавьте в инструкцию к программе расшифровку и функционал свойства Events.
2. Хотелось бы увидеть пример БД с нововведениями.

Спасибо.

Re: Новая версия 1.40

Вопрос по скриптам - можно ли переменные скриптов использовать в sql запросах, например в запросах формирования отчетов?

Re: Новая версия 1.40

Niema
Документацией займусь на днях и примерами )


atempbox
пока нет, но планирую сделать возможность формировать отчеты непосредственно из скрипта

Dmitry.

Re: Новая версия 1.40

Подумал, можно эту ситуацию так обойти - записать скриптом значение переменной в поле на форме, которого не видно,  и использовать значение поля в sql запросе отчета.

Re: Новая версия 1.40

atempbox
Да, так работать будет )
компонент можно так же скрыть с помощью скрипта, например Form1.Edit1.Visible := False;

Dmitry.

Re: Новая версия 1.40

Да, точно, спасибо за информацию! А не планируется чтобы скрипт умеет читать настойки из файла, например из settings.ini? То есть там будут записи в виде строк Имя=Значение.

Re: Новая версия 1.40

atempbox
скрипт это умеет, пример:

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
   ini: TIniFile;
   s: string;
begin
     ini := TiniFile.Create('d:\file.ini');
     ini.WriteString('SectionName', 'ValueName', 'value');
     s := ini.ReadString('SectionName', 'ValueName', 'default value');
     ShowMessage(s);
     ini.Free;
end;

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

Dmitry.

Re: Новая версия 1.40

Есть таблица с перечнем товаров. Поля "Название" и "Картинка товара".
На форме расположен Grid. Рядом с гридом компонент DBImage. Можно ли сделать так, чтобы при щелчке на строке грида в компоненте DBImage отображалась картинка соответствующего товара? Т.е. чтобы не приходилось каждый раз открывать карточку товара.

Re: Новая версия 1.40

alex842
к сожалению в текущей версии так сделать не получиться, но планируется.

Dmitry.

Re: Новая версия 1.40

DriveSoft wrote:

alex842
к сожалению в текущей версии так сделать не получиться, но планируется.

Понятно. А проверка на уникальность значения в столбце есть?

Re: Новая версия 1.40

alex842
этого пока тоже нет, но обязательно будет.

Dmitry.

Re: Новая версия 1.40

Ну а я тогда с нетерпением  очень жду возможности вывода в отчет "фаст репорт"результатов поиска из "TableGrid". А то как то несправедливо в ексель все нормально а туда не желает :-) Ну очень нужно, для реализации гениального плана(((:-

Re: Новая версия 1.40

wertyby
скиньте проект на support@drive-software.com
постараюсь помочь.

Dmitry.

Re: Новая версия 1.40

Вот кстати, если кому-то нужно чтобы ini файл хранился в папке с программой, то нужно написать так:

ini := TiniFile.Create(ExtractFilePath(Application.ExeName) +'file.ini');

Re: Новая версия 1.40

Пытался  в скрипте получить значение индекса текущего элемента - не получается, всегда возвращается 0. Делаю так:
iRegisterTabIndex := frmSettings.cbRegister.ItemIndex; В чем может быть дело?

Re: Новая версия 1.40

atempbox
Проверил у себя, работает, скиньте проект  на support@drive-software.com
посмотрю.

Dmitry.

Re: Новая версия 1.40

Здравствуйте!
Поскольку стандартных диалогов открытия файла/папки нет (без сохранения в базу). то как можно это организовать с помощью скриптов?
Я так понимаю, нужно использовать TOpenDialog. Как его создать? Как получить из него название файла и полный путь к файлу?

Re: Новая версия 1.40

alex842

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
   OpenDialog: TOpenDialog;
begin
     OpenDialog := TOpenDialog.Create(Form1);
     if OpenDialog.Execute then ShowMessage(OpenDialog.FileName);
     OpenDialog.Free;
end;
Dmitry.

Re: Новая версия 1.40

По поводу iRegisterTabIndex := frmSettings.cbRegister.ItemIndex; Поменял имя комбобокса cbRegister на другое - все заработало Возможно глюк связан с тем, что на другой форме есть комбобокс с таким-же именем.

Re: Новая версия 1.40

atempbox
кстати да, есть такой неприятный глюк, к сожалению пока не поборол.

Dmitry.

Re: Новая версия 1.40

Добрый день, DriveSoft.
Можно ли с помощью новых возможностей некоторые кнопки (открывают только формы - Словари/Каталоги и т.д.) перенести в панель инструментов?
Спасибо.

Re: Новая версия 1.40

Niema

Можно, к сообщению прикреплен проект с примером.


Таким образом можно создавать любые компоненты с помощью скрипта.

Post's attachments

Attachment icon TestToolBar.zip 1.83 kb, 580 downloads since 2014-05-28 

Dmitry.