Текущий архив: 2008.01.13;
Скачать: CL | DM;
Вниз
Как перевести сие на код Дельфи т.е написать функцию? Найти похожие ветки
← →
Anatoly Podgoretsky © (2007-12-13 15:15) [40]> XerSon (13.12.2007 15:09:38) [38]
Я пока смотрю со стороны, наблюдаю за порядком.
← →
XerSon (2007-12-13 15:20) [41]
> Сергей М. © (13.12.07 15:13) [39]
Не в коей мере! Просто раз ужо попадал под его Справедливую отбриву)
← →
XerSon (2007-12-13 15:22) [42]
> Сергей М. © (13.12.07 14:46) [32]
Не фига не понимаю, что куды писать!!! Можно пояснить немного?
← →
Сергей М. © (2007-12-13 15:25) [43]
> Можно пояснить немного?
>
Можно.
Что конкретно не понимаешь ?
← →
XerSon (2007-12-13 15:31) [44]1) Куда в коде писать сие:
type
TWiegandCode = packed array
Lo: Word;
Hi: Byte;
end;
2) Куда в коде писать следующее сие:
TTouchMemCode = array[0..7] of Byte;
var
wc: TWiegandCode;
tmc: TTouchMemCode;
← →
Сергей М. © (2007-12-13 15:36) [45]
> 1) Куда в коде писать сие:
Куда угодно (в текущей области видимости, естественно), но перед первым обращением к объявляемому ид-ру.
> 2) Куда в коде писать следующее сие
см. ответ на 1)
← →
XerSon (2007-12-13 15:55) [46]
> Сергей М. © (13.12.07 15:36) [45]
Не чего не получается! Видать пациент совсем плох!
← →
Сергей М. © (2007-12-13 16:03) [47]
> Не чего не получается
Что конкретно ?
> пациент совсем плох
Выписать путевку в морг ? Услуга бесплатна)
← →
XerSon (2007-12-13 16:16) [48]
> Что конкретно ?
[Error] Unit1.pas(61): "[" expected but identifier "Lo" found
[Error] Unit1.pas(62): ")" expected but identifier "Hi" found
[Error] Unit1.pas(67): Undeclared identifier: "TTouchMemCode"
← →
Сергей М. © (2007-12-13 16:27) [49]ну ты бы сразу сказал, мол, сам дуб дубом, мол, хочу готовое решение задачи в виде ехе-файла, мол, плачу за него столько-то уругвайских енотов) ..
← →
С.Толик (2007-12-13 18:27) [50]
> Сергей М. © (13.12.07 16:27) [49]
Да за все и так огромное спс! Не дуб но только учусь! Енотофф немае )))
Просто не вразумлю что и куды а вы сразом ... дуб! эхэхэх!
Буду код-консоли юзать и будет мне счастье!
← →
@!!ex © (2007-12-13 18:54) [51]Сергей, я с вас тащусь... Вашу анкету никто не хакнул??
← →
Slym © (2007-12-14 04:10) [52]Всетаки подам вопрошающему...
unit W2TMUnit;
interface
function W2TM(const WiegandCode:string): string;
implementation
uses SysUtils;
type
TKeyCode=packed record
add1:byte;
key1:word;
key2:byte;
add2:array[0..2] of byte;
crc:byte;
end;
procedure SetKeyCodeCRC(var KeyCode:TKeyCode);
const
CRCTable : array [byte] of byte = (
0,94,188,226,97,63,221,131,194,156,126,32,163,253,31,65,
157,195,33,127,252,162,64,30,95,1,227,189,62,96,130,220,
35,125,159,193,66,28,254,160,225,191,93,3,128,222,60,98,
190,224,2,92,223,129,99,61,124,34,192,158,29,67,161,255,
70,24,250,164,39,121,155,197,132,218,56,102,229,187,89,7,
219,133,103,57,186,228,6,88,25,71,165,251,120,38,196,154,
101,59,217,135,4,90,184,230,167,249,27,69,198,152,122,36,
248,166,68,26,153,199,37,123,58,100,134,216,91,5,231,185,
140,210,48,110,237,179,81,15,78,16,242,172,47,113,147,205,
17,79,173,243,112,46,204,146,211,141,111,49,178,236,14,80,
175,241,19,77,206,144,114,44,109,51,209,143,12,82,176,238,
50,108,142,208,83,13,239,177,240,174,76,18,145,207,45,115,
202,148,118,40,171,245,23,73,8,86,180,234,105,55,213,139,
87,9,235,181,54,104,138,212,149,203,41,119,244,170,72,22,
233,183,85,11,136,214,52,106,43,117,151,201,74,20,246,168,
116,42,200,150,21,75,169,247,182,232,10,84,215,137,107,53);
var
Buf:PByte;
crc,Size:byte;
begin
crc:=0;
Buf:=@KeyCode;
Size:=SizeOf(KeyCode)-1;
repeat
crc:=CRCTable[crc xor Buf^];
inc(Buf);
Dec(Size);
until Size=0;
KeyCode.crc:=crc;
end;
function KeyCodeToStr(const KeyCode:TKeyCode):string;
var
Buf:PByte;
Size:byte;
begin
result:="";
Buf:=@KeyCode;
Size:=SizeOf(KeyCode);
repeat
result:=IntToHex(Buf^,2)+result;
inc(Buf);
Dec(Size);
until Size=0;
end;
function W2TM(const WiegandCode:string): string;
var
str:string;
KeyCode:TKeyCode;
begin
str:=StringReplace(WiegandCode," ","",[rfReplaceAll]);
if length(str)<>8 then raise Exception.CreateFmt("Bad WiegandCode: %s",[WiegandCode]);
FillChar(KeyCode,SizeOf(KeyCode),0);
KeyCode.add1:=1;
KeyCode.key2:=StrToInt(Copy(WiegandCode,1,3));
KeyCode.key1:= StrToInt(Copy(WiegandCode,4,5));
SetKeyCodeCRC(KeyCode);
result:=KeyCodeToStr(KeyCode);
end;
end.
Использование :)uses W2TMUnit;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.Text=W2TM(edit1.Text);
end;
← →
С.Толик (2007-12-14 22:55) [53]
> Slym © (14.12.07 04:10) [52]
Вам еще раз респект и уважуха! но я ужо по вашему консольному примеру, своял приложение! Просто потупил не много, так как мозги ужо набекрень были а по утру на свежую голову все за 10 мин сообразилось и удачно скомпилировалось :)
← →
XerSon (2007-12-14 22:58) [54]Тему считаю оконченной! Прошу Администратора ее похерить! :)
Страницы: 1 2 вся ветка
Текущий архив: 2008.01.13;
Скачать: CL | DM;
Память: 0.56 MB
Время: 0.017 c