Вверх ↑
Этот топик читают: Гость
Ответов: 1
Рейтинг: 0
#1: 2010-06-28 08:13:31 ЛС | профиль | цитата
При сбросе счетчика в поток не выводится 0. дальше нормально считает и выводит 1 и т.д.
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2010-06-28 09:04:36 ЛС | профиль | цитата
xey писал(а):
При сбросе счетчика в поток не выводится 0

А кто сказал, что он должен выдавать в поток 0?
Counter.doReset писал(а):
Сброс счетчика в начальное значение

Я не вижу тут "и выдача в поток этого значения"
карма: 10
0
Ответов: 4641
Рейтинг: 334
#3: 2010-06-28 09:34:04 ЛС | профиль | цитата
xey писал(а):
не выводится 0

установи начальное состояние -1
Следующей цифрой после -1 будет 0
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26161
Рейтинг: 2127
#4: 2010-06-28 10:30:16 ЛС | профиль | цитата
Ravilr писал(а):
установи начальное состояние -1
Следующей цифрой после -1 будет 0

Это не совсем то, что надо челу, ему придется давать лишний импульс на увеличение, скорее всего, вот так надо

code_19111.txt
карма: 22

0
файлы: 1code_19111.txt [514B] [260]
Ответов: 16884
Рейтинг: 1239
#5: 2010-06-28 12:10:04 ЛС | профиль | цитата
Да нехватает там события при переходе с Max на Min
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26161
Рейтинг: 2127
#6: 2010-06-28 12:22:08 ЛС | профиль | цитата
Tad писал(а):
Да нехватает там события при переходе с Max на Min

А вот это -- совсем из другой оперы. Выдача события по Reset совсем не связана с переходом с Max на Min
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#7: 2010-06-28 12:57:44 ЛС | профиль | цитата
Tad писал(а):
Да нехватает там события при переходе с Max на Min

Tad, так чего там тебе не хватает
code_19112.txt
карма: 10
0
файлы: 1code_19112.txt [1.2KB] [188]
Ответов: 16884
Рейтинг: 1239
#8: 2010-06-28 18:19:51 ЛС | профиль | цитата
nesco писал(а):
А вот это -- совсем из другой оперы.
опера та-же - нехватает
Assasin писал(а):
Tad, так чего там тебе не хватает
. Мне хватает всего. Свой применяю.
Попробуй на стандартном Counter сделать такие "Часы столетия" (схему цепей предварительной установки, и выход на индикацию убрал )
Могут работать в режиме прямого и обратного счета.

То, что можно сделать по другому не аргумент. Я сам тоже некоторые варианты знаю

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1ch100.png [3.9KB] [372]
Разработчик
Ответов: 26161
Рейтинг: 2127
#9: 2010-06-28 19:22:19 ЛС | профиль | цитата
[flood]Вау! Tad, я вижу вертикальный кабель, да не может быть, все слоны в Африке передохли [/flood]
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#10: 2010-06-28 20:34:10 ЛС | профиль | цитата
nesco, "Вау!" лишнее.
Кабель поставил просто для облагораживания картинки , когда "утянул", мешающий кусок схемы, вниз.

------------ Дoбавленo в 20.34:
Assasin писал(а):
А кто сказал, что он должен выдавать в поток 0?
А почему бы и нет ?
Assasin писал(а):
так чего там тебе не хватает
В твоей схеме тебе пришлось установить два одинаковых значения (5) для Counter.Min и для Case.Value. Если считаешь это нормальным, то ...
Разберем мультик:
Первый компонент Memory (используемые процедуры)

procedure THIMemory._work_doValue;
begin
FData := ReadData(_Data,_data_Data);
_hi_CreateEvent(_Data,@_event_onData,FData);
end;
........................
procedure THIMemory._var_Value;
begin
_Data := FData;
end;
Второй компонент Case (используемые процедуры)

procedure THICase._work_doCase;
var dt:TData;
begin
dt := _Data;
if Compare(ReadFromThread(_Data),_prop_Value,0) then
_hi_OnEvent_(_event_onTrue, FData)
else
_hi_OnEvent(_event_onNextCase,dt);
end;

procedure THICase._work_doDataOnTrue; begin FData:= _Data; end;
Третий компонент Hub

procedure THIHub.doEvent;
var i:integer;
begin
for i := 0 to FOutCount-1 do
_hi_onEvent_(onEvent[i],Data);
end;
Четвёртый компонент doData

procedure THIDoData._work_doData;
begin
dtNull(_Data);
_hi_CreateEvent(_Data,@_event_onEventData,ReadData(_Data,_data_Data,@_prop_Data));
end;
Прикинь еще коды функций, исползуемых в этих процедурах + коды мультика !

Добавление If и _hi_CreateEvent в коды Counter-a намного и быстрее и менее "кодоемкое" применения предложеной тобой лабуды.
Извини, другого названия незнаю.
Правда это называется ещё ИНДУССКИМ кодом.

Для наглядности коды не свернул.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Администрация
Ответов: 15295
Рейтинг: 1519
#11: 2010-06-28 20:56:54 ЛС | профиль | цитата
в данном случае дополнительное событие на пересечение границы счета это цена одной строки в исходнике элемента
карма: 27
0
Ответов: 485
Рейтинг: 86
#12: 2010-06-28 21:03:20 ЛС | профиль | цитата
Assasin писал(а):
Tad, так чего там тебе не хватает
code_19112.txt

А почему так сложно? Или я чего-то не понимаю...
code_19121.txt
карма: 0

0
файлы: 1code_19121.txt [474B] [217]
Администрация
Ответов: 15295
Рейтинг: 1519
#13: 2010-06-28 21:13:12 ЛС | профиль | цитата
filyaxxxcom, при таком исполнении мы не получим в основном потоке нижнюю границу счетчика. Хаб с onFalse ставить надо
карма: 27
0
Ответов: 16884
Рейтинг: 1239
#14: 2010-06-28 21:16:23 ЛС | профиль | цитата
filyaxxxcom писал(а):
А почему так сложно?
Tad писал(а):
это называется ещё ИНДУССКИМ кодом.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26161
Рейтинг: 2127
#15: 2010-06-28 22:17:07 ЛС | профиль | цитата
Ну и чего
Базара на полстраницы, а вывод где

Tad писал(а):
Правда это называется ещё ИНДУССКИМ кодом

Ну ИНДУССКИЙ код, дальше то что, он такой изначально был Кому не нравится -- IC есть, где можно воплотить, все, что душе угодно
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)