Topic: Сколько процедур можно прикрепить на 1 поле в "События" OnChange?
Проблема 2 процедуры, при этом нужны одни и те же поля... как можно 2 процедуры повесить на одно событие?
My Visual Database → General → Сколько процедур можно прикрепить на 1 поле в "События" OnChange?
Проблема 2 процедуры, при этом нужны одни и те же поля... как можно 2 процедуры повесить на одно событие?
Проблема 2 процедуры, при этом нужны одни и те же поля... как можно 2 процедуры повесить на одно событие?
begin
procedureOne(var);
procedureTwo(var);
end;
Aza wrote:Проблема 2 процедуры, при этом нужны одни и те же поля... как можно 2 процедуры повесить на одно событие?
begin procedureOne(var); procedureTwo(var); end;
вот сюда прописать?
pavlenko.vladimir.v wrote:Aza wrote:Проблема 2 процедуры, при этом нужны одни и те же поля... как можно 2 процедуры повесить на одно событие?
begin procedureOne(var); procedureTwo(var); end;
вот сюда прописать?
[img]photo1656924728.jpeg[/img]
что именно Вам нужно?
опишите что Вы хотите сделать
Господа, это англоязычная ветка форума. Пишите на английском или на двух языках, чтобы всем было понятно...
Проблема 2 процедуры, при этом нужны одни и те же поля... как можно 2 процедуры повесить на одно событие?
Вызывайте одну процедуру из другой.
Q: Problem 2 procedures, thus the same fields are necessary... how it is possible to hang up 2 procedures on one event?
A: 1) Call one procedure from another. 2) Мake a third handler in which call the procedures you need, passing parameters to them
что именно Вам нужно?
опишите что Вы хотите сделать
Здесь картины не вставляются оказывается. Хотел визуально показать.
В общем у меня в расчете задействованы 6 поля: условно назовем - поле1, поле 2, поле 3, поле 4, поле 5 и поле 6
в одной процедуре1 я задействовал 3 поля:
если поле 1 = знач
и поле 2 = знач
поле 3 = знач то
поле 5 = знач (и так далее, очен длинная процедура)
потом я эту процедуру скопировал 2 раза (получилось процедура 1, 2, 3), чтобы повесить в Свойстве компонента => События => onChange
процедуру 1 я повесил в поле 1 (для расчета);
процедуру 2 я повесил в поле 2;
процедуру 3 я повесил в поле 3.
проблема в том что мне еще нужно расчитать поле 6
где я пишу процедуру 4;
если поле 4 = знач
и поле 2 равно знач
и поле 3 равно знач
то
поле 6 = знач
что бы расчитывала скопировать 2 раза аргументы и создать процедуры 5 и 6... затем повесить в событиях поле 4, поле 2 и поле 3
но в "Событиях" onChange в полях 2 и 3 висят уже процедуры 2 и 3.
It turns out that pictures are not inserted here. I wanted to show visually.
In general, I have six fields involved in the calculation: field1, field 2, field 3, field 4, field 5 and field 6
In one procedure1 I used three fields:
if field 1 = value.
and the field 2 = significant
field 3 = significant then
field 5 = significant (and so on, it's a very long procedure)
then I copied this procedure twice (procedure 1, 2, 3) to put it in Component Properties => Events => onChange
i put procedure 1 in the field 1 (for calculation);
I put procedure 2 in the field 2;
I put procedure 3 in the field 3.
the problem is, I still need to calculate the field 6
where I write procedure 4;
if the field 4 = value.
and the field 2 is equal to znach
and the field 3 is equal to znach
then
the field 6 = znach
to calculate copy arguments twice and create procedures 5 and 6... then hang field 4, field 2 and field 3 in events
but in "Events" onChange fields 2 and 3 are already hanging procedures 2 and 3.
Translated with www.DeepL.com/Translator (free version)
Господа, это англоязычная ветка форума. Пишите на английском или на двух языках, чтобы всем было понятно...
Aza wrote:Проблема 2 процедуры, при этом нужны одни и те же поля... как можно 2 процедуры повесить на одно событие?
Вызывайте одну процедуру из другой.
Q: Problem 2 procedures, thus the same fields are necessary... how it is possible to hang up 2 procedures on one event?
A: 1) Call one procedure from another. 2) Мake a third handler in which call the procedures you need, passing parameters to them
First procedure =>
procedure Client_culc2_onChange (Sender: TObject; Var Cancel: String);
begin // США, Канада, Малазия//
if (Client.CheckBox1.Checked = true)
and (client.ComboBox1.Text = '1per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit13.Value := 18;
end
else if (Client.CheckBox1.Checked = true)
and (client.ComboBox1.Text = '2per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit13.Value := 27;
end
else if (Client.CheckBox1.Checked = true)
and (client.ComboBox1.Text = '3per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit13.Value := 33;
end
else if (Client.CheckBox1.Checked = true)
and (client.ComboBox1.Text = '4per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit13.Value := 37;
end
end;
second procedure =>
procedure Client_culcCovid1_onChange (Sender: TObject; Var Cancel: String);
begin //Начало расчета Covid-19//
if (Client.CheckBox4.Checked = true)
and (client.ComboBox1.Text = '1per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit15.Value := 5;
end
else if (Client.CheckBox4.Checked = true)
and (client.ComboBox1.Text = '2per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit15.Value := 5;
end
else if (Client.CheckBox4.Checked = true)
and (client.ComboBox1.Text = '3per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit15.Value := 5;
end
else if (Client.CheckBox4.Checked = true)
and (client.ComboBox1.Text = '4per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit15.Value := 5;
end
else if (Client.CheckBox4.Checked = true)
and (client.ComboBox1.Text = '5per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit15.Value := 5;
end
else if (Client.CheckBox4.Checked = true)
and (client.ComboBox1.Text = '6per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit15.Value := 5;
end
end;
How make a third handler in which call the procedures?
like this?
procedure Client_addtwoprocedure_onChange (Sender: TObject; Var Cancel: String);
begin
procedure Client_culc2_onChange (Sender: TObject; Var Cancel: String);
procedure Client_culcCovid1_onChange (Sender: TObject; Var Cancel: String);
end;
Procedure ifClient;
begin
if (Client.CheckBox4.Checked = true) then
begin
if (client.ComboBox1.Text = '') AND (client.ComboBox2.Text = '') then client.Edit4.Value := 5;
if (client.ComboBox3.Text = '') AND (client.ComboBox4.Text = '') then client.Edit6.Value := 5;
end;
end;
в событиях Вам нужно просто сослаться на процедуру (ifClient)
Procedure ifClient; begin if (Client.CheckBox4.Checked = true) then begin if (client.ComboBox1.Text = '') AND (client.ComboBox2.Text = '') then client.Edit4.Value := 5; if (client.ComboBox3.Text = '') AND (client.ComboBox4.Text = '') then client.Edit6.Value := 5; end; end;
в событиях Вам нужно просто сослаться на процедуру (ifClient)
да, я сосласлся.
так у меня еще одна процедура есть (ifClient2)
которую нужно повесить на то же поле.
Yes, I referred to it.
So I have another procedure (ifClient2)
which I need to put on the same field.
Procedure ifClient; begin if (Client.CheckBox4.Checked = true) then begin if (client.ComboBox1.Text = '') AND (client.ComboBox2.Text = '') then client.Edit4.Value := 5; if (client.ComboBox3.Text = '') AND (client.ComboBox4.Text = '') then client.Edit6.Value := 5; end; end;
в событиях Вам нужно просто сослаться на процедуру (ifClient)
проблем в том, что CheckBox у меня два, если он одну выберет , то одна процедура
если другую, то другая процедура при двух одинаковых полях(в обоих случаях) ComboBox
The problem is that I have two CheckBoxes, if it selects one, then one procedure
If the other, then the other procedure with two identical fields (in both cases) ComboBox
да, я сосласлся.
так у меня еще одна процедура есть (ifClient2)
которую нужно повесить на то же поле.
у Вас две одинаковых процедуры, в них нет смысла
Вам нужно ссылаться на одну процедуру, просто нужно правильно написать условие
Вот пример:
Aza wrote:да, я сосласлся.
так у меня еще одна процедура есть (ifClient2)
которую нужно повесить на то же поле.у Вас две одинаковых процедуры, в них нет смысла
Вам нужно ссылаться на одну процедуру, просто нужно правильно написать условие
Вот пример:
Isn't it easier to simplify it all?
begin //Начало расчета Covid-19//
if (Client.CheckBox4.Checked = true)
and (client.ComboBox1.Text = '1per')
and (client.ComboBox2.Text = '1-7') then
begin
client.Edit15.Value := 5;
end
else if ...
begin
client.Edit15.Value := 5;
end
else if ....
begin
client.Edit15.Value := 5;
end
else if ...
begin
client.Edit15.Value := 5;
end
else if ... then
begin
client.Edit15.Value := 5;
end
else if ...
begin
client.Edit15.Value := 5;
end
end;
Isn't it easier to simplify it all? All this returns only one value... Might think first...
How make a third handler in which call the procedures?
like this?
procedure Client_addtwoprocedure_onChange (Sender: TObject; Var Cancel: String);
begin
procedure Client_culc2_onChange (Sender: TObject; Var Cancel: String);
procedure Client_culcCovid1_onChange (Sender: TObject; Var Cancel: String);end;
procedure Client_addtwoprocedure_onChange (Sender: TObject; Var Cancel: String);
begin
Client_culc2_onChange (Sender, Cancel);
Client_culcCovid1_onChange (Sender, Cancel);
end;
maybe it's easier to control?
Especially if you show what you have in the program and what you want?
At least for an example.
maybe it's easier to control?
Especially if you show what you have in the program and what you want?
At least for an example.
I cant(
Warning! The following errors must be corrected before your message can be posted:
The selected file was too large to upload. The server didn't allow the upload.
Aza wrote:How make a third handler in which call the procedures?
like this?
procedure Client_addtwoprocedure_onChange (Sender: TObject; Var Cancel: String);
begin
procedure Client_culc2_onChange (Sender: TObject; Var Cancel: String);
procedure Client_culcCovid1_onChange (Sender: TObject; Var Cancel: String);end;
procedure Client_addtwoprocedure_onChange (Sender: TObject; Var Cancel: String); begin Client_culc2_onChange (Sender, Cancel); Client_culcCovid1_onChange (Sender, Cancel); end;
огромное спасибо!!!! Получилось!!!
thanks a lot!!!! It worked!!!
My Visual Database → General → Сколько процедур можно прикрепить на 1 поле в "События" OnChange?
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi