Вверх ↑
Этот топик читают: Гость
Ответов: 8930
Рейтинг: 823
#16: 2010-05-05 10:04:28 ЛС | профиль | цитата
Или хотя бы картинку предполагаемого внешнего вида с пояснениями что, где и как
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#17: 2010-05-05 10:06:05 ЛС | профиль | цитата
nesco, а события onKeyXXX нет - именно тогда, когда оно нужно . (После двойного клика на строке). Как в MTStrTab проверить некогда - поехал на работу. Если так же, то...
code_18101.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_18101.txt [1.7KB] [188]
Голосовали:vovcheck
Разработчик
Ответов: 26164
Рейтинг: 2127
#18: 2010-05-05 10:15:49 ЛС | профиль | цитата
Tad писал(а):
а события onKeyXXX нет - именно тогда, когда оно нужно

И не будет, все клавиши перехватываются внутренним редактором
карма: 22

0
Ответов: 49
Рейтинг: 11
#19: 2010-05-05 12:57:53 ЛС | профиль | цитата
Я бы выложил весь готовый пакет, а не примерчик, но у меня прав нет на аттачи - я новичок. А работает система пакетом, с INI и тестовым клиентом, есть хелп в PDF...
Коды не выкладываются - предел для сообщения 24000 символов, имеется ввиду здесь, в форуме.
Я в тупике. Как быть? Вкупе 5 файлов весят в rar 130 кБ.
карма: 1

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#20: 2010-05-05 12:59:21 ЛС | профиль | цитата
Используешь "Файлообмен", а в посте даешь ссылку на файл
карма: 22

0
Ответов: 49
Рейтинг: 11
#21: 2010-05-05 22:37:50 ЛС | профиль | цитата
я могу предложить пока такой вариант: [url]vtv.nov.ru/work/Scrollingline.rar[/url]. Я и на форуме пока не разбираюсь, простите.
------------ Дoбавленo в 13.39:
Вот, кажется получилось:
http://hiasm.com/forum_serv.php?q=56&id=1370

Спасибо за участие, nesco. Я на работу, вернусь к вечеру.
------------ Дoбавленo в 22.37:
Была возможность приделать редактирование блока-строки по двойному клику в отдельном окне. Версия 0.9:
http://hiasm.com/forum_serv.php?q=56&id=1371

Я понимаю, что нагородил такого, что профи ужаснётся. Но я, простите, изучаю Конструктор по ходу работы, главное - удалось создать полнофункциональную утилиту, и скоро глухонемые возрадуются. А оптимизация и шлифовка - второй этап.

Если у nesco и опытных пользователей есть время и, главное, желание, я буду рад услышать что я сделал в своём "серпинтарии" не так, как это или то можно делать компактнее.
Спасибо.
карма: 1

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#22: 2010-05-05 23:15:29 ЛС | профиль | цитата
А почему везде применяется EventFromData вместо Memory
Кто такому научил
Вообше-то, EventFromData служит немного для других целей, в частности, для вертикального программирования
------------ Дoбавленo в 23.11:
Зачем делать вот так


Add(Convertor,11802605,231,427)
{
Mode=3
Digits=4
link(onResult,14976900:doEvent1,[])
}
Add(If_else,12634274,315,392)
{
Type=4
Op1=Integer(0)
Op2=Integer(192)
link(Op1,13473967:GetData,[])
}
Add(EventFromData,13473967,315,336)
{
}
Add(Hub,14976900,273,427)
{
OutCount=3
link(onEvent2,13473967:doData,[(297,440)(297,342)])
link(onEvent3,12634274:doCompare,[(303,447)(303,398)])
}
когда, достаточно сделать вот так

Add(Convertor,11802605,231,427)
{
Mode=3
Digits=4
link(onResult,14976900:doEvent1,[])
}
Add(If_else,12634274,315,392)
{
Type=4
Op1=Integer(0)
Op2=Integer(192)
}
Add(Hub,14976900,273,427)
{
link(onEvent2,12634274:doCompare,[(301,440)(301,398)])
}
и это в схеме самая распространенная ошибка

