Unit1.cpp 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "Unit1.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma resource "*.dfm"
  8. TForm1 *Form1;
  9. HANDLE __stdcall (*rf_init)(__int16 port,long baud);
  10. __int16 __stdcall (*rf_beep)(HANDLE icdev,unsigned short _Msec);
  11. __int16 __stdcall (*rf_card)(HANDLE icdev,unsigned char _Mode,unsigned long *_Snr);
  12. __int16 __stdcall (*rf_exit)(HANDLE icdev);
  13. __int16 __stdcall (*rf_get_status)(HANDLE icdev,unsigned char *_Status);
  14. __int16 __stdcall (*rf_authentication)(HANDLE icdev,unsigned char _Mode,unsigned char _SecNr);
  15. __int16 __stdcall (*rf_load_key)(HANDLE icdev,unsigned char _Mode,unsigned char _SecNr,unsigned char *_NKey);
  16. __int16 __stdcall (*rf_write)(HANDLE icdev,unsigned char _Adr,unsigned char *_Data);
  17. __int16 __stdcall (*rf_read)(HANDLE icdev,unsigned char _Adr,unsigned char *_Data);
  18. __int16 __stdcall (*rf_changeb3)(HANDLE icdev,unsigned char _SecNr,unsigned char *_KeyA,unsigned char _B0,unsigned char _B1,unsigned char _B2,unsigned char _B3,unsigned char _Bk,unsigned char *_KeyB);
  19. HINSTANCE hLibrary;
  20. //hLibrary=LoadLibrary("mwrf32.dll");
  21. HANDLE icdev;
  22. //---------------------------------------------------------------------------
  23. __fastcall TForm1::TForm1(TComponent* Owner)
  24. : TForm(Owner)
  25. {
  26. }
  27. //---------------------------------------------------------------------------
  28. void __fastcall TForm1::Button1Click(TObject *Sender)
  29. {
  30. FARPROC lpFarproc;
  31. hLibrary=LoadLibrary("mwrf32.dll");
  32. lpFarproc=GetProcAddress(hLibrary,"rf_init");
  33. rf_init=(HANDLE __stdcall(__cdecl*)(__int16 port,long baud))lpFarproc;
  34. icdev=0;
  35. icdev=rf_init(0,9600);
  36. AnsiString str;
  37. str=IntToStr((int)icdev);
  38. Edit1->Text=str;
  39. if(str>0)
  40. {
  41. ListBox1->Items->Add("rf_init ringht");
  42. }
  43. else
  44. {
  45. ListBox1->Items->Add("rf_init error");
  46. }
  47. // FreeLibrary(hLibrary);
  48. }
  49. //---------------------------------------------------------------------------
  50. void __fastcall TForm1::Button2Click(TObject *Sender)
  51. {
  52. FARPROC lpFarproc;
  53. //hLibrary=LoadLibrary("mwrf32.dll");
  54. lpFarproc=GetProcAddress(hLibrary,"rf_beep");
  55. rf_beep=(__int16 __stdcall(__cdecl*)(HANDLE icdev,unsigned short _Msec))lpFarproc;
  56. int st=0;
  57. st=rf_beep(icdev,10);
  58. AnsiString str;
  59. str=IntToStr(st);
  60. Edit1->Text=str;
  61. ListBox1->Items->Add("rf_beep ringht");
  62. }
  63. //---------------------------------------------------------------------------
  64. void __fastcall TForm1::Button3Click(TObject *Sender)
  65. {
  66. FARPROC lpFarproc;
  67. //hLibrary=LoadLibrary("mwrf32.dll");
  68. lpFarproc=GetProcAddress(hLibrary,"rf_card");
  69. rf_card=(__int16 __stdcall(__cdecl*)(HANDLE icdev,unsigned char _Mode,unsigned long *_Snr))lpFarproc;
  70. int st=0;
  71. unsigned long Snr;
  72. st=rf_card(icdev,1,&Snr);
  73. if(st==0)
  74. {
  75. AnsiString str;
  76. str=IntToStr(int(Snr));
  77. Edit1->Text=str;
  78. ListBox1->Items->Add("rf_card ringht!");
  79. }
  80. else
  81. {
  82. AnsiString str,str1;
  83. str=IntToStr(st);
  84. ListBox1->Items->Add("rf_card error!");
  85. Edit1->Text=str;
  86. }
  87. }
  88. //---------------------------------------------------------------------------
  89. void __fastcall TForm1::Button4Click(TObject *Sender)
  90. {
  91. //HINSTANCE hLibrary;
  92. FARPROC lpFarproc;
  93. //hLibrary=LoadLibrary("mwrf32.dll");
  94. lpFarproc=GetProcAddress(hLibrary,"rf_exit");
  95. rf_exit=(__int16 __stdcall(__cdecl*)(HANDLE icdev))lpFarproc;
  96. int st;
  97. st=rf_exit(icdev);
  98. if(st==0)
  99. {
  100. ListBox1->Items->Add("rf_exit right");
  101. }
  102. else
  103. {
  104. ListBox1->Items->Add("rf_exit error");
  105. AnsiString str;
  106. str=IntToStr(st);
  107. Edit1->Text=str;
  108. }
  109. }
  110. //---------------------------------------------------------------------------
  111. void __fastcall TForm1::Button5Click(TObject *Sender)
  112. {
  113. FARPROC lpFarproc;
  114. lpFarproc=GetProcAddress(hLibrary,"rf_get_status");
  115. rf_get_status=( __int16 __stdcall(__cdecl*)(HANDLE icdev,unsigned char *_Status))lpFarproc;
  116. int st;
  117. unsigned char Status[18];
  118. ZeroMemory(Status,sizeof(unsigned char));
  119. st=rf_get_status(icdev,Status);
  120. if(st==0)
  121. {
  122. AnsiString str ;
  123. for(int i=0;i<16;i++)
  124. {
  125. char c=(char)Status[i];
  126. str +=c;
  127. }
  128. ListBox1->Items->Add("rf_get_Status right");
  129. Edit1->Text=str;
  130. }
  131. else
  132. {
  133. ListBox1->Items->Add("rf_get_Status error");
  134. AnsiString str;
  135. str=IntToStr(st);
  136. Edit1->Text=str;
  137. }
  138. }
  139. //---------------------------------------------------------------------------
  140. void __fastcall TForm1::Button6Click(TObject *Sender)
  141. {
  142. FARPROC lpFarproc;
  143. lpFarproc=GetProcAddress(hLibrary,"rf_authentication");
  144. rf_authentication=( __int16 __stdcall(__cdecl*)(HANDLE icdev,unsigned char _Mode,unsigned char _SecNr))lpFarproc;
  145. int st;
  146. st=rf_authentication(icdev,0,1);
  147. if(st==0)
  148. {
  149. ListBox1->Items->Add("rf_authentication right");
  150. }
  151. else
  152. {
  153. ListBox1->Items->Add("rf-authentication error");
  154. AnsiString str;
  155. str=IntToStr(st);
  156. Edit1->Text=str;
  157. }
  158. }
  159. //---------------------------------------------------------------------------
  160. void __fastcall TForm1::Button7Click(TObject *Sender)
  161. {
  162. FARPROC lpFarproc;
  163. lpFarproc=GetProcAddress(hLibrary,"rf_load_key");
  164. rf_load_key=( __int16 __stdcall(__cdecl*)(HANDLE icdev,unsigned char _Mode,unsigned char _SecNr,unsigned char *_NKey))lpFarproc;
  165. unsigned char key[6]={0xff,0xff,0xff,0xff,0xff,0xff};
  166. int st;
  167. st=rf_load_key(icdev,0,1,key);
  168. if (st==0)
  169. {
  170. ListBox1->Items->Add("rf_load_key right");
  171. }
  172. else
  173. {
  174. ListBox1->Items->Add("rf_load_key error");
  175. AnsiString str;
  176. str=IntToStr(st);
  177. Edit1->Text=str;
  178. }
  179. }
  180. //---------------------------------------------------------------------------
  181. void __fastcall TForm1::Button8Click(TObject *Sender)
  182. {
  183. FARPROC lpFarproc;
  184. lpFarproc=GetProcAddress(hLibrary,"rf_write");
  185. rf_write=( __int16 __stdcall(__cdecl*)(HANDLE icdev,unsigned char _Ard,unsigned char *_Data))lpFarproc;
  186. unsigned char wdata[]="ÉîÛÚÃ÷»ª°Äºº¿Æ¼¼";
  187. int st;
  188. st=rf_write(icdev,4,wdata);
  189. if (st==0)
  190. {
  191. ListBox1->Items->Add("rf_write right");
  192. }
  193. else
  194. {
  195. ListBox1->Items->Add("rf_write error");
  196. AnsiString str;
  197. str=IntToStr(st);
  198. Edit1->Text=str;
  199. }
  200. }
  201. //---------------------------------------------------------------------------
  202. void __fastcall TForm1::Button9Click(TObject *Sender)
  203. {
  204. FARPROC lpFarproc;
  205. lpFarproc=GetProcAddress(hLibrary,"rf_read");
  206. rf_read=( __int16 __stdcall(__cdecl*)(HANDLE icdev,unsigned char _Ard,unsigned char *_Data))lpFarproc;
  207. unsigned char rdata[16];
  208. int st;
  209. st=rf_read(icdev,4,rdata);
  210. if (st==0)
  211. {
  212. ListBox1->Items->Add("rf_read right");
  213. Edit1->Text=(char*)rdata;
  214. }
  215. else
  216. {
  217. ListBox1->Items->Add("rf_read error");
  218. AnsiString str;
  219. str=IntToStr(st);
  220. Edit1->Text=str;
  221. }
  222. }
  223. //---------------------------------------------------------------------------
  224. void __fastcall TForm1::Button10Click(TObject *Sender)
  225. {
  226. FARPROC lpFarproc;
  227. lpFarproc=GetProcAddress(hLibrary,"rf_changeb3");
  228. rf_changeb3=( __int16 __stdcall(__cdecl*)(HANDLE icdev,unsigned char _SecNr,unsigned char *_KeyA,unsigned char _B0,unsigned char _B1,unsigned char _B2,unsigned char _B3,unsigned char _Bk,unsigned char *_KeyB))lpFarproc;
  229. unsigned char keyA[6]={0xff,0xff,0xff,0xff,0xff,0xff};
  230. unsigned char keyB[6]={0xff,0xff,0xff,0xff,0xff,0xff};
  231. int st;
  232. st=rf_changeb3(icdev,1,keyA,0,0,0,1,0,keyB);
  233. if (st==0)
  234. {
  235. ListBox1->Items->Add("rf_changeb3 right");
  236. }
  237. else
  238. {
  239. ListBox1->Items->Add("rf_changeb3 error");
  240. AnsiString str;
  241. str=IntToStr(st);
  242. Edit1->Text=str;
  243. }
  244. }
  245. //---------------------------------------------------------------------------