8,601

(43 replies, posted in Russian)

kunar80
Можно, нужно просто закомментировать некоторые строки в вашем скрипте.

В вашем случае должно быть так:

procedure Form1_GridEmployees_OnCellClick (Sender: string; ACol, ARow: Integer);
var
    sFile: string;
begin
     Form1.DBImage1.Clear;
     Form1.DBImage1.LoadFromDatabase('employees', 'photo', Form1.GridEmployees.dbItemID);

     sFile := SQLExecute('SELECT path_filename FROM employees WHERE id=' + Form1.GridEmployees.sqlValue);
     if sFile <> '' then OpenFile(ExtractFileDir(Application.ExeName) + sFile) else ShowMessage('Файл отсутствует');
end;

8,603

(43 replies, posted in Russian)

kunar80
Пришлите пожалуйста ваш проект на support@drive-software.com
посмотрю, где ошибка


И второе: это предусмотрено скриптом, добавление в словарь нового значения, если ранее его там не было.

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



для TableGrid есть метод, позволяющий задействовать авто подбор ширины колонок, вызывать необходимо в событии OnChange

Form1.TableGrid1.BestFitColumns(); // автоподбор ширины по содержимому ячеек
Form1.TableGrid1.BestFitColumns(bfBoth); // автоподбор ширины по содержимому ячеек и названия колонок
Form1.TableGrid1.BestFitColumns(bfHeader); // автоподбор ширины по названию колонок

данный метод был добавлен в бета версии 1.47
https://www.dropbox.com/s/bhwao1izh5q4y … 7.zip?dl=0

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


Column.Options
coCanClick - кликабельность заголовка колонки
coCanInput - имеет смысл при TableGrid.Options := goInput, позволяет вводить значение
coCanSort - делать ли сортировку при клике по заголовку
coDisableMoving - запретить перетаскивать колонки мышкой
coDontHighlight - не знаю )
coEditing - позволяет редактировать содержимое ячеек в колонке
coEditorAutoSelect - выделение текста в ячейке колонки при попадании туда фокуса ввода
coFixedSize - запрещает изменение размера колонки
coImageForIcon - не знаю
coPublicUsing - не знаю
coFullResort - не понял (от разработчика: When set to True, second click on column will not only invert column but re-sort it again.)
coSearchColumn - не знаю
coShowTextFitHint - включает всплывающую подсказку у ячейки, если текст полностью в нее не влазит
coTextForCaption - (от разработчика Reserved for future.)



TableGrid.Options

goArrowKeyExitEditing - выход из редактирования ячейки при нажатии вверх или вниз или влево, вправо
goCanHideColumn - не знаю
goDisableColumnMoving - запрещает перемещение всех колонок
goDisableKeys - запрещает перемещаться между строками с помощью стрелок на клавиатуре
goEscClearEdit - при редактировании ячейки, позволяет ее очистить при нажатии на Esc
goFooter - включает подвал (итоги)
goGrid - включает вертикальные и горизонтальные линии
goHeader - включает заголовок
goIndicator - включает некую панель слева
goInput - включает возможность вводить значения под колонками
goLockFixedCols - не знаю
goMultiSelect - позволяет выбрать сразу несколько записей
goRowResizing - позволяет изменять вертикальный размер строк (необходимо также задействовать goIndicator)
goRowMoving - включает возможность перемещать строки мышкой
goSecondClickEdit - редактирование ячейки двойным кликом
goSelectFullRow - выделять строку целиком
goUseDefaultValues - у колонок есть свойство DefaultValue, данная опция включает их
goInplaceEditEvents - не знаю

8,606

(7 replies, posted in General)

asayami_design
Please, send me your project to support@drive-software.com
I'll try to help you.

8,607

(7 replies, posted in General)

mr_d
not quite, sometime one book have more thah one author.

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

if FileExists('здесь указываем полный сетевой путь файла базы данных sqlite.db') then
   SQLExecute ('INSERT INTO inoutlog (user, action, date) VALUES ('+ sCurrentUser +',"вихід",'+ sCurrentDate +');');

8,609

(237 replies, posted in Russian)

motorolla
под Mac OS думаю не скоро появится версия, но планируется в далеком будущем )


письма пока отсылать нельзя, но скоро реализую.

zoomix
можете мне тоже отправить свой проект на support@drive-software.com
только опишите в письме все ваши вопросы по проекту, а то уже сложно понять в топике, что решено, а что нет smile


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

kunar80
Пришлите пожалуйста проект на support@drive-software.com
со ссылкой на данное сообщение, посмотрю в чем дело.

8,612

(1 replies, posted in Russian)

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


пришлите пожалуйста проект на support@drive-software.com
посмотрю в чем дело.

motorolla
Все верно, но удалить можно только файл script.pas из папки Script, но скомпилированный скрипт (файл script.dcu) удалять не нужно, таким образом можно защитить исходный код скрипта, когда отдаете проект клиенту или пользователям.
Но для редактирования скрипта в My Visual Database файл script.pas обязательно должен быть.

8,614

(16 replies, posted in Russian)

kunar80
Да, так же как и в SELECT, при использовании DELETE нужно воспользоваться ключевым словом WHERE


т.е.
DELETE FROM table_name WHERE datefield > {DateTimePicker1} AND datefield < {DateTimePicker2}

А можно подробней о возникновении ошибки I/O error, что стало ее причиной?

8,616

(7 replies, posted in General)

Hello,


I made for you project example (Authors and Books)  many-to-many:

8,617

(6 replies, posted in Russian)

