Вверх ↑
Этот топик читают: Гость
Этот топик был перемещен из раздела "Помощь по среде"
Ответов: 18
Рейтинг: 0
#1: 2020-04-26 11:47:01 ЛС | профиль | цитата
добрый день, как то раз обращался уже, очень помогли натолкнув на мысль, но возникла другая проблема, когда делал программу по кусочкам, запускал процедуру через кнопку, и все работало нормально, кусок пошел в основную программу, но сейчас когда связал блок с основной программой, выдает не то значение массива, если вкратце то программа до блока считала номера строк и строчек для массива, считала правильно, но когда элемент считывает номера и подставляет в строчку _hi_OnEvent(ev,T[p,ti]); значение выдается не по тем номерам, но если запускать процедуру с помощью кнопки отдельно, все работает правильно
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 16884
Рейтинг: 1239
#2: 2020-04-26 11:54:23 ЛС | профиль | цитата
Скорее всего нарушена очерёдность.
Схема где?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 18
Рейтинг: 0
#3: 2020-04-26 11:56:27 ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-04-26 12:01:24
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2020-04-26 12:01:35 ЛС | профиль | цитата
Hitnik3005, сначала на иконку Монитор, а потом между тэгами CODE вставляешь свой код.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 18
Рейтинг: 0
#5: 2020-04-26 12:02:31 ЛС | профиль | цитата