Ну... Про клавиатурный интерфейс я вообще молчу, это -- нечто, которое без поллитры не разобрать, никоим образом
------------ Дoбавленo в 23.15:
Вот это, кстати, тоже лишнее


Add(EditMultiEx,1610369,35,112)
{
WorkCount=#6:doLoad|0:|
EventCount=#12:ResultString|0:|
DataCount=#4:Data|
Width=321
Height=298
link(doLoad,13058490:doEvent1,[(45,118)(45,146)])
}
Add(DoData,10227688,147,140)
{
link(onEventData,1158742:doLoad,[])
link(Data,1610369:Data,[(153,130)(41,130)])
}
Add(CharArray,1158742,224,140)
{
Point(Count)
link(onGetStr,11673841:doEvent1,[(269,153)(269,118)])
}
Add(Hub,13058490,56,140)
{
link(onEvent1,10227688:doData,[])
}
Add(Hub,11673841,280,112)
{
link(onEvent1,1610369:ResultString,[])
}

вполне можно сделать так


Add(EditMultiEx,1610369,35,112)
{
WorkCount=#6:doLoad|0:|
EventCount=#12:ResultString|0:|
DataCount=#4:Data|
Width=321
Height=298
link(doLoad,13058490:doEvent1,[(45,118)(45,146)])
}
Add(CharArray,1158742,224,140)
{
Point(Count)
link(onGetStr,11673841:doEvent1,[(269,153)(269,118)])
link(String,1610369:Data,[(230,126)(41,126)])
}
Add(Hub,13058490,56,140)
{
link(onEvent1,1158742:doLoad,[])
}
Add(Hub,11673841,280,112)
{
link(onEvent1,1610369:ResultString,[])
}


карма: 22

1
Голосовали:vovcheck
Ответов: 4641
Рейтинг: 334
#23: 2010-05-05 23:22:33 ЛС | профиль | цитата
а мне вот эта часть приглянулась

Add(BitBtn,952707,1141,273)
{
Left=660
Top=440
Width=75
Color=65535
Name="Строка"
Hint="Запуск выделенной строки"
Layout="LOWERhor"
Caption="Строка (F7)"
link(onClick,12105308:doEvent1,[])
}
Add(BitBtn,6084955,1141,315)
{
Left=750
Top=440
Width=75
Color=12639424
Name="Очистка"
Hint="Снять текущую строку с экрана"
Layout="LOWERhor"
Caption="Очистка (F8)"
link(onClick,4284653:doEvent1,[])
}
Add(BitBtn,3823688,1141,357)
{
Left=850
Top=440
Width=75
Color=15780518
Name="Убрать"
Hint="Убрать поле бегущей строки с экрана"
Layout="LOWERhor"
Caption="Убрать (F11)"
link(onClick,7377607:doEvent1,[])
}
Add(FormatStr,7623024,1246,273)
{
DataCount=1
Mask="%1"
link(onFString,2712476:doEvent1,[])
}
Add(FormatStr,7518153,1246,315)
{
DataCount=0
Mask="0"
link(onFString,5148016:doEvent1,[])
}
Add(FormatStr,12956269,1246,357)
{
DataCount=0
Mask="C"
link(onFString,3957909:doEvent1,[])
}
Add(Hub,2712476,1288,273)
{
OutCount=4
}
Add(Hub,5148016,1288,315)
{
OutCount=4
}
Add(Hub,3957909,1288,357)
{
OutCount=4
}
Add(Hub,12105308,1218,273)
{
InCount=2
OutCount=3
link(onEvent1,7623024:doString,[])
}
Add(Hub,4284653,1218,315)
{
InCount=2
link(onEvent1,7518153:doString,[])
}
Add(Hub,7377607,1218,357)
{
InCount=2
link(onEvent1,12956269:doString,[])
}




