Вверх ↑
Этот топик читают: Гость
Ответов: 8926
Рейтинг: 823
#16: 2012-10-14 18:59:17 ЛС | профиль | цитата
Tad, ну и дописали бы "где каждый символ -- суть Hex число" для полной ясности
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#17: 2012-10-14 19:45:33 ЛС | профиль | цитата
hitman249,[flood] В HiAsm-е с Edit.HexNumber такой не прокатит.[/flood]
------------ Дoбавленo в 19.02:
Леонид писал(а):
для полной ясности
Так это "и козе понятно(c)"
FF:FF:FF:FF:FF:FF
или
FFFF.FFFF.FFFF
------------ Дoбавленo в 19.44:
Леонид, это Вам должно быть интересно http://www.redbullstratos.com/live/
------------ Дoбавленo в 19.45:
В реальном времени.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 84
Рейтинг: 1
#18: 2012-10-14 20:12:37 ЛС | профиль | цитата
Всем спасибо!!!
Думаю теперь все получиться.

Расшифруйте, наконец, в каком виде "пользователь" должен вводить эти MAC и PIN
Прошу прощения, что не прояснил это более конкретно с самого начала.

Пользователь видит на этикетке устройства MAC в виде двенадцати символов подряд (без всяких разделителей). Думаю, что и вводить он их должен так же. А вот внутри программы мне их нужно будет разбить на блоки по два символа разделенные двоеточиями, но это уже следующий этап.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#19: 2012-10-14 20:24:08 ЛС | профиль | цитата
NordWest писал(а):
Пользователь видит на этикетке устройства MAC в виде двенадцати символов подряд (без всяких разделителей).
Тогда вот это тебе в помощь.
Удалено
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8926
Рейтинг: 823
#20: 2012-10-14 20:25:40 ЛС | профиль | цитата
Tad писал(а):
Вам должно быть интересно
Конечно, но не до такой же степени! Спасибо!
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#21: 2012-10-14 21:08:13 ЛС | профиль | цитата
NordWest,
Tad писал(а):
Тогда вот это тебе в помощь.
или так
Удалено
или даже так
Удалено
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8926
Рейтинг: 823
#22: 2012-10-14 21:13:46 ЛС | профиль | цитата
Tad, если IC, то по полной code_29300.txt
NordWest, посмотрите этот вариант.
карма: 19

0
файлы: 1code_29300.txt [1.3KB] [142]
Ответов: 16884
Рейтинг: 1239
#23: 2012-10-14 21:23:14 ЛС | профиль | цитата
Леонид, тогда уже так. Дешевле...
Удалено
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8926
Рейтинг: 823
#24: 2012-10-14 21:51:32 ЛС | профиль | цитата
Tad, может и дешевле, но менее функционален
Непорядок.jpg
карма: 19

0
файлы: 1Непорядок.jpg [17.6KB] [175]
Ответов: 84
Рейтинг: 1
#25: 2012-10-14 21:52:54 ЛС | профиль | цитата
Спасибо конечно, но у меня нет delphi компилятора.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#26: 2012-10-14 22:34:27 ЛС | профиль | цитата
NordWest, на под FPC
Удалено
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#27: 2012-10-14 22:37:51 ЛС | профиль | цитата
NordWest писал(а):
Спасибо конечно, но у меня нет delphi компилятора

О! А кто мешает его поставить -- Не работает под FPC. Ссылка слева внизу
карма: 22

0
Ответов: 84
Рейтинг: 1
#28: 2012-10-14 22:49:28 ЛС | профиль | цитата
Tad, спасибо, но вставка разделителей прямо в окне думаю лишнее. Пользователю разделители не к чему. Да и не совсем корректно работает. При попытке поправить уже введенные данные получаем мусор. Но все равно спасибо.

У меня получился вот такой интерфейс



