4,326

(2 replies, posted in Russian)

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


В одном внешнего ключе можно сохранить только одно значение, поэтому необходимо создать еще два внешних ключа, id_PGRST1 и id_PGRST2


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


Исправленный проект:

abgroup-artur wrote:

Добрый день! А как это сравнение применить в Фильтре GRID.
дата в виде текста представляет собой   

p1:="01.10.2016";

periodFiltr:='date(oSchetData) < StrToDate('+p1+')';

FormFinans.TableGrid2.dbFilter:=periodFiltr;

Выдает ошибку !!!


попробуйте так

periodFiltr:='date(oSchetData) <  date("' + FormatDateTime('yyyy-MM-DD hh:nn:ss.000', StrToDate(p1) )+'")';

4,328

(9 replies, posted in General)

AD1408 wrote:

What about changing text color only of a whole row on tGrid please.........

Instead

frmLookups.tgProd_CodePrefix.Cell[iCol,iRow].Color

use

frmLookups.tgProd_CodePrefix.Cell[iCol,iRow].TextColor

4,329

(35 replies, posted in Russian)

RZ-007


пример

var
   Timer: TTimer;
   iTimer: integer;

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    iTimer := 10;
    Timer.Enabled := True;  // Start timer
end;

procedure Form1_OnShow (Sender: string; Action: string);
begin
     Timer := TTimer.Create(nil); // create timer
     Timer.OnTimer := @OnTimer;  // event procedure
     Timer.Interval := 1000;
end;

procedure Form1_OnClose (Sender: string; Action: string);
begin
    Timer.Free;
end;

procedure OnTimer (Sender: TObject);
begin
    Form1.Label1.Caption := FormatDateTime('hh:nn:ss', iTimer/86400);
    Dec(iTimer);
    if iTimer < 0 then
    begin
        Timer.Enabled := False;
        Form2.Show;
    end;
end;
memult wrote:

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

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

4,331

(7 replies, posted in Russian)

попробуйте сделать вычисляемое поле таким

round( IFNULL(ausgaben,einnahmen) / mwst, 2)

команда IFNULL выберет первое значение, которое не пустое

4,332

(3 replies, posted in Russian)

zc13569 wrote:

Подскажите, почему при использовании этого примера, при изменении пароля на числовой все норм, а при смене на пароль с буквами - no such column: pass ???

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

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


Вам необходимо найти записи, дата которых входит в выбранный месяц года?


Тогда просто воспользуйтесь кнопкной с действием "Поиск" и компонентов DateTimePicker со свойством Kind=MonthYear

4,334

(8 replies, posted in Script)

Please download latest beta version 2.8 where I have added PosEx function.


Also I made an example for you:

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    sl: TStringList;
    s, sRow, sDuration, sDistance: string;
    iPos1, iPos2, iOffset: integer;
begin
     sl := TStringList.Create;
     sl.LoadFromFile('file.xml');

     iOffset := 1;
     iPos1 := 1;
     while true do
     begin
         iPos1 := PosEx('<row>', sl.Text, iOffset);
         if iPos1=0 then break;

         iPos2 := PosEx('</row>', sl.Text, iOffset);
         iOffset := iPos2+1;

         sRow := Copy(sl.Text, iPos1, iPos2-iPos1);

         sDuration := Copy(sRow,  Pos('<duration>', sRow),  Pos('</duration>', sRow)-Pos('<duration>', sRow) );
         sDistance := Copy(sRow,  Pos('<distance>', sRow),  Pos('</distance>', sRow)-Pos('<distance>', sRow) );


         s := Copy(sDuration, Pos('<text>', sDuration)+Length('<text>') , Pos('</text>', sDuration)-Pos('<text>', sDuration)-Length('<text>'));
         Form1.Memo1.Lines.Add(s);

         s := Copy(sDistance, Pos('<text>', sDistance)+Length('<text>') , Pos('</text>', sDistance)-Pos('<text>', sDistance)-Length('<text>'));
         Form1.Memo1.Lines.Add(s);
     end;    


     sl.Free;
end;


Project with the example:

4,335

