Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 4697
Рейтинг: 426
#1: 2011-03-29 12:38:32 ЛС | профиль | цитата
Вот и я решил вспомнить FTCG пакета Windows, есть две аналогичные схемы, только одна на FTCG, а вторая на обычных элементах, однако вывод этих контейнеров кардинально различается:
code_23158.txt
P.S: да, я смотрел исходник FT_For.
карма: 10
0
файлы: 1code_23158.txt [2.4KB] [541]
vip
#1.1контекстная реклама от партнеров
Ответов: 1321
Рейтинг: 37
#2: 2011-03-29 12:52:20 ЛС | профиль | цитата
Наверное потому что у FTCG скорость интераций быстрее чем у обычных компонентов
карма: 0

0
Ответов: 3349
Рейтинг: 233
#3: 2011-03-29 12:54:11 ЛС | профиль | цитата
[flood]
Roma писал(а):
интеграций

Гы-Гы-Гы Опять[/flood]
карма: 1

0
Разработчик
Ответов: 4697
Рейтинг: 426
#4: 2011-03-29 12:55:11 ЛС | профиль | цитата
Roma писал(а):
Наверное потому что у FTCG скорость интеграций быстрее чем у обычных компонентов

Для начала почитай ответ в своей теме по FT_Rep
Во вторых, у нас циклы выполняются не паралельно, а последовательно, то есть если завершится главный цикл, то вложенный тоже прекратится, и никуда ты от этого не денешься. А в FT_for как раз тот самый break; и используется, про который я тебе в руме говорил. То есть в FTCG для решения этой проблемы придется делать еще одну переменную-флаг, чтоб она завершала цикл
карма: 10
0
Ответов: 1321
Рейтинг: 37
#5: 2011-03-29 12:57:32 ЛС | профиль | цитата
Ivann, писал(а):
Гы-Гы-Гы Опять

Только прочитал, исправил
карма: 0

0
Разработчик
Ответов: 4697
Рейтинг: 426
#6: 2011-03-29 12:58:35 ЛС | профиль | цитата
[flood]
Assasin писал(а):
Только прочитал, исправил

А по-моему нет Еще раз перечитай ответ в своей теме[/flood]
карма: 10
0
Ответов: 1321
Рейтинг: 37
#7: 2011-03-29 12:59:18 ЛС | профиль | цитата
Assasin, ты прав ,но у меня такое чувство что возникнут с этим проблемы
карма: 0

0
Администрация
Ответов: 15294
Рейтинг: 1518
#8: 2011-03-29 13:00:11 ЛС | профиль | цитата
делать ф-ал идентичным - не целесообразно
карма: 26
0
Ответов: 3349
Рейтинг: 233
#9: 2011-03-29 13:00:12 ЛС | профиль | цитата
Он не тот цикл останавливает.
code_23159.txt
карма: 1

1
файлы: 1code_23159.txt [472B] [515]
Голосовали:Tad
Ответов: 16884
Рейтинг: 1239
#10: 2011-03-29 14:19:07 ЛС | профиль | цитата
Assasin писал(а):
то есть если завершится главный цикл, то вложенный тоже прекратится,
А в твоей схеме FTCG перенёс Break во второй цикл.
------------ Дoбавленo в 13.53:
Ivann опередил
------------ Дoбавленo в 13.58:
оператор Break выпрыгнет только из текущего цикла - а не из всех вложенных циклов выше него.

------------ Дoбавленo в 14.11:
Хотя ошибка в агоритме решения
Add(FTCG_Tools,7811766,238,119)
{
}
BEGIN_SDK
Add(EditMultiEx,9283555,49,49)
{
WorkCount=#5:doFor|
EventCount=#5:onAdd|
Width=307
Height=151
link(doFor,9870217:doFor,[(72,55)(72,97)])
}
Add(FT_For,9870217,84,91)
{
End=10
Start=1
link(onEvent,7582097:doEvent1,[])
}
Add(FT_Hub,7582097,133,91)
{
link(onEvent1,2949249:doStrCat,[])
link(onEvent2,2255284:doCompare,[(154,104)(154,146)])
}
Add(FT_StrCat,2949249,280,91)
{
Str1="FIRST_FOR - "
link(onStrCat,3423011:doWork2,[])
}
Add(FT_StrCat,4482643,280,140)
{
Str1="----SECOND_FOR - "
link(onStrCat,3423011:doWork3,[(326,146)])
}
Add(HubEx,3423011,322,91)
{
Angle=3
link(onEvent,9283555:onAdd,[(326,55)])
}
Add(FT_If_else,2255284,168,140)
{
Type=1
Op2=Integer(4)
link(onTrue,895988:doFor,[])
link(onFalse,9870217:doStop,[(214,153)(214,182)(71,182)(71,104)])
link(Op1,9870217:Position,[(174,132)(90,132)])
}
Add(FT_For,895988,231,140)
{
End=5
Start=1
link(onEvent,4482643:doStrCat,[])
}
END_SDK