Add(MainForm,2953706,21,14)
{
Width=175
Height=107
}
Add(Edit,838016,84,63)
{
Left=10
Top=30
Width=80
Text=""
Point(doPosition)
link(onChange,4410064:doModify,[])
}
Add(MultiElementEx,4410064,126,63)
{
link(onEvent1,838016:doText2,[(167,69)(167,49)(73,49)(73,76)])
link(onLength,838016:doPosition,[(168,76)(168,106)(72,106)(72,83)])
}
BEGIN_SDK
Add(EditMultiEx,10009388,42,21)
{
WorkCount=#8:doModify|
EventCount=#8:onEvent1|8:onLength|
Width=384
Height=144
link(doModify,11984250:doModify,[(49,27)(49,41)])
}
Add(Convertor,14785184,112,105)
{
Mode=3
link(onResult,1616614:doCompare,[])
}
Add(Str_Enum,11875024,63,105)
{
Delimiter=""
link(onEnum,14785184:doConvert,[])
}
Add(StrCase,11984250,63,35)
{
Type=1
link(onModify,11059768:doEvent1,[])
}
Add(If_else,1616614,168,105)
{
Type=4
Op2=Integer(48)
link(onTrue,14066493:doCompare,[])
}
Add(If_else,14066493,217,105)
{
Type=3
Op2=Integer(70)
link(onTrue,8213853:doConvert,[(259,111)(259,96)(155,96)(155,55)])
}
Add(Memory,13746617,280,49)
{
link(onData,6047354:doEvent1,[])
}
Add(StrCat,10344652,217,49)
{
link(onStrCat,13746617:doValue,[])
link(Str1,13746617:Value,[(223,33)(257,33)(257,85)(286,85)])
}
Add(Convertor,8213853,168,49)
{
Mode=4
link(onResult,10344652:doStrCat,[])
}
Add(Hub,11059768,105,35)
{
link(onEvent1,13746617:doClear,[(268,41)(268,62)])
link(onEvent2,11875024:doEnum,[(130,48)(130,94)(51,94)(51,111)])
}
Add(Hub,6047354,329,49)
{
link(onEvent1,10009388:onEvent1,[(385,55)(385,27)])
link(onEvent2,16307494:doLength,[(350,62)(350,76)])
}
Add(Length,16307494,357,70)
{
link(onLength,10009388:onLength,[(407,76)(407,34)])
}
END_SDK
Add(Edit,7638362,224,63)
{
Left=95
Top=30
Width=55
Text=""
Point(doPosition)
link(onChange,5533618:doModify,[])
}
Add(MultiElementEx,5533618,266,63)
{
link(onEvent1,7638362:doText2,[(307,69)(307,49)(213,49)(213,76)])
link(onLength,7638362:doPosition,[(308,76)(308,106)(212,106)(212,83)])
}
BEGIN_SDK
Add(EditMultiEx,10009388,42,21)
{
WorkCount=#8:doModify|
EventCount=#8:onEvent1|8:onLength|
Width=384
Height=144
link(doModify,11984250:doModify,[(49,27)(49,41)])
}
Add(Convertor,14785184,112,105)
{
Mode=3
link(onResult,1616614:doCompare,[])
}
Add(Str_Enum,11875024,63,105)
{
Delimiter=""
link(onEnum,14785184:doConvert,[])
}
Add(StrCase,11984250,63,35)
{
Type=1
link(onModify,11059768:doEvent1,[])
}
Add(If_else,1616614,168,105)
{
Type=4
Op2=Integer(48)
link(onTrue,14066493:doCompare,[])
}
Add(If_else,14066493,217,105)
{
Type=3
Op2=Integer(57)
link(onTrue,8213853:doConvert,[(259,111)(259,96)(155,96)(155,55)])
}
Add(Memory,13746617,280,49)
{
link(onData,6047354:doEvent1,[])
}
Add(StrCat,10344652,217,49)
{
link(onStrCat,13746617:doValue,[])
link(Str1,13746617:Value,[(223,33)(257,33)(257,85)(286,85)])
}
Add(Convertor,8213853,168,49)
{
Mode=4
link(onResult,10344652:doStrCat,[])
}
Add(Hub,11059768,105,35)
{
link(onEvent1,13746617:doClear,[(268,41)(268,62)])
link(onEvent2,11875024:doEnum,[(130,48)(130,94)(51,94)(51,111)])
}
Add(Hub,6047354,329,49)
{
link(onEvent1,10009388:onEvent1,[(385,55)(385,27)])
link(onEvent2,16307494:doLength,[(350,62)(350,76)])
}
Add(Length,16307494,357,70)
{
link(onLength,10009388:onLength,[(407,76)(407,34)])
}
END_SDK
Add(Label,5049174,105,7)
{
Left=30
Top=10
Width=44
Height=17
Caption="MAC ID:"
}
Add(Label,4432653,245,7)
{
Left=115
Top=10
Width=25
Height=17
Caption="PIN:"
}

------------ Дoбавленo в 22.49:
nesco, попробовал, не ставится. Ругается, что Hiasm не установлен.
А его (в смысле компилятор) обязательно устанавливать? Может просто достаточно скопировать сам файл компилятора?
карма: 1

0
файлы: 1code_29304.txt [3.8KB] [98]
Ответов: 16884
Рейтинг: 1239
#29: 2012-10-14 23:02:02 ЛС | профиль | цитата
А так будет совсем правильно и для Delphi и для FPC
NordWest писал(а):
Tad, спасибо, но вставка разделителей прямо в окне думаю лишнее.

С учетом замечаний - окончательный вариант для MAC

Add(Edit,13008997,217,98)
{
Left=15
Top=35
Width=140
Text=""
MaxLenField=12
link(onChange,8099851:doWork,[(257,104)(257,88)(149,88)(149,111)])
}
Add(InlineCode,8099851,161,105)
{
WorkPoints=#6:doWork|
EventPoints=#5:onRes|5:onMac|
Code=#15:unit HiAsmUnit;|12:// Autor Tad|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|26: onRes, onMac:THI_Event;|49: Procedure doWork(var _Data:TData; Index:Word);|5: end;|0:|14:implementation|29:Procedure THiAsmClass.doWork;|18:var ss,s : string;|21: i,k : integer;|5:begin|37: ss:= UpperCase(toString(_Data));|81: For i:=1 to Length(ss) do if (ss[i] IN ['0'..'9','A'..'F']) then s:=s+ss[i];|26: _hi_onEvent(onRes,s);|25: If Length(s)=12 then|10: begin|74: for i := Length(s) downto 2 do if (i mod 2=1) then Insert(':', s, i);|26: _hi_onEvent(onMac,s);|9: end;|1: |4:end;|4:end.|
link(onRes,13008997:doText2,[])
link(onMac,7931430:doText,[(205,118)(205,153)])
}
Add(Label,7931430,217,147)
{
Left=180
Top=35
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#30: 2012-10-14 23:30:04 ЛС | профиль | цитата
NordWest писал(а):
Ругается, что Hiasm не установлен

А интегрировать его не вариант -- Сервис -> Настройки -> Интеграция -> Информация в реестре -> True
карма: 22

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