4,476

(4 replies, posted in Script)

Hello,


Please attach your project, I want to see your database structure.

4,477

(26 replies, posted in Russian)

porked wrote:

Добрый День!

Столкнулся с точно такой же проблемой как у zc13569

Решения так и не нашел. Было какое-то решение данной проблемы?

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


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

4,478

(5 replies, posted in General)

prahousefamily
Only after SQLExecute('PRAGMA key = ''aaa'';'); you can use another sql queries.
Fixed script:


var
    SqliteTr: TDBXSqliteTransaction;
    i: integer;

procedure Form1_OnShow (Sender: string; Action: string);
begin
    SQLExecute(
    ' DROP TABLE IF EXISTS "main"."user" ; ');
    SQLExecute(
    ' CREATE TABLE "main"."user" ( '+
    ' "id"  INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, '+
    ' "user"  TEXT,"password"  TEXT, '+
    ' CONSTRAINT "user_uniq" UNIQUE ("user" ASC) ON CONFLICT REPLACE);'
    );
    SqliteTr := BeginSQLiteTransaction;
    for i:= 1 to 1000 do SQLExecute('INSERT INTO user (user,password) VALUES(''user'+inttostr(i)+''','''+
    StrToMD5(inttostr(i))+''')');
    CommitSQLiteTransaction(SqliteTr);
end;

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.TableGrid1.dbSQL := 'select * from sqlite_master;';
    Form1.TableGrid1.dbSQLExecute ;
    Form1.TableGrid2.dbSQL := 'select * from user;';
    Form1.TableGrid2.dbSQLExecute ;
end;


begin
    SQLExecute('PRAGMA key = ''aaa'';');
end.

4,479

(4 replies, posted in Script)

jean.brezhonek
Just call method

Form1.TableGrid1.dbUpdate; 

After update font.


An example:

4,480

(5 replies, posted in General)

prahousefamily wrote:

No Effect or i try wrong ???

please attach Example for download ???

Please attach your project, I will check it.

4,481

(4 replies, posted in Russian)

pha1984 wrote:

1. Я вам отправил проект без базы данных. У меня в базе данных имеется 12417 записей, которые показываются в комбо. Так вот при первом открытии программы происходит задержка, так как комбо собирает весь список. По моему надо вставить лимит на показ записей.

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

4,482

(5 replies, posted in General)

First you should download this sqlite.dll file and replace it in the folder My Visual Database and in the project folder
http://myvisualdatabase.com/forum/viewt … 243#p13243



Also how you check to there is no effect?

4,483

(2 replies, posted in General)

Hello,


You should create a foreign key in the table "SalesInv" to "Customers" and then you can choose a customer from ComboBox, also using script you can show all data of customer on form "frmInvoice".



Also I not recommend to use one form for list all records and for create/edit record in the same time.
Here you can find a book, which I writing in the moment about using MVD:
http://myvisualdatabase.com/forum/viewtopic.php?id=2694


I made some changes in your project.

abgroup-artur wrote:

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

Да, именно так.

Роман wrote:

smile Дмитрий взгляните пост №7...???

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

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


пожалуйста приложите ваш проект (zip файл без exe и dll), также описание, какое именно вычисляемое поле и в какой именно грид выводится.

4,487

(5 replies, posted in General)

jean.brezhonek wrote:

Hello Dmitry

Would it be possible to implement three functions to component TChart ?

- SaveToBmpFile
- CopyToClipboardBitmap
-  Print

Many Thanks

JB

Hello,


Please download latest beta version 2.8
https://www.dropbox.com/s/k1wd8mqe3qb35 … a.zip?dl=0


I added some procedures:

Chart.SaveToBitmapFile(const FileName: string);
Chart.SaveToMetaFile(const FileName: string);
Chart.SaveToMetaFileEnh(const FileName: string);
Chart.CopyToClipboardBitmap;
Chart.CopyToClipboardMetafile(Enhanced: Boolean);
Chart.Print;
Chart.Preview;

4,488

(3 replies, posted in General)

Hello,



This feature is planned.

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


Прочитать об SQL можно здесь
http://www.sql.ru/docs/sql/u_sql/



В скрипте все что идет после блока

begin

end.

будет проигнорировано, поэтому ваш скрипт должен выглядеть так



procedure Запрос_ComboBox1_OnChange (Sender: string);
begin
    Запрос.Button1.Click;
    Запрос.Button2.Click;
    Запрос.Button3.Click;
    Запрос.Button4.Click;
    Запрос.Button5.Click;
    Запрос.Button6.Click;
    Запрос.Button7.Click;
end;


procedure Выгрузка_ComboBox2_OnChange (Sender: string);
begin
    Выгрузка.Button1.Click;
    Выгрузка.Button2.Click;
    Выгрузка.Button3.Click;
    Выгрузка.Button4.Click;
    Выгрузка.Button5.Click;
    Выгрузка.Button6.Click;
    Выгрузка.Button7.Click;
end;



begin

end.


также я заметил что для ComboBox2 на форме Выгрузка событие OnChange не создано, возможно вы просто скопировали событие в скрипте от ComboBox1, как правильно создавать события для компонентов можно посмотреть здесь
http://myvisualdatabase.com/help_ru/scr … rview.html

mathmathou

I have checked, it works and for UPDATE, example:

procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
    sSQL: string;
    sFileName: string;
    sFieldName: string;

    Params: TParams;
    MemoryStream: TMemoryStream;
    Param: TParam;
begin
    sFileName := 'd:\db 1.jpg';
    sFieldName := 'somefile';

    sSQL := 'UPDATE test SET ' +sFieldName+'= :'+sFieldName+', '+sFieldName+'_filename="'+ExtractFileName(sFileName)+'" WHERE id=1';
    Params := TParams.Create(nil);


    // BLOB
    MemoryStream := TMemoryStream.Create;
    MemoryStream.LoadFromFile(sFileName); // load file to memory
    MemoryStream.Position := 0;
    Params.CreateParam(ftBlob, sFieldName, ptInput).LoadFromStream(MemoryStream, 15);  // 15 ftBlob (TBlobType)

    Form1.SQLConnection.Execute(sSQL, Params);

    MemoryStream.Free;
    Params.Free;
    Form1.TableGrid1.dbUpdate;
end;

4,491

(1 replies, posted in Russian)

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


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

samum wrote:

3. Дмитрий, спасибо за подсказку - это вполне устроит
2. создал дополнительно таблицу memotable и в ней три текстовых поля memo1, memo2 и memo3. Прописал Ваш скрипт. Но при запуске ошибка скрипта Undeclared indentifier: 'sqlValue'
К сожалению, не силён в sql, побороть эту ошибку не смог даже на чистом проекте, состоящим из только 3-х мемо.
Возможно, этот скрипт не работает на версии 1,15 ?

В старых версиях еще не было свойства sqlValue, поэтому его необходимо сменить на свойство Text, пример

SQLExecute('INSERT OR REPLACE INTO memotable (id, memo1) VALUES(1, '+Form1.Memo1.sqlValue+')');

измените на

SQLExecute('INSERT OR REPLACE INTO memotable (id, memo1) VALUES(1, "'+Form1.Memo1.Text+'")');

Можете производить поиск по отдельных строкам, пример

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    i,c: integer;
    s: string;
begin
     c := Form1.Memo1.Lines.Count-1;
     for i := 0 to c do
     begin
         s := Form1.Memo1.Lines[i]; // в переменной s поочередно будет попадать каждая строка, 

         {...}
     end;
end;

4,494

(5 replies, posted in General)

Hello,


1. Just scroll chart using right mouse button to see last value on the chart. It happened because you have same date for two latest records.


2. Unfortunately no.


3.

ChartLine.BottomAxis.LabelsAngle := 90; 


Also I noticed that you used type TEXT for database field "Taux" instead REAL.

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



1. К сожалению это возможно только в последнях версиях.


2. Лучше создать для этого отдельную таблицу в БД и сохранять там. Пример скрипта

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Form1.Memo1.Text := SQLExecute('SELECT memo1 FROM memotable WHERE id=1');
    Form1.Memo2.Text := SQLExecute('SELECT memo2 FROM memotable WHERE id=2');
    Form1.Memo3.Text := SQLExecute('SELECT memo3 FROM memotable WHERE id=3');
end;

procedure Form1_OnClose (Sender: string; Action: string);
begin
    SQLExecute('INSERT OR REPLACE INTO memotable (id, memo1) VALUES(1, '+Form1.Memo1.sqlValue+')');
    SQLExecute('INSERT OR REPLACE INTO memotable (id, memo2) VALUES(2, '+Form1.Memo2.sqlValue+')');
    SQLExecute('INSERT OR REPLACE INTO memotable (id, memo3) VALUES(3, '+Form1.Memo3.sqlValue+')');
end;

3. В принципе можно, оставьте как есть две кнопки с действием "Поиск", но сделайте их невидимыми, затем разместите на форме еще одну кнопку, которая с помощью скрипта будет нажимать на эти две невидимые кнопки, пример:

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.Button2.Click;
    Form1.Button3.Click;
end;

5-6
Это возможно, но к сожалению нет готового примера. Вам необходимо использовать скрипт с объектом TTimer
Здесь можете скачать пример использования объекта TTimer http://myvisualdatabase.com/forum/misc. … download=1

Роман
Необходимо найти все значения в тексте которые расположены между right><td> и </td> ?
Приведите пожалуйста фрагмент текстового содердимого файла, в котором необходимо найти эти значения.

4,497

(35 replies, posted in Russian)

tkuzmin wrote:

Дмитрий, добрый день!

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

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


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

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


Спасибо за найденную ошибку, как оказалось забыл реализовать эту функцию для MySQL.
Исправил, скачайте пожалуйсту бета версию 2.8
http://myvisualdatabase.com/forum/viewt … ?pid=16240

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


К сожалению ваш проект не приложен к сообщению, возможно он слишком большой, удалите из проекта dll и exe файлы и создайте из него zip архив.

4,500

(35 replies, posted in Russian)

Popkov-alex wrote:

Добрый день.
Подскажите планируются ли функции прикрепления файла со сканера и автоматическое ведение логов (а то решил скриптом сделать, действий много и скрипт сильно большой получается).
Спасибо.

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


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