------------ Дoбавленo в 14.18:
Да и
link(Op1,9870217:Position,[(174,132)(90,132)])
убрать надо. Забыл
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 3349
Рейтинг: 233
#11: 2011-03-29 14:22:18 ЛС | профиль | цитата
[offtop]
Ivann писал(а):
29 Mar 2011 13:00

Tad писал(а):
29 Mar 2011

Tad, До сих пор посты часами отправляешь?[/offtop]
карма: 1

0
Разработчик
Ответов: 4697
Рейтинг: 426
#12: 2011-03-29 14:26:03 ЛС | профиль | цитата
Ivann писал(а):
Он не тот цикл останавливает.

Вот уж спасибо, открыл истину, а то я не знал
------------ Дoбавленo в 14.25:
Tad писал(а):
Хотя ошибка в аЛгоритме решения

Tad, здесь не в алгоритме дело, а в том что две идентичные схемы
------------ Дoбавленo в 14.25:
, использующие разные кодогенераторы, работают по разному
------------ Дoбавленo в 14.25:
Ivann писал(а):
Tad, До сих пор посты часами отправляешь?

И у меня началось опять
карма: 10
0
Ответов: 16884
Рейтинг: 1239
#13: 2011-03-29 14:41:29 ЛС | профиль | цитата
Assasin писал(а):
Вот уж спасибо, открыл истину, а то я не знал
Я рад, что ты знал. Плохо что не знал, что
Tad писал(а):
ошибка в агоритме решения
или тоже знал ? Тогда извини.
------------ Дoбавленo в 14.41:
Ivann писал(а):
До сих пор посты часами отправляешь?
Не то слово.
В Украине в таких случаях говорят
У нашоi доцi, як не на оцi, то на поцi
или " У нашего форума проблемы : если не с отправкой, то с регистрацией"
Выбрасывает после каждой отправки сообщения.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 3349
Рейтинг: 233
#14: 2011-03-29 14:54:08 ЛС | профиль | цитата
По идее нужно бы делать так
------------ Дoбавленo в 14.53:
#pas
procedure TClassFTCG_Tools_3F5C600.event_doFor(var Data:TData; index:word);
var
i1:integer;
i4:integer;
label
endfor1;
begin

for i1 := 1 to 10 do
begin
_hi_onEvent(THIFTCG_Tools(FParent).Events[0], 'FIRST_FOR - ' + int2str(i1));
for i4 := 1 to 5 do
begin
if i1 < 4 then
begin
_hi_onEvent(THIFTCG_Tools(FParent).Events[0], '----SECOND_FOR - ' + int2str(i4));
end
else
begin
goto endfor1;
end;
end;
end;
endfor1:;
end;
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#15: 2011-03-29 14:58:47 ЛС | профиль | цитата
При правильном алгоритме (см. мой пост выше) и получится правильно.
#pas
procedure TClassFTCG_Tools_174C780.event_doFor(var Data:TData; index:word);
var
i1:integer;
i5:integer;
begin

for i1 := 1 to 10 do
begin
_hi_onEvent(THIFTCG_Tools(FParent).Events[0], 'FIRST_FOR - ' + int2str(i1));
if i1 < 4 then
begin
for i5 := 1 to 5 do
begin
_hi_onEvent(THIFTCG_Tools(FParent).Events[0], '----SECOND_FOR - ' + int2str(i5));
end;
end
else
begin
break;
end;
end;
end;

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)