(5 replies, posted in Russian)

bemorhona-qt wrote:

Еще один вопрос: как запретить использование кнопки Esc во всех формах? спасибо заранее

Для кнопки с действием "Закрыть форму" установите свойство Cancel = False

4,336

(3 replies, posted in Script)

clyde
Hello,


An example, how to use Uses command.

4,337

(11 replies, posted in General)

knobby wrote:

Can you tell me how to reset the trial period please? I installed MVD then went away for a few days so have hardly had any time to try it out.
Thanks

I have send you an email.

4,338

(7 replies, posted in Russian)

easyterm wrote:

Не могу толком объяснить sad((

Может картинка поможет?

не пойму, как получается 5.03 = 5.99 / 19%

4,339

(5 replies, posted in General)

Please check out more simplest way to implement it
http://myvisualdatabase.com/forum/viewtopic.php?id=1434

4,340

(5 replies, posted in General)

Can you please provide me with the exact question.

4,341

(1 replies, posted in General)

Unfortunately it's not possible in the current version.

4,342

(7 replies, posted in Script)

Unfortunately I can't understand your question.

4,343

(7 replies, posted in Russian)

К сожалению не понял вопроса.


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

4,344

(5 replies, posted in General)

There is no command like byte.

Byte is type (0..255)

4,345

(35 replies, posted in Russian)

Popkov-alex wrote:

Добрый день.
Подскажите пожалуйста как в FastReport сделать на выходе автоматический подбор высоты ячейки.

Для этого у ячейки есть свойство StretchMode


smDontStretch - не растягивать объект, значение по умолчанию;


smActualHeight - растянуть объект, чтобы уместился весь текст;


smMaxHeight - растянуть объект, чтобы его нижняя граница совпала с нижней границей бэнда, на котором находится объект.
Если необходимо чтобы все ячейки в строке растянулись и выравнились по максимальной высоте, установите это свойство для всех ячеек в бенде.

4,346

(20 replies, posted in General)

AD1408 wrote:

Thank you so much Dmitry..................


The Category (cbDetailsCategory) combobox is the one not applying sorting.

Checked, cbDetailsCategory also sorted.

4,347

(2 replies, posted in General)

Example

form1.dbFileSearch01.dbFileName := sqlexecute('select file_link1_filename from Details where id ='+form1.tgSearch.sqlValue);
form1.dbFileSearch01.Text :=sqlexecute('select file_link1_filename from Details where id ='+form1.tgSearch.sqlValue);

also you should set the property Type=LinkFolder for the component dbFileSearch01

An example, how to populate grid from another MySQL server

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    MySQL: TMyConnection;
begin
    MySQL := TMyConnection.Create(Form1);
    MySQL.Options.UseUnicode := True; 
    MySQL.Server := '10.10.10.10'; // ip address of MySQL server
    MySQL.Port := 3306;
    MySQL.Username := 'username';
    MySQL.Password := 'password';
    MySQL.Database := 'databasename';
    MySQL.LoginPromt := False;

    try
        MySQL.Connect;
    except
        ShowMessage('Can''t connect to database.');
    end;

    if MySQL.Connected then
    begin
       Form1.TableGrid2.dbMySQLConnection := MySQL;
       Form1.TableGrid2.dbSQL:='SELECT id, lastname, firstname FROM employees'; // the id field, want to be able to edit or delete the entry from the table component
       Form1.TableGrid2.dbGeneralTable := 'employees';
       Form1.TableGrid2.dbListFieldsNames :='delete_col,Фамилия,Имя';
       Form1.TableGrid2.dbSQLExecute;
       MySQL.Disconnect;
    end;


end;

4,349

(8 replies, posted in Script)

Hello.


In the current version there is no XML parser.


But you can load the xml file to object TStringList and using string function like PosEx, Copy, Delete to find all elements.

var
  sl: TStringList;
begin
  sl := TStringList.Create;
  sl.LoadFromFile(''xmlfilename);
  sl.text; // contain xml doc as text

4,350

(20 replies, posted in General)

AD1408
Fixed project


But I can't find in which combobox have wrong sort?