Владислав Косяков
Присвоить имя можно так:

...
TabSheet := TTabSheet.Create(Form1);
TabSheet.Name := sName; // где sName переменная текстового типа (string)
TabSheet.Caption := 'TabName';
TabSheet.PageControl := Form1.PageControl1;

но обратиться к динамически созданной вкладке по имени не получится,но можно по порядковому номеру
Form1.PageControl1.Pages[0]


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

8,618

(1 replies, posted in General)

In the current version unfortunately changing the structure without deleting data is not possible.
but soon I will fix it.


Now you can use sqlite for change DB strructure,
then make a change in the structure of database in MVD, and answered "No" when the dialog asks to recreate the database, so data is not lost.

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


если это не так, пришлите пожалуйста ваш проект на support@drive-software.com
посмотрю, что не так.

8,620

(3 replies, posted in General)

The Engineer


1.46 (27.10.2014)
Added sound functions
Added function for for selecting folder
Added function for working with system registry
Available compiled variant of script file
Added property dbInitialDir for component DBFile
Added custom sorting for Report button
Fixed some errors

 
1.45 (13.10.2014)
Added ability to select multiple components in the form designer
Added a new property CopyTo for DBFile component
Added many new features to the script
Other minor changes


1.44 (24.09.2014)
Added OnChange event for TableGrid
Added function for script SaveFileFromDataBase
Added methods BeginUpdate and EndUpdate for TableGrid
Added ability to search by month and year in DataTimePicker
Added other functions for script
Finished several bugfixes 
 

1.43 (26.08.2014)
Notification about error location in the script
New functions for the script
Fixed case insensitive search functionality
Other small changes and improvements


1.42 (24.07.2014)
Added ability to create report without using SQL query
Improved navigation through forms for projects with large amount of forms
Added several new functions to the script


1.41 (21.06.2014)
New functions added to the script
Added properties and methods of components
Bug fixes


1.40 (20.05.2014)
Added script (Pascal).
Fixed some bugs.


1.39 (08.05.2014)
Small changes and improvements


1.38 (16.04.2014)
Calculated footer in TableGrid.  
Consecutive numbering in the TableGrid.  
Sorting in TableGrid
 



1.37 (08.04.2014)
More convenient object inspector
Highlighting in SQL syntax
Other minor improvements


1.36 (20.03.2014)
Saving to database links to the file or folder
Incremental (instant) search
Fixed some bugs


1.35 (04.02.2014)
Linked lists.
TableName property in ComboBox replaced ForeignKey.
Able to refer to a dictionary a few times from a single table.
Other minor improvements and bug fixes.
 


1.31 (25.02.2014)
Input masks for TextBox
New property ReadOnly for TextBox and Memo
New filter for TextBox %s%
Automatic detection of links in a TextBox
Other minor improvements and bug fixes


1.30 (12.02.2014)
Calculated fields
Expression editor for calculated fields, and SQL queries
New type of field: Real
Search on grids (Ctrl+F)
Other minor additions

 
1.26 (28.01.2014)
Sizable forms
Export reports to: Word, Excel, PDF, HTML, OpenOffice, JPEG, TIFF
Fixed some bugs
Other minor additions 

 

1.25 (20.01.2014)
Opportunity for ComboBox to specify multiple fields, example: {field1}, {field2}. 
For "TextBox" and "Memo" added parametr "DefaulValue"
Drag and Drop for Tab with forms
Icons for buttons
Many other improvements


1.21 (14.11.2013)
Added the ability to embed SQL query data from visual components
Fixed some bugs 
 

1.2 (7.10.2013)
Ability to work with the database via the LAN
Report Designer
New type of action for a button (SQL query)
Search terms (=, <,>) for components Edit
Fixed some bugs


 ......... 
 1.0 (09.10.2013)
First version.

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


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


автоподгонку высоты строк к сожалению сделать не получится, вместо этого,
в инспекторе объектов компонента TableGrid увеличьте значение DefaultRowHeight например до 36


у необходимого компонента TableGrid создайте событие OnChange

procedure Form1_TableGrid1_OnChange (Sender: string);
begin
    Form1.TableGrid1.Columns[0].VerticalAlignment := taAlignTop; // вертикальное выравнивание для первой колонки
    Form1.TableGrid1.Columns[0].WrapKind := wkWordWrap; // включение переноса слов для первой колонки
end;
procedure frmEmployee_Button2_OnClick (Sender: string; var Cancel: boolean);
begin
    SQLExecute ('INSERT INTO table1 (d1) VALUES ('+ frmEmployee.Edit1.sqlValue +')');
    SQLExecute ('INSERT INTO table2 (d2) VALUES ('+ frmEmployee.Edit1.sqlValue +')');

    Form1.TableGrid1.dbUpdate;
    Form1.TableGrid2.dbUpdate;
    frmEmployee.Close;
end;


Also i made example for you, please download here:

8,623

(1 replies, posted in General)

Hello,


Please, send me your project to support@drive-software.com
I'll try to help you.

8,624

(4 replies, posted in General)

Form1.ComboBox1.dbItemID := -1;

8,625

(4 replies, posted in Russian)

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



у компонентов "DBFile" и "Save image to database" есть свойство Type, если его значение установить в LinkFile, то изображения не будут сохраняться в базе данных, а только ссылки на них.


Также у компонентов есть свойство CopyTo, которое позволяет автоматически скопировать файл в нужную папку.
Подробней можно прочитать здесь
http://myvisualdatabase.com/help_ru/com … opyto.html