Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26163
Рейтинг: 2127
#61: 2010-05-07 02:45:06 ЛС | профиль | цитата
vovcheck писал(а):
голова кругом идёт от изобилия идей

Да идей-то, не так уж и много, в основном, разбор полетов
vovcheck писал(а):
работаю в коллективе соавторов

Я, как-то, на соавторство и не претендую, думаю, что и все остальные -- тоже, идея, ведь, тебе принадлежит. Но если тебе так нравится, то я -- не против.

У нас тут такое бывает -- кто-то кинет схемку, и понеслась мозговая атака, кто чего лучше придумает. Иногда, доходит до лаек, но это все на пользу, оживляет дискуссии и улучшает конечный продукт
карма: 22

2
Голосовали:vovcheck, petrocan
Ответов: 16884
Рейтинг: 1239
#62: 2010-05-07 19:44:47 ЛС | профиль | цитата
vovcheck, вот, как и обещал - полсотни лишних компонент выбросил. Может что выбросил и нужное
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1scrollline07.rar [10.9KB] [134]
Разработчик
Ответов: 26163
Рейтинг: 2127
#63: 2010-05-07 19:55:28 ЛС | профиль | цитата
А это что такое, куда идет вход Length



Add(Counter,5910042,448,140)
{
}
Add(FormatStr,5885240,448,196)
{
DataCount=3
Mask="%1#%2#%3"
link(Str1,5910042:Count,[])
link(Str2,3157171:Result,[])
}
Add(Length,7408720,413,98)
{
link(onLength,3157171:doCalc,[])
}
Add(Hub,16585161,399,182)
{
OutCount=4
link(onEvent1,7408720:doLength,[(423,188)(423,104)])
link(onEvent2,5910042:doNext,[(433,195)(433,146)])
link(onEvent3,5885240:doString,[])
}
Add(MathParse,3157171,455,98)
{
DataCount=1
MathStr="%1 * 3 / 50"
}

карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#64: 2010-05-07 22:10:14 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 11:21:09
карма: 0

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#65: 2010-05-07 22:53:47 ЛС | профиль | цитата
Tad писал(а):
У меня нормальный линк

Отбой, я нашел куда он спрятался
------------ Дoбавленo в 22.21:
А это чего не поправил



Нафиг там не нужен DoData
------------ Дoбавленo в 22.44:
А тебе не кажется, что вот это безобразие


Add(If_else,7474793,315,168)
{
Type=4
Op1=Integer(0)
Op2=Integer(192)
link(onTrue,9511760:doCompare,[])
link(onFalse,681682:doEvent3,[(353,181)(353,216)])
link(Op1,550512:Var2,[])
}
Add(Hub,681682,441,196)
{
InCount=4
OutCount=1
}
Add(Math,10157637,399,168)
{
Op2=32
ResultType=0
link(onResult,681682:doEvent1,[(433,174)(433,202)])
link(Op1,8859689:Var3,[(405,152)])
}
Add(If_else,9511760,357,168)
{
Type=3
Op1=Integer(0)
Op2=Integer(223)
link(onTrue,10157637:doOperation,[])
link(onFalse,681682:doEvent2,[(395,181)(395,209)])
link(Op1,8949491:Var2,[])
}
Add(If_else,5776777,210,168)
{
Op1=Integer(0)
Op2=Integer(168)
link(onTrue,983625:doOperation,[(254,174)(254,181)])
link(onFalse,7474793:doCompare,[(254,181)(254,174)])
link(Op1,1773505:Var2,[])
}
Add(Math,983625,266,175)
{
Op2=16
ResultType=0
link(onResult,681682:doEvent4,[(309,181)(309,223)])
link(Op1,3961071:Var2,[])
}
Add(GetDataEx,8859689,392,147)
{
Angle=3
link(Data,8949491:Var3,[])
}
Add(GetDataEx,8949491,357,147)
{
Angle=3
link(Data,14977527:Var3,[])
}
Add(GetDataEx,14977527,350,147)
{
Angle=3
link(Data,550512:Var3,[])
}
Add(GetDataEx,550512,315,147)
{
Angle=3
link(Data,14349597:Var3,[])
}
Add(GetDataEx,1773505,210,147)
{
Angle=3
link(Data,9910780:Var3,[])
}
Add(GetDataEx,14349597,308,147)
{
Angle=3
link(Data,3961071:Var3,[])
}
Add(GetDataEx,6582716,259,147)
{
Angle=3
link(Data,1773505:Var3,[])
}
Add(GetDataEx,9910780,203,147)
{
Angle=3
}
Add(GetDataEx,3961071,266,147)
{
Angle=3
link(Data,6582716:Var3,[])
}

