126

(10 replies, posted in Russian)

Короче я понял суть. А когда вы сможете устранить это обстоятельство, так как пропадет суть создания программы, в котором имеется такая проблема. По моему это очень важно и почему до сих пор никто об этом не обсуждал на данном форуме? Либо я не нашел веточку, где обсуждается эта проблема.

127

(10 replies, posted in Russian)

С помощью скрипта окошко добавления номера вызывается, при отмене новая запись не сохраняется, однако при попытке сохранить номер выдает вот эту ошибку http://prntscr.com/dbyq2h

128

(10 replies, posted in Russian)

Решил проблему с помощью скрипта.

procedure frmAbonent_bAddNumber_OnClick (Sender: string; var Cancel: boolean);
begin
frmNumber.ShowModal;
end;

129

(10 replies, posted in Russian)

Уважаемый Дмитрий.
Я нашел то ли баг то ли не знаю но проблему в вашей ознакомительной программе -  http://myvisualdatabase.com/database_ex … nebook.zip

Опишу последовательность проблемы.
1. Нажимаю на Add+ на главной форме (Form1)
2. Нажимаю на Add number на форме frmAbonent
3. Нажимаю на Cancel на форме Phone number
4. Нажимаю на Cancel на форме frmAbonent
5. Добавляется новая пустая запись на Form1.GridSearch
Надо отметить что такая ошибка возникает только в той последовательности действий, который я указал.
Если в этой последовательности то ошибки нет.
1. Нажимаю на Add+ на главной форме (Form1)
2. Нажимаю на Cancel на форме frmAbonent

Можете устранить данную проблему?

130

(2 replies, posted in Russian)

огромное спасибо, очень помогло

131

(2 replies, posted in Russian)

Ув. Дмитрий и пользователи.
Есть такое вычислительное поле:
Case
When (julianday(outcomeDate) - julianday(incomeDate)) < 31   
THEN (julianday(outcomeDate) - julianday(incomeDate))
When 31 < (julianday(outcomeDate) - julianday(incomeDate)) < 365   
THEN ((julianday(outcomeDate) - julianday(incomeDate)))/30
When (julianday(outcomeDate) - julianday(incomeDate)) > 365   
THEN ((julianday(outcomeDate) - julianday(incomeDate)))/12
END

В результате хочу узнать сколько проработал работник в предприятии. Т.е. если меньше месяца то в гриде должно быть например 21 дней. Если больше 31 то уже в месяцах с округлением. Также в годах. Помогите с реализацией.

Кстати это выч. поле (julianday(outcomeDate) - julianday(incomeDate)) дает разницу в днях, но только цифры. Например:

Иванов        01.10.2016        30.10.2016    30

А как еще дописать какую нибудь текст? Например:
Иванов        01.10.2016        30.10.2016    30 дней

132

(2 replies, posted in Russian)

огромное спасибо, отлчно работает

133

(8 replies, posted in Script)

DriveSoft wrote:

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:

Can you give the link to version 2.8?

134

(35 replies, posted in Russian)

RZ-007 wrote:

Дмитрий огромное Вам СПАСИБО!!!
Друзья кому интересно скрипт РАБОЧИЙ...
правда кое что поправил...поменял местами...Дмитрий надеюсь правильно!!!

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    iTimer := 90;               //задаём время в сек...
    Timer.Enabled := True;      // Start timer
    Timer.OnTimer := @OnTimer;  // event procedure
end;

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Timer := TTimer.Create(nil); // создать таймер
    Timer.Interval := 1000;
end;

ЕЩЁ РАЗ СПАСИБО!!!

можете выложить свой проект для примера?

abgroup-artur wrote:

Да, заработало. Спасибо. Что только не перепробывал))

можете выложить свой проект для примера?

136

(2 replies, posted in Russian)

Ув. Дмитрий и пользователи. Нуждаюсь в вашей помощи.

Есть база данных которые связанные между собой.
На форме2 имеется 3 комбо которые ссылаются на одну и ту же поле, так как данные берутся из этого поля. Скажем каждый человек побывал в 3 разных местах (может быть в 2 или в одном), но обязательно в одном (т.е. на форме2 Label1 это основное). Теперь когда я сохраняю форму то в гриде показывает, что человек побывал в одном и том же месте, тогда как я указал 3 разных мест. На скриншоте будет яснее. Проект прилагается. Помогите пожалуйста.

137

(5 replies, posted in Russian)

DriveSoft wrote:
bemorhona-qt wrote:

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

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

спасибо огромное, работает.

138

(5 replies, posted in Russian)

Igor wrote:
bemorhona-qt wrote:

В PageContol1 имеется 2 вкладки, как сделать 2-ю вкладку неактивным?

Form2.PageControl1.Pages[1].TabVisible := False;

Позволяет скрыть вкладку
Где Pages[1] - номер вкладки PageIndex отсчет с нуля, поэкспериментируйте


спасибо, работает.

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

139

(5 replies, posted in Russian)

привет всем. есть такой скрипт
Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
Form2.ShowModal;
Form2.PageControl1.ActivePageIndex:= 0;
end;

В PageContol1 имеется 2 вкладки, как сделать 2-ю вкладку неактивным?