Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2009-04-23 13:41:35 ЛС | профиль | цитата
Здравствуйте ещё раз всем. Я наверное всех заколупал уже, вы уж простите, любопытство берёт вверх.

При очередном копании и изучении конструктора возник один момент. Объясняю суть проблемы

Есть простенький код:
code_12945.txt

Как понятно уже, он конвертит целые числа в HEX c количеством знакомест = 8

Вопрос, как зделать так, чтоб при вводе допустим числа 99900 выдавало не 0001863C, а в реверсе 3С860100 ?

Спасибо
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26072
Рейтинг: 2122
#2: 2009-04-23 14:45:24 ЛС | профиль | цитата
г. Залётный, самый простой способ для 8 символов


Add(MainForm,14146611,217,161)
{
Height=119
}
Add(Edit,4833166,280,161)
{
Left=5
Top=10
Width=380
Text="99900"
}
Add(Edit,3239374,567,385)
{
Left=5
Top=60
Width=380
Text=""
}
Add(Convertor,11845023,280,210)
{
Mode=6
Digits=8
link(onResult,11470564:doEvent1,[])
link(Data,4833166:Text,[])
}
Add(Button,1920163,217,210)
{
Left=170
Top=35
link(onClick,11845023:doConvert,[])
}
Add(Memory,16192981,413,210)
{
}
Add(Hub,11470564,336,210)
{
OutCount=5
link(onEvent1,16192981:doValue,[])
link(onEvent2,7598058:doCopy,[(393,223)(393,314)])
link(onEvent3,7145062:doCopy,[(383,230)(383,328)])
link(onEvent4,11887380:doCopy,[(372,237)(372,342)])
link(onEvent5,12610789:doCopy,[(362,244)(362,391)])
}
Add(Copy,7598058,413,308)
{
Position=1
Count=2
link(onCopy,9256726:doValue,[])
link(Str,7158440:Var2,[])
}
Add(Copy,7145062,427,322)
{
Position=3
Count=2
link(onCopy,6156642:doValue,[])
link(Str,11813662:Var2,[])
}
Add(GetDataEx,7158440,406,259)
{
link(Data,16192981:Value,[])
}
Add(Copy,11887380,441,336)
{
Position=5
Count=2
link(onCopy,4726050:doValue,[])
link(Str,10202241:Var2,[])
}
Add(Copy,12610789,455,385)
{
Position=7
Count=2
link(onCopy,1014069:doString,[])
link(Str,10202241:Var3,[(461,268)])
}
Add(GetDataEx,10202241,434,259)
{
Angle=3
link(Data,11813662:Var3,[])
}
Add(GetDataEx,11813662,420,259)
{
Angle=3
link(Data,7158440:Var3,[])
}
Add(Memory,9256726,504,308)
{
}
Add(Memory,6156642,511,322)
{
}
Add(Memory,4726050,518,336)
{
}
Add(FormatStr,1014069,504,385)
{
DataCount=4
Mask="%4%3%2%1"
link(onFString,3239374:doText,[])
link(Str1,9256726:Value,[])
link(Str2,6156642:Value,[])
link(Str3,4726050:Value,[])
}


Может кто проще придумает
карма: 22

0
Администрация
Ответов: 15294
Рейтинг: 1518
#3: 2009-04-23 15:25:28 ЛС | профиль | цитата
на самом деле если б у нас парсер поддерживал бинарные команды shl, shr и and то можно в одном элементе было б сделать
карма: 26
0
Ответов: 5227
Рейтинг: 587
#4: 2009-04-23 15:48:26 ЛС | профиль | цитата
Удалено по просьбе администрации.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 4641
Рейтинг: 334
#5: 2009-04-23 15:58:18 ЛС | профиль | цитата
nesco писал(а):
самый простой способ для 8 символов

или так
code_12948.txt
карма: 1
Время верстки: %cr_time% Текущее время: %time%
1
файлы: 1code_12948.txt [1.1KB] [209]
Голосовали:nesco
Разработчик
Ответов: 26072
Рейтинг: 2122
#6: 2009-04-23 15:59:30 ЛС | профиль | цитата
andrestudio, на IC я бы еще проще сделал и более быстрый. Скажи лучше -- на кой начинающим скрипты, они в компонентах теряются, им схематехнику изучать надо по-началу. Я бы и сложнее схему мог придумать, но зачем, пусть в простой разберутся, как парсятся строки
------------ Дoбавленo в 16.00:
Ravilr, неплохо, но уже сложнее в понимании
карма: 22

1
Голосовали:Валерий
Ответов: 5227
Рейтинг: 587
#7: 2009-04-23 16:08:06 ЛС | профиль | цитата
Вот вам ваша схемотехника , всю дорогу будут возникать подобные проблемы, я решил её одной строкой. Про быстродействие уже был разговор.