можно заменить вот на это, более простое, безобразие


Add(MathParse,11842742,203,266)
{
DataCount=1
MathStr="(%1 = 168) * (%1 + 16) + (%1 >=192) * (%1 <= 223) * (%1 + 32)"
ResultType=0
link(onResult,15504787:doCase,[])
}
Add(Case,15504787,252,266)
{
Value=Integer(0)
DataOnTrue=String()
link(onNextCase,8914221:doWork2,[])
link(onTrue,8914221:doWork3,[(305,279)])
}
Add(HubEx,8914221,301,266)
{
}

Два компонента против шести. Ну, vovcheck-y простительно, он мог этого и не знать, но, Tad, от тебя я такого не ожидал

И точно также, нижнюю часть
------------ Дoбавленo в 22.53:
Осталось еще мне там прогуляться, и я еше, штутк 20, выкину, если не больше
карма: 22

0
файлы: 1scrollline_001.png [3.8KB] [307]
Ответов: 16884
Рейтинг: 1239
#66: 2010-05-07 23:23:51 ЛС | профиль | цитата
nesco, копаешь ?
nesco, я в рассчеты и в обработку слов не заглядывал. Отложил на завтра.
3. (по Ctrl-Up и Ctrl-Down) быстрой смены регистра слова целиком (или нескольких), выделенных мышой - это на случай когда в тексте есть, скажем, "РСФСР", которое при убирании ударЕний для дИктора превратится в "Рсфср", или для случая "... парень САМ обезвредил..." которое перейдёт в ".. парень Сам обезвредил...".
хотел над этим подумать.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#67: 2010-05-07 23:35:43 ЛС | профиль | цитата
Если вот этот мультик
code_18141.txt

Нужен лишь для преобразования больших букв в маленькие, то все это можно сделать вообще на нескольких компонентах.

Ау, vovcheck, объясни подробнее -- для чего нужен этот мультик, и что он делает
карма: 22

0
файлы: 1code_18141.txt [5.4KB] [164]
Ответов: 16884
Рейтинг: 1239
#68: 2010-05-07 23:55:07 ЛС | профиль | цитата
Я просто думаю, что немного не верный подход.
1. Редактор получает текст диктора со всеми ударениями. (первое окно)
2. Из этого текста он выбирает информацию для бегущей строки, одновременно контролируя, чтобы время прохода стрроки составляло 75% времени чтения. (второе окно)
3. Третье окно - список бегущих строк.

Т.е. выходит три окна:
1 -е = Только чтение
2 -е = Окно редактора
3 -е = только чтение.
Более информативны три горизонтальных окна.
Нужно мнение заказчика.

------------ Дoбавленo в 23.55:
nesco писал(а):
для чего нужен этот мультик
Текст для диктора с ударениями выглядит так : "НапрИмер вот Это текст для дИктора."
Большими буквами обозначены ударения. Чтобы на бегущей строке было все красиво - эти большие буквы заменяются.
Но когда диктор произносит "СегОдня в РоссИйской ФедерАции ..." в бегущей строке должно быть "Сегодня в РФ..."

Т.е. если слово в дикторском тексте набрано большими буквами, то оно в бегущей строке тоже должно быть болшими буквами.
там двумя компонентами не получится.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#69: 2010-05-08 00:09:04 ЛС | профиль | цитата
Гы. А весь вот этот бред, не постесняюсь так его назвать (52 элемента)

code_18142.txt

спокойно меняется вот на это (10 элементов)

code_18143.txt

Итого: - 42 элемента.

Гы. А я только чуть-чуть прогулялся
------------ Дoбавленo в 00.00:
Tad писал(а):
Текст для диктора с ударениями выглядит так

Ошибся ты, это не тот мультик расставляет ударения, а это просто преобразует выбранную часть в верхний или нижний регистр
------------ Дoбавленo в 00.09:
Гы, можно еще три компонента выкинуть из той схемы