а эта вообще интересно

Add(Hub,9688088,1477,196)
{
OutCount=1
link(onEvent1,6479814:doEvent1,[])
}
Add(Hub,7985911,1477,210)
{
OutCount=1
link(onEvent1,6960149:doEvent1,[])
}
Add(Hub,6479814,1575,196)
{
OutCount=1
}
Add(Hub,6960149,1575,210)
{
OutCount=1
}
Add(Hub,13283253,1575,168)
{
OutCount=1
}
Add(Hub,1033126,1477,168)
{
OutCount=1
link(onEvent1,13283253:doEvent1,[])
}
Add(InfoTip,12258609,1477,147)
{
Info=#77:Модуль задержки запуска следующей строки на имитаторе до окончания предыдущей|
Width=113
Height=88
}


карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#24: 2010-05-05 23:26:21 ЛС | профиль | цитата
Первое -- еще ладно (так можно делать), но вот второе...
карма: 22

0
Ответов: 5446
Рейтинг: 323
#25: 2010-05-05 23:30:34 ЛС | профиль | цитата
[offtop]Второй код - в "аналы", однозначно![/offtop]
карма: 1

0
Ответов: 49
Рейтинг: 11
#26: 2010-05-06 01:45:03 ЛС | профиль | цитата
nesco, Ravilr, спасибо за критику и советы, я прекрасно отдаю себе отчёт в том, что всё, т.е. ВСЁ сыро и местами безграмотно (моя специфика иная - видеомонтаж и VFX), а программирование ограничилось ASM на РК-86 лет эдак 20 назад.
nesco писал(а):
но вот второе...
- это всего лишь заглушка, типа памятка для себя, хотя когда уйдёт "имитатор бегущей..", это и много чего ещё выкинется вместе со всей лабудой, связанной с выводом в файлы commandfile & stringfile. Сегодня моё начальство уже прыгало от восторга видя это в действии на пробах, дали неделю передыху. Надеюсь, перепишу всё уже с учётом ошибок и ваших, уважаемые, советов. Пары-трёх дней мне хватит, поможете оценить результат результат?
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#27: 2010-05-06 01:54:03 ЛС | профиль | цитата
Немного, но около 50-ти компонент можно безболезнено удалить.
code_18110.txt


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 2lang.png [7.4KB] [358], code_18110.txt [828B] [171]
Разработчик
Ответов: 26164
Рейтинг: 2127
#28: 2010-05-06 02:23:59 ЛС | профиль | цитата
Tad писал(а):
около 50-ти компонент можно безболезнено удалить

Если, не больше.
------------ Дoбавленo в 02.00:
Tad, ты с меня прикалывался по таймерам, но эту схему, даже я не переплюнул
------------ Дoбавленo в 02.05:

Еще, вот это


Add(RGB,15489168,1295,637)
{
R=127
G=196
B=63
link(onRGB,390458:doWork1,[(1334,643)])
}
Add(RGB,6291246,1295,644)
{
R=255
G=127
B=63
link(onRGB,390458:doWork2,[])
}
Add(IndexToChanel,555133,1253,637)
{
link(onEvent1,15489168:doRGB,[])
link(onEvent2,6291246:doRGB,[])
}
Add(HubEx,390458,1330,644)
{
}

можно заменить вот на это


Add(IndexToChanel,555133,301,189)
{
link(onEvent1,14694963:doColor,[])
link(onEvent2,5155691:doColor,[(345,202)(345,230)])
}
Add(SelectColor,14694963,357,189)
{
Color=4179071
link(onColor,2416501:doWork2,[])
}
Add(SelectColor,5155691,357,224)
{
Color=4161535
link(onColor,2416501:doWork3,[(403,230)])
}
Add(HubEx,2416501,399,189)
{
}
нагляднее будет
------------ Дoбавленo в 02.11:
А вот это -- действительно оригинально