Add(InlineCode,523434,161,133)
{
WorkPoints=#5:proba|
EventPoints=#2:ev|3:err|2:mp|4:zona|3:evz|
DataPoints=#2:t1|2:t2|2:t3|2:t4|0:|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|27:THiAsmClass = class(TDebug)|7:private|0:|6:public|13:ev:THI_Event;|13:t1:THI_Event;|13:t2:THI_Event;|13:t3:THI_Event;|13:t4:THI_Event;|14:err:THI_Event;|13:mp:THI_Event;|15:zona:THI_Event;|14:evz:THI_Event;|0:|42:procedure Proba(var dt:TData; index:word);|0:|4:end;|0:|66:implementation |0:|28:procedure THiAsmClass.Proba;|33:var g1,g2,g3,g4,i,n,a,b,x,y:real;|5:begin|16:_hi_OnEvent(mp);|8:a := 23;|8:b := 59;|24:g1 := Readreal(dt,t1,0);|24:g2 := Readreal(dt,t2,0);|66:g3 := Readreal(dt,t3,0); |66:g4 := Readreal(dt,t4,0); |0:|32:if g1 > a then _hi_OnEvent(err) |5:else |31:if g2 > a then _hi_OnEvent(err)|5:else |31:if g3 > b then _hi_OnEvent(err)|5:else |31:if g4 > b then _hi_OnEvent(err)|24:else begin |18:x := g1 + (g3/60);|18:y := g2 + (g4/60);|29:if y < x then y := y + 24; |11:i := y - x;|4:end;|1: |18:_hi_OnEvent(ev,i);|0:|21:_hi_OnEvent(evz,y); |18:_hi_OnEvent(zona);|5:end; |4:end.|0:|0:|1: |
link(ev,1419264:doText,[])
link(err,10860972:doMessage,[(205,146)(205,170)(23,170)(23,195)])
link(mp,1762553:doOperation,[(205,153)(205,227)(156,227)(156,300)])
link(zona,12669032:In,[(205,160)(205,153)])
link(evz,1382285:doText,[(229,167)(229,209)])
link(t1,5387898:Text,[(167,104)(41,104)])
link(t2,5109919:Var2,[(174,121)(48,121)])
link(t3,14746579:Text,[(181,118)(83,118)])
link(t4,9700996:Var2,[(188,121)(90,121)])
}
Add(Edit,14746579,77,28)
{
Left=230
Top=40
Width=35
Text=""
}
Add(Edit,14724311,42,56)
{
Left=180
Top=110
Width=35
Text=""
}
Add(Button,5125075,35,133)
{
Left=30
Top=220
Width=85
Caption="Вычислить"
link(onClick,523434:proba,[])
}
Add(Edit,1419264,259,133)
{
Left=430
Top=655
Visible=1
link(onChange,15101119:proba,[])
}
Add(Message,10860972,35,189)
{
Message="Необходимо ввести правильное число\r\n"
Caption="ОШИБКА"
}
Add(Edit,15044515,35,238)
{
Left=180
Top=75
Text=""
}
Add(Edit,576803,35,287)
{
Left=180
Top=140
Text=""
}
Add(Math,1762553,168,294)
{
OpType=3
link(onResult,7545774:doText,[])
link(Op1,11452068:Var3,[(174,282)(126,282)(126,331)])
link(Op2,15044515:Text,[(181,282)(41,282)])
}
Add(InlineCode,15101119,336,133)
{
WorkPoints=#5:proba|
EventPoints=#2:ev|3:err|
DataPoints=#1:x|0:|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|27:THiAsmClass = class(TDebug)|7:private|0:|6:public|13:ev:THI_Event;|12:x:THI_Event;|14:err:THI_Event;|42:procedure Proba(var dt:TData; index:word);|0:|4:end;|0:|14:implementation|0:|28:procedure THiAsmClass.Proba;|68:var g,g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11,g12,g13,g14,g15,g16,a:real;|10:i:integer;|5:begin|8:i := 16;|72:g1:=0.16;g2:=0.25;g3:=0.33;g4:=0.5;g5:=0.75;g6:=1;g7:=1.5;g8:=2;g9:=2.5;|28:g10:=3;g11:=4;g12:=5;g13:=6;|0:|22:g := Readreal(dt,x,0);|8:a :=6.5;|45:if (g >= 0.14) and (g <= 0.2) then g := 0.16;|45:if (g > 0.21) and (g <= 0.29) then g := 0.25;|44:if (g > 0.3) and (g <= 0.43) then g := 0.33;|43:if (g > 0.44) and (g <= 0.6) then g := 0.5;|45:if (g > 0.61) and (g <= 0.85) then g := 0.75;|42:if (g > 0.86) and (g <= 1.24) then g := 1;|44:if (g > 1.25) and (g <= 1.74) then g := 1.5;|42:if (g > 1.75) and (g <= 2.24) then g := 2;|44:if (g > 2.25) and (g <= 2.74) then g := 2.5;|42:if (g > 2.75) and (g <= 3.49) then g := 3;|41:if (g > 3.5) and (g <= 4.49) then g := 4;|41:if (g > 4.5) and (g <= 5.49) then g := 5;|40:if (g > 5.5) and (g <= 6.5) then g := 6;|30:if g > a then _hi_OnEvent(err)|10:else begin|30:if g = g1 then i := 1; |22:if g = g2 then i := 2;|22:if g = g3 then i := 3;|22:if g = g4 then i := 4;|22:if g = g5 then i := 5;|22:if g = g6 then i := 6;|22:if g = g7 then i := 7;|22:if g = g8 then i := 8;|22:if g = g9 then i := 9;|24:if g = g10 then i := 10;|24:if g = g11 then i := 11;|24:if g = g12 then i := 12;|24:if g = g13 then i := 13;|0:|4:end;|18:_hi_OnEvent(ev,i);|0:|4:end;|0:|4:end.|1: |
link(ev,10534157:doText,[])
link(err,3134159:doMessage,[(380,146)(380,181)(79,181)(79,216)])
link(x,1419264:Text,[(342,121)(304,121)(304,177)(265,177)])
}
Add(Edit,7545774,266,294)
{
Left=330
Top=675
Visible=1
link(onChange,7911843:proba,[])
}
Add(InlineCode,7911843,336,294)
{
WorkPoints=#5:proba|
EventPoints=#2:ev|2:mp|
DataPoints=#1:x|0:|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|27:THiAsmClass = class(TDebug)|7:private|0:|6:public|13:ev:THI_Event;|12:x:THI_Event;|13:mp:THI_Event;|0:|42:procedure Proba(var dt:TData; index:word);|0:|4:end;|0:|14:implementation|0:|28:procedure THiAsmClass.Proba;|66:var g,g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11,g12,g13,g14,g15,g16:real;|10:i:integer;|5:begin|8:i := 16;|77:g1:=0.95;g2:=0.9;g3:=0.85;g4:=0.8;g5:=0.75;g6:=0.7;g7:=0.65;g8:=0.6;g9:=0.55;|66:g10:=0.5;g11:=0.45;g12:=0.4;g13:=0.35;g14:=0.3;g15:=0.25;g16:=0.2;|0:|22:g := Readreal(dt,x,0);|0:|44:if (g >= 0.1) and (g <= 0.22) then g := 0.2;|45:if (g > 0.23) and (g <= 0.27) then g := 0.25;|44:if (g > 0.28) and (g <= 0.32) then g := 0.3;|45:if (g > 0.33) and (g <= 0.37) then g := 0.35;|44:if (g > 0.38) and (g <= 0.42) then g := 0.4;|45:if (g > 0.43) and (g <= 0.47) then g := 0.45;|44:if (g > 0.48) and (g <= 0.52) then g := 0.5;|45:if (g > 0.53) and (g <= 0.57) then g := 0.55;|44:if (g > 0.58) and (g <= 0.62) then g := 0.6;|45:if (g > 0.63) and (g <= 0.67) then g := 0.65;|44:if (g > 0.68) and (g <= 0.72) then g := 0.7;|45:if (g > 0.73) and (g <= 0.77) then g := 0.75;|44:if (g > 0.78) and (g <= 0.82) then g := 0.8;|45:if (g > 0.83) and (g <= 0.87) then g := 0.85;|44:if (g > 0.88) and (g <= 0.92) then g := 0.9;|45:if (g > 0.93) and (g <= 0.99) then g := 0.95;|30:if g = g1 then i := 1; |22:if g = g2 then i := 2;|22:if g = g3 then i := 3;|22:if g = g4 then i := 4;|22:if g = g5 then i := 5;|22:if g = g6 then i := 6;|22:if g = g7 then i := 7;|22:if g = g8 then i := 8;|22:if g = g9 then i := 9;|24:if g = g10 then i := 10;|24:if g = g11 then i := 11;|24:if g = g12 then i := 12;|24:if g = g13 then i := 13;|24:if g = g14 then i := 14;|24:if g = g15 then i := 15;|24:if g = g16 then i := 16;|0:|18:_hi_OnEvent(ev,i);|16:_hi_OnEvent(mp);|4:end;|0:|4:end.|1: |
link(ev,8614337:doText,[(387,300)(387,265)])
link(mp,11011045:proba,[(460,307)(460,223)])
link(x,7545774:Text,[(342,282)(307,282)(307,338)(272,338)])
}
Add(Message,3134159,91,210)
{
Message="слишком большое время между измерениями"
Caption="ОШИБКА"
}
Add(Edit,10534157,406,133)
{
Left=400
Top=75
}
Add(Edit,8614337,406,259)
{
Left=400
Top=110
}
Add(InlineCode,11011045,553,217)
{
WorkPoints=#5:proba|
EventPoints=#2:ev|0:|
DataPoints=#1:x|1:y|0:|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|27:THiAsmClass = class(TDebug)|0:|7:private|0:|6:public|12:y:THI_Event;|12:x:THI_Event;|13:ev:THI_Event;|2: |42:procedure Proba(var dt:TData; index:word);|0:|4:end;|0:|14:implementation|0:|28:procedure THiAsmClass.Proba;|21:var i,j,p,ti:integer;|31:T: array [1..16,1..13] of real;|0:|5:begin|0:|194:T[1,1]:=4; T[1,2]:=6; T[1,3]:=8; T[1,4]:=12; T[1,5]:=18; T[1,6]:=24; T[1,7]:=36; T[1,8]:=48; T[1,9]:=60; T[1,10]:=72; T[1,11]:=107.3; T[1,12]:=126.6; T[1,13]:=311.2;|192:T[2,1]:=2; T[2,2]:=3; T[2,3]:=4; T[2,4]:=6; T[2,5]:=9; T[2,6]:=12; T[2,7]:=18; T[2,8]:=24; T[2,9]:=30; T[2,10]:=36; T[2,11]:=48; T[2,12]:=60; T[2,13]:=144;|193:T[3,1]:=1.2; T[3,2]:=2; T[3,3]:=2.4; T[3,4]:=4; T[3,5]:=6; T[3,6]:=8; T[3,7]:=12; T[3,8]:=16; T[3,9]:=20; T[3,10]:=24; T[3,11]:=32.5; T[3,12]:=40.3; T[3,13]:=96.5;|191:T[4,1]:=1; T[4,2]:=1.3; T[4,3]:=2; T[4,4]:=3; T[4,5]:=4.3; T[4,6]:=6; T[4,7]:=9; T[4,8]:=12; T[4,9]:=15; T[4,10]:=18; T[4,11]:=24; T[4,12]:=30; T[4,13]:=72;|191:T[5,1]:=0.5; T[5,2]:=1.1; T[5,3]:=1.4; T[5,4]:=2.3; T[5,5]:=3.4; T[5,6]:=5; T[5,7]:=7; T[5,8]:=9; T[5,9]:=12; T[5,10]:=14.3; T[5,11]:=18.65; T[5,12]:=23.6; T[5,13]:=56;|185:T[6,1]:=0.4; T[6,2]:=1; T[6,3]:=1.2; T[6,4]:=2; T[6,5]:=3; T[6,6]:=4; T[6,7]:=6; T[6,8]:=8; T[6,9]:=10; T[6,10]:=12; T[6,11]:=16; T[6,12]:=20; T[6,13]:=48;|192:T[7,1]:=0.35; T[7,2]:=0.5; T[7,3]:=1.1; T[7,4]:=1.4; T[7,5]:=2.3; T[7,6]:=3.2; T[7,7]:=5; T[7,8]:=7; T[7,9]:=8; T[7,10]:=10; T[7,11]:=12.94; T[7,12]:=16.6; T[7,13]:=39.2;|188:T[8,1]:=0.3; T[8,2]:=0.45; T[8,3]:=1; T[8,4]:=1.3; T[8,5]:=2.1; T[8,6]:=3; T[8,7]:=4.3; T[8,8]:=6; T[8,9]:=7; T[8,10]:=9; T[8,11]:=12; T[8,12]:=15; T[8,13]:=34;|190:T[9,1]:=0; T[9,2]:=0.4; T[9,3]:=0.5; T[9,4]:=1.2; T[9,5]:=1.5; T[9,6]:=2.3; T[9,7]:=3.5; T[9,8]:=5; T[9,9]:=6; T[9,10]:=8; T[9,11]:=9.85; T[9,12]:=12.8; T[9,13]:=30;|192:T[10,1]:=0; T[10,2]:=0.35; T[10,3]:=0.45; T[10,4]:=1.1; T[10,5]:=1.45; T[10,6]:=2.2; T[10,7]:=3.3; T[10,8]:=4.3; T[10,9]:=5.3; T[10,10]:=7; T[10,11]:=9; T[10,12]:=12; T[10,13]:=28;|192:T[11,1]:=0; T[11,2]:=0.3; T[11,3]:=0.4; T[11,4]:=1; T[11,5]:=1.3; T[11,6]:=2; T[11,7]:=3; T[11,8]:=4; T[11,9]:=5; T[11,10]:=6; T[11,11]:=7.9; T[11,12]:=10.4; T[11,13]:=24.2;|192:T[12,1]:=0; T[12,2]:=0; T[12,3]:=0.35; T[12,4]:=0.55; T[12,5]:=1.25; T[12,6]:=1.5; T[12,7]:=2.5; T[12,8]:=3.4; T[12,9]:=4.4; T[12,10]:=5.5; T[12,11]:=7; T[12,12]:=9; T[12,13]:=22;|192:T[13,1]:=0; T[13,2]:=0; T[13,3]:=0; T[13,4]:=0.5; T[13,5]:=1.2; T[13,6]:=1.45; T[13,7]:=2.35; T[13,8]:=3.3; T[13,9]:=4.2; T[13,10]:=5; T[13,11]:=6.6; T[13,12]:=8.7; T[13,13]:=20;|192:T[14,1]:=0; T[14,2]:=0; T[14,3]:=0; T[14,4]:=0; T[14,5]:=1.1; T[14,6]:=1.35; T[14,7]:=2.2; T[14,8]:=3.1; T[14,9]:=4; T[14,10]:=4.4; T[14,11]:=6; T[14,12]:=8; T[14,13]:=18;|194:T[15,1]:=0; T[15,2]:=0; T[15,3]:=0; T[15,4]:=0; T[15,5]:=1.05; T[15,6]:=1.3; T[15,7]:=2.1; T[15,8]:=3; T[15,9]:=3.4; T[15,10]:=4.2; T[15,11]:=5.6; T[15,12]:=7.5; T[15,13]:=17.4;|191:T[16,1]:=0; T[16,2]:=0; T[16,3]:=0; T[16,4]:=0; T[16,5]:=1; T[16,6]:=1.2; T[16,7]:=2; T[16,8]:=2.4; T[16,9]:=3.2; T[16,10]:=4; T[16,11]:=5; T[16,12]:=7; T[16,13]:=16;|0:|25:p := Readinteger(dt,x,0);|28:ti := Readinteger(dt,y,0); |0:|25:_hi_OnEvent(ev,T[p,ti]); |0:|4:end;|0:|4:end.|1: |
link(ev,8365462:doText,[])
link(x,8614337:Text,[(559,205)(485,205)(485,338)(412,338)])
link(y,10534157:Text,[(566,191)(412,191)])
}
Add(Edit,8365462,623,217)
{
Left=480
Top=90
Text="тут"
ReadOnly=0
}
Add(GetDataEx,5109919,42,105)
{
link(Data,14724311:Text,[])
}
Add(LineBreak,14023314,210,35)
{
Type=1
link(Data,5109919:Var3,[(216,26)])
Primary=[9329228,518,112]
}
Add(GetDataEx,9700996,84,105)
{
link(Data,12994875:Text,[])
}
Add(LineBreak,16452641,210,77)
{
Type=1
link(Data,9700996:Var3,[(216,54)])
Primary=[11936513,532,91]
}
Add(LineBreak,6302079,14,511)
{
Primary=[12669032,203,-364]
}
Add(GetDataEx,14590204,637,256)
{
Angle=3
link(Data,9797150:Var3,[])
}
Add(GetDataEx,11452068,70,326)
{
Angle=3
link(Data,12767207:Var3,[])
}
Add(Edit,1382285,266,203)
{
Left=530
Top=675
Visible=1
}
Add(LineBreak,6688074,266,252)
{
Type=1
link(Data,1382285:Text,[])
Primary=[1372434,-189,406]
}
Add(GetDataEx,9797150,623,256)
{
link(Data,8365462:Text,[])
}
Add(GetDataEx,12767207,49,326)
{
Angle=3
link(Data,576803:Text,[(41,331)])
}
Add(Edit,5387898,35,21)
{
Left=180
Top=40
Width=35
Text=""
}
Add(Edit,12994875,84,63)
{
Left=230
Top=110
Width=35
Text=""
}

карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2020-04-26 12:29:59 ЛС | профиль | цитата
Hitnik3005.jpg
А вроде (мне так кажется) должно быть наоборот.

Редактировалось 1 раз(а), последний 2020-04-26 12:37:48
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 18
Рейтинг: 0
#7: 2020-04-26 12:59:46 ЛС | профиль | цитата
Tad, а как поменять?

--- Добавлено в 2020-04-26 13:03:38

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

Редактировалось 1 раз(а), последний 2020-04-26 13:03:38
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#8: 2020-04-26 13:13:32 ЛС | профиль | цитата
Hitnik3005, непонятна задача этой программы.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 18
Рейтинг: 0
#9: 2020-04-26 14:22:49 ЛС | профиль | цитата
Tad, там мутная задача, лучше не вникать)
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#10: 2020-04-26 15:46:44 ЛС | профиль | цитата
Hitnik3005 писал(а):
прога заработала, но вот почему?как в дальнейшем ошибки не делать такие?
Розовую Edit-ку видел? А почему я её покрасил не догадался?
А эту "мутную" задачу можно решить гораздо меньшим количеством воды.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 18
Рейтинг: 0
#11: 2020-04-26 16:27:13 ЛС | профиль | цитата
Tad, чет пока не догадался)
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#12: 2020-04-26 16:55:12 ЛС | профиль | цитата
У тебя, после нажатия "Вычислить" сразу, в первой IC, выполняется _hi_OnEvent(mp); и ...
запускает вычисление X и вывод результата. А Y (розовая Edit) не определён. Вот и получается пшик.
Инструкция _hi_OnEvent(mp); должна быть не первой строкой процедуры, а последней.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)