Add(MainForm,2953706,308,105)
{
}
Add(KeyMask,2531088,434,196)
{
Ctrl=1
Key=38
link(onTrue,7786281:doModify,[])
}
Add(KeyMask,10403116,434,154)
{
Ctrl=1
Key=40
link(onTrue,3040051:doModify,[])
}
Add(StrCase,3040051,504,161)
{
link(onModify,8570262:doWork2,[])
link(Str,8933006:Var3,[(510,131)])
}
Add(StrCase,7786281,483,203)
{
Type=1
link(onModify,8570262:doWork3,[(550,209)])
link(Str,8933006:Var2,[])
}
Add(GetDataEx,8933006,483,126)
{
link(Data,7766550:SelText,[])
}
Add(Hub,2295628,385,154)
{
link(onEvent1,10403116:doCheckMask,[])
link(onEvent2,2531088:doCheckMask,[(417,167)(417,202)])
}
Add(Memo,7766550,462,63)
{
Left=10
Top=5
Width=265
Height=250
Font=[MS Sans Serif,10,0,0,1]
Strings=#18:Привет от HiAsm-a!|
Point(onKeyDown)
Point(SelText)
Point(doSetSelect)
link(onKeyDown,2295628:doEvent1,[(506,76)(506,51)(370,51)(370,160)])
}
Add(HubEx,8570262,546,161)
{
link(onEvent,7766550:doSetSelect,[(596,167)(596,139)(450,139)(450,111)])
}


Итого: - 45
карма: 22

0
файлы: 2code_18142.txt [7KB] [173], code_18143.txt [839B] [123]
Ответов: 16884
Рейтинг: 1239
#70: 2010-05-08 00:09:47 ЛС | профиль | цитата
Ты вообще внимательно читаешь ?
nesco писал(а):
Ошибся ты, это не тот мультик расставляет ударения, а это просто преобразует выбранную часть в верхний или нижний регистр
Здесь расставлять ударения не надо - редактор бегущей строки должен только ПРАВИЛЬНО удалить только ударения, не трогая слова полностью (или частично) написанные заглавными буквами.

И когда мы этого "ПРАВИЛЬНОГО УДАЛЕНИЯ УДАРЕНИЙ" добъёмся , то "просто преобразует выбранную часть в верхний или нижний регистр" будет ни нафик не нужен.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#71: 2010-05-08 00:12:47 ЛС | профиль | цитата
Ага, а что тогда делает Ctrl-Up и Ctrl-Down, если не преобразует вручную выбранный текст в верхний и нижний регистры -- нет там никакого автомата, хоть ты лопни. Смотри внимательно схему. там задействован onKeyDown и SelText, где здесь автомат
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#72: 2010-05-08 00:13:48 ЛС | профиль | цитата
Да, а нерусские слов (буквы) должен вообще не трогать.
nesco писал(а):
а что тогда делает Ctrl-Up и Ctrl-Down, если не преобразует вручную выбранный текст
Потому и нету автомата, что чел. не смог его сделать. И когда он удаляет ударения у него РСФСР превращается в Рсфср, и он вынужден это Рсфср РУЧКАМИ выделить и РУЧКАМИ нажать Ctrl-Up
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#73: 2010-05-08 00:19:03 ЛС | профиль | цитата
Tad писал(а):
Да, а нерусские слов (буквы) должен вообще не трогать

Это почему же
Редактор что, не видет, что преобразовывает
------------ Дoбавленo в 00.19:
Tad писал(а):
и он вынужден это Рсфср РУЧКАМИ выделить и РУЧКАМИ нажать Ctrl-Up

На что я и упростил этот метод до 7-ми компонентов, другие-то части схемы я не трогал
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#74: 2010-05-08 00:27:30 ЛС | профиль | цитата
Интересный ты парень. Редактор никода по одному слову не выбирает для бегущей строки. Выбрал 200слов (~75%) и из них удалил ударения, а потом ( в схеме от vovcheck) должен найти слова, которые стали "Рсфср", выделить по одному и нажать Ctrl-Up .
Такой алгоритм (неправильный ИМХО) у vovcheck
------------ Дoбавленo в 00.27:
Я думаю, что если три буквы подряд большие, то это слово нужно пропускать без изменения.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#75: 2010-05-08 00:29:09 ЛС | профиль | цитата
Tad писал(а):
Редактор никода по одному слову не выбирает для бегущей строки

У vovcheck-а это было сделано, я это упростил, и мне плевать как там должно быть на самом деле по твоим понятиям, это не мои проблемы, а его. Вот над чем, над чем, так над этим, я ломать голову не собираюсь, на всех головы не хватит
карма: 22

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