Add(Hub,681682,252,168)
{
InCount=4
OutCount=1
link(onEvent1,14532745:doEvent1,[(280,174)(280,237)])
}
Add(Hub,14532745,294,231)
{
InCount=2
OutCount=1
}
Add(Hub,1652727,252,238)
{
InCount=4
OutCount=1
link(onEvent1,14532745:doEvent2,[])
}

------------ Дoбавленo в 02.15:
Зачем вот это



Add(ArrayRW,2815930,252,252)
{
Point(Count)
link(Index,13797096:Position,[(265,219)(286,219)])
}
Add(For,13797096,280,154)
{
link(onEvent,2815930:doRead,[(331,160)(331,209)(247,209)(247,258)])
}

когда, есть вот это



Add(ArrayEnum,10584079,525,539)
{
}


для записи отдельно можно ArrayRW поставить
------------ Дoбавленo в 02.23:
Ravilr, ты был прав, FormatStr там совсем не нужен, в первом примере, который ты привел
карма: 22

0
Ответов: 49
Рейтинг: 11
#29: 2010-05-06 02:36:56 ЛС | профиль | цитата
Tad, Спасибо. Честно, долго бился над языковым куском.

А что касаемо
nesco писал(а):
Про клавиатурный интерфейс я вообще молчу, это -- нечто, которое без поллитры не разобрать, никоим образом
, то не зная как это делается построил так, как пока есть.

А по сути требуется следующее.
В левом текстовом (исходный текст) пока фокус на этом элементе нужны горячие клавиши для:
1. (по F4) вставки символа(-ов) раздела блоков, видимого слепыми редакторами и служащими Delimiter при разборе на "блоки-строки";
2. (по F3) вставки символа(-ов), комментирующего очередной блок (дабы данный блок игнорировался при разборе), опять-таки видимого слепыми редакторами;
3. (по Ctrl-Up и Ctrl-Down) быстрой смены регистра слова целиком (или нескольких), выделенных мышой - это на случай когда в тексте есть, скажем, "РСФСР", которое при убирании ударЕний для дИктора превратится в "Рсфср", или для случая "... парень САМ обезвредил..." которое перейдёт в ".. парень Сам обезвредил...".
При этих комбинациях был автоматический разбор на строки в правую таблицу, который, полагаю, излишен.

В правой таблице "блоков-строк" пока фокус на этом элементе нужны горячие клавиши для:
1. (по F7) вываливания выделенного "блока-строки" клиенту через UDP,
2. (по F8) передачи тому же клиенту просто "0",
3. (по F11) передачи тому же клиенту просто "C" лат. (уж в клиенте зашит в скрипте "0" и "C", его не переделать).

Вероятно, в дочерней форме редактирования блока-строки опять-таки потребуются Ctrl-Up и Ctrl-Down.

Я почти уверен, что такие агрегаты для работы с клавиатурой как у меня должны иметь изящную замену. Я же пока до конца не разобрался в элементной базе Hiasm. Опять-таки уповаю на веское слово опытнейших гуру.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#30: 2010-05-06 10:02:02 ЛС | профиль | цитата
nesco писал(а):
Если, не больше.
Ну я же написал "около"
nesco писал(а):
Про клавиатурный интерфейс я вообще молчу
nesco - когда-то основной была клаввиатура, а мышь рядом лежала. Сейчас наоборот - мышь по центру, а клава сбоку.
vovcheck писал(а):
что такие агрегаты для работы с клавиатурой
vovcheck, Вот здесь 100% прав - именно АГРЕГАТЫ. Просто разработчики (упаси бог - я не про разработчиков HiAsm) забыли, что некоторые люди работают с клавы.
------------ Дoбавленo в 10.02:
nesco писал(а):
Tad, ты с меня прикалывался по таймерам, но эту схему, даже я не переплюнул
это vovcheck взял пример с тебя.
А ученики всегда переплёвывают учителей. Прогрес называется.
Спроси сам у vovcheck. Уверен он какую-то твою схему приведет в качестве эталона.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)