Вверх ↑
Этот топик читают: Гость
Ответов: 91
Рейтинг: 0
#1: 2010-06-21 15:09:12 ЛС | профиль | цитата
Короче программа я хочу чтобы работала так:
В консоли сообщение "Введите пожалуйста комманду"
Например я ввел "help"
И мне вышел список со всеми коммандами.
Цель: управление компьютером через собственные комманды.
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2010-06-21 15:13:47 ЛС | профиль | цитата
Остальное сам
code_18974.txt
карма: 10
0
файлы: 1code_18974.txt [1.2KB] [167]
Ответов: 3349
Рейтинг: 233
#3: 2010-06-21 15:17:18 ЛС | профиль | цитата
Assasin, Перенос не забывай
code_18975.txt

карма: 1

0
файлы: 1code_18975.txt [1.2KB] [190]
Ответов: 91
Рейтинг: 0
#4: 2010-06-21 15:20:47 ЛС | профиль | цитата
Большое вам спасибо.
карма: 1

0
Ответов: 3349
Рейтинг: 233
#5: 2010-06-21 15:40:53 ЛС | профиль | цитата
Assasin, более гибкий + на два элемента меньше.
code_18976.txt
------------ Дoбавленo в 15.40:
даже на три
Add(Console,15927991,497,371)
{
link(onStart,2452693:doEvent1,[])
}
Add(Repeat,1077976,602,378)
{
Op1=Integer(1)
Op2=Integer(1)
link(onRepeat,3930962:doData,[])
}
Add(StrList,8122717,700,336)
{
Strings=#4:help|4:exit|
Point(onGetIndex)
Point(doGetIndex)
link(onGetIndex,13732376:doEvent,[])
}
Add(IndexToChanel,13732376,749,343)
{
link(onEvent1,15041253:doString,[])
link(onEvent2,1077976:doStop,[(802,356)(802,457)(590,457)(590,391)])
}
Add(DoData,3930962,651,378)
{
link(onEventData,8122717:doGetIndex,[])
link(Data,15927991:Read,[(657,359)(640,359)(640,435)(503,435)])
}
Add(FormatStr,15041253,812,343)
{
DataCount=0
Mask="helphelp
Введите команду"
link(onFString,14348699:doWork2,[(878,349)(878,289)])
}
Add(Charset,9168880,434,371)
{
Type=1
link(onCharset,15927991:doWrite,[])
}
Add(FormatStr,15019899,602,294)
{
DataCount=0
Mask="Введите команду
"
link(onFString,14348699:doWork3,[(662,300)])
}
Add(Hub,2452693,546,371)
{
link(onEvent1,15019899:doString,[(581,377)(581,300)])
link(onEvent2,1077976:doRepeat,[])
}
Add(HubEx,14348699,658,283)
{
Angle=2
link(onEvent,9168880:doCharset,[(412,289)(412,377)])
}

карма: 1

0
файлы: 1code_18976.txt [1.2KB] [170]
Ответов: 519
Рейтинг: 28
#6: 2010-06-21 18:29:54 ЛС | профиль | цитата
А если допустим мне не нужна консоль и нужно что бы выполнялось действие введеное в "поле ввода" , как сделать 1но действие я знаю , математическим сравнением введенных данных можно, а вот как сделать допустим 2-10 команд?
карма: 0

0
Ответов: 5446
Рейтинг: 323
#7: 2010-06-21 18:30:37 ЛС | профиль | цитата
zeta211, CaseEx
карма: 1

0
Ответов: 3349
Рейтинг: 233
#8: 2010-06-21 18:37:32 ЛС | профиль | цитата
zeta211, а мой пример??
------------ Дoбавленo в 18.31:
iarspider, мой пример без него обходится
------------ Дoбавленo в 18.37:
zeta211, в моем примере делается так в strlist добовляеш команду и в indexToChannel добовляеш индекс.
При вводе команды он получает её индекс в списке и выдает её в поток, а потом indexToChannel вызывает событие равное этому индексу
карма: 1

1
Голосовали:ajaxii
Ответов: 91
Рейтинг: 0
#9: 2010-06-21 21:35:58 ЛС | профиль | цитата
zeta211 писал(а):
а вот как сделать допустим 2-10 команд?

А просто взять Case_Ex и цеплять их в цепочку через точку onFalse пока не дойдет до onTrue
карма: 1

0
Ответов: 4641
Рейтинг: 334
#10: 2010-06-21 22:10:32 ЛС | профиль | цитата
Sney-Max писал(а):
А просто взять Case_Ex и цеплять их в цепочку

садомазо....
zeta211, не слушай.

лучше
Ivann писал(а):
strlist добовляеш команду и в indexToChannel добовляеш индекс.
При вводе команды он получает её индекс в списке и выдает её в поток, а потом indexToChannel вызывает событие равное этому индексу

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#11: 2010-06-21 22:30:43 ЛС | профиль | цитата
Ravilr писал(а):
садомазо

ничего подобного.
1) "А просто взять Case_Ex и цеплять их в цепочку через точку onFalse пока не дойдет до onTrue"
+ для добавления/удаления команды достаточно поставить/убрать один элемент
- при большом количестве команд сложно увидеть весь список сразу
2) "strlist добовляеш команду и в indexToChannel добовляеш индекс."
+ все команды видно одним компактным списком
- для добавления/удаления команды нужно изменять свойства двух элементов. При удалении еще и вычислить индекс команды, чтобы удалить нужную точку из indexToChannel
карма: 26
0
Разработчик
Ответов: 26324
Рейтинг: 2147
#12: 2010-06-21 22:33:13 ЛС | профиль | цитата
Вау! У нас советниками становятся уже после 16-ти ответов, круто
------------ Дoбавленo в 22.33:
Dilma писал(а):
ничего подобного

Короче, у обоих методов свои плюсы и минусы.
карма: 22

0
Ответов: 1379
Рейтинг: 86
#13: 2010-06-21 22:34:58 ЛС | профиль | цитата
[offtop]
nesco писал(а):
У нас советниками становятся уже после 16-ти ответов

А че Sney-Max был токо что советником? [/offtop]
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#14: 2010-06-21 23:41:38 ЛС | профиль | цитата
[offtop]
petrocan писал(а):
А че Sney-Max был токо что советником?

Sney-Max писал(а):
А просто взять Case_Ex и цеплять их в цепочку через точку onFalse пока не дойдет до onTrue

Вообще-то, совет правильный[/offtop]
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#15: 2010-06-22 12:59:45 ЛС | профиль | цитата
CaseEx (как и связку StrList + IndexToChanel) уже не применишь для команд типа "math 2+2", поэтому предпочтительней в таких консольных приложениях использовать StrMask с маской равной по данному примеру "math *", а затем простой StrPart + MathParse.doMathString... ну далее можно догадаться
карма: 10
0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)