nesco писал(а):
Может кто проще придумает
заметь, не я тебя за язык тянул
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26072
Рейтинг: 2122
#8: 2009-04-23 16:17:36 ЛС | профиль | цитата
Еще вариант на тему схемотехники


Add(MainForm,7494318,224,287)
{
Height=425
}
Add(Edit,4833166,273,287)
{
Left=5
Top=10
Width=380
Text="99900"
}
Add(Edit,3239374,581,343)
{
Left=5
Top=60
Width=380
Text=""
}
Add(Convertor,11845023,273,336)
{
Mode=6
Digits=8
link(onResult,726327:doLoad,[])
link(Data,4833166:Text,[])
}
Add(Button,11228743,224,336)
{
Left=170
Top=35
link(onClick,11845023:doConvert,[])
}
Add(CharArray,726327,322,336)
{
link(onLoad,9745484:doEvent1,[])
}
Add(ArrayEnum,5381191,322,413)
{
link(onItem,13360226:doEvent,[])
link(onEndEnum,853722:doGetStr,[(396,426)(396,349)])
link(Array,726327:Array,[])
}
Add(CharArray,853722,532,336)
{
link(onGetStr,3239374:doText,[])
link(String,726327:Str,[(538,324)(436,324)(436,380)(335,380)])
}
Add(IndexToChanel,13360226,413,413)
{
Count=8
Point(Data)
Point(Index)
link(onEvent1,14462531:doWork7,[(461,419)(461,461)])
link(onEvent2,14462531:doWork8,[(461,426)(461,468)])
link(Index,5381191:Index,[(426,401)(380,401)(380,457)(335,457)])
link(onEvent3,14462531:doWork5,[(461,433)(461,447)])
link(onEvent4,14462531:doWork6,[(461,440)(461,454)])
link(onEvent5,14462531:doWork3,[(461,447)(461,433)])
link(onEvent6,14462531:doWork4,[(461,454)(461,440)])
link(onEvent7,14462531:doWork1,[(461,461)(461,419)])
link(onEvent8,14462531:doWork2,[(461,468)(461,426)])
}
Add(ChanelToIndex,14462531,476,413)
{
Count=8
Point(Data)
link(onIndex,3916174:doWrite,[])
}
Add(ArrayRW,3916174,532,406)
{
link(Array,853722:Array,[])
link(Value,14462531:Data,[(552,394)(517,394)(517,484)(482,484)])
}
Add(Hub,9745484,364,336)
{
link(onEvent1,853722:doLoad,[])
link(onEvent2,5381191:doEnum,[(390,349)(390,384)(310,384)(310,419)])
}

карма: 22

0
Ответов: 5227
Рейтинг: 587
#9: 2009-04-23 16:23:16 ЛС | профиль | цитата
nesco, уж лучше так code_12950.txt

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1code_12950.txt [1.1KB] [231]
Разработчик
Ответов: 26072
Рейтинг: 2122
#10: 2009-04-23 16:28:25 ЛС | профиль | цитата
andrestudio писал(а):
всю дорогу будут возникать подобные проблемы, я решил её одной строкой

Какой ты, млин, упертый

Вот тебе тоже решение одной строкой, и без лишних компонентов

code_12951.txt
------------ Дoбавленo в 16.29:
Как ты не можешь понять -- не нужны начинающим скрипты, никакие, понятно тебе, оставь их для себя
карма: 22

0
файлы: 1code_12951.txt [1KB] [214]
Ответов: 16884
Рейтинг: 1239
#11: 2009-04-23 16:34:41 ЛС | профиль | цитата
Ну и моих 8 компонент ( специально для любителей городить огород )
Кто меньше ?
code_12952.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_12952.txt [882B] [237]
Голосовали:nesco
Ответов: 5227
Рейтинг: 587
#12: 2009-04-23 16:40:34 ЛС | профиль | цитата
Ну чтоже, так и сделаю.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 16884
Рейтинг: 1239
#13: 2009-04-23 16:43:54 ЛС | профиль | цитата
или так
code_12953.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_12953.txt [868B] [224]
Ответов: 5227
Рейтинг: 587
#14: 2009-04-23 16:44:25 ЛС | профиль | цитата
Tad, баяна лепишь
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26072
Рейтинг: 2122
#15: 2009-04-23 16:47:54 ЛС | профиль | цитата
Tad, надо было условие поставить -- без циклов. С циклами идея менее понятна, но заслуживает внимания. Откуда начинающий знает, что число из потока попадет именно в начальную позицию Copy

Tad писал(а):
Кто меньше ?

Я уже представил самый короткий, и в схемном, и в кодовом решении (одним компонентом и одной строкой)
карма: 22

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