-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام
ببخشید من این فایل شما را دانلود و اجرا کردم ولی هم فایل اجرایی که فرستادید و هم موقع اجرای برنامه از طریق سورس پیغام زیر داده میشه و برنامه دستگاه را نمیشناسه و برنامه اجرا نمیشه .
Class not registered,ClassID:{8A065704-BC54-421C-9026-FB97A3B03EC8}
ممنون میشم راهنماییم کنید .
-
نقل قول: نحوه استفاده از دستگاه RFT-200
آقا کسی نیست جواب منو بده ...
دو روز گذشته و هیچ کس جواب منو نداده ... :گریه: :گریه: :گریه:
-
1 ضمیمه
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام دوست عزیز
کلاس dll مربوط به برنامه نصب نشده لطفا قبل از استفاده از کد برنامه اونو نصب کنید.ضمیمه 63490
با تشکر
-
1 ضمیمه
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام
این کار را هم کردم ولی باز هم همون پیغام را نشون میده !!!!!!!
ضمیمه 63493
راه کار دیگه ای وجود داره ؟؟؟؟
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام
من درایور دستگاه rft200 رو نیاز دارم
اگر ممکن راهنمایی کنین
ممنون
-
نقل قول: نحوه استفاده از دستگاه RFT-200
با سلام خدمت دوستان عزيز. آقا من ميخوام با C# برنامه اي بنويسم كه بتونم با اين دستگاه كار كنم. اما متاسفانه DLL هاي ارائه شده براي زبان C++ بوده و جوابگو براي C# نيس. كسي هست بتونه كمك كنه ؟
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام.
چون خودم خيلي عذاب كشيدم تا اين دستگاه و دستگاه RFT-23x را با خود MF_API.dll و نه با كامپوننت راه بندازم، كلاسي رو آماده كردم تا دوستان ديگه هم استفاده كنن. اين كلاس رو خودم نوشتم و به راحتي مي تونيد از اون استفاده كنيد. نحوه استفاده از اون در توضيحات فايل اومده.
موفق باشين.
{
Author: Ahmad.daneshvar (romixery@gmail.com)
Feb-2012 Fractal Technologies® group
************************************************** ********
Release Info
************************************************** ********
RFID library for RFT-23x Reader Device - V1.0
Need to 'MF_API.dll' and other DLLs:
"CC3260.dll"
"CC3260MT.dll"
"EasyD12.dll"
Passed x32 and x64 Machine test on Windows 7.
************************************************** *********
Function List
************************************************** *********
function loadDll;
destructor freeDll;
function rfGetDLL_Ver;
function rfControlBuzzer;
function rfInitComm;
function rfControlLED;
function rfRequest;
function rfAnticoll;
************************************************** *********
Example and Usage
************************************************** *********
Usage and Example:
var
dev: TDevice;
begin
dev := TDevice.create;
dev.loadDLL('MF_API.dll');
dev.rfInitComm(pnUSB, 9600);
dev.rfControlBuzzer(0, 30);
dev.freeDll;
end
************************************************** *********}
unit Device;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Dialogs, vcl.Forms;
type
TPortName = (pnUSB, pnCOM1, pnCOM2, pnCOM3, pnCOM4, pnCOM5, pnCOM6, pnCOM7, pnCOM8);
TDevice = class
private
handle : THandle;
dllLoaded : Boolean;
function byteAsString(arr : array of Byte) : String;
function byteToString(arr : array of Byte) : String;
function hexToInt(hexNum : String) : Integer;
public
constructor Create;
function loadDll(dllName : PWideChar) : Boolean;
destructor freeDll;
function rfGetDLL_Ver (var rVer : String) : Integer;
function rfControlBuzzer (DeviceAddr : Integer; BeepTime : Integer) : Integer;
function rfInitComm (portname : TPortName; baud : LongInt) : Integer;
function rfControlLED (DeviceAddr : Integer; LED1 : Integer; LED2 : Integer) : Integer;
function rfRequest (DeviceAddr : Integer; mode : Integer; var cardType : String) : Integer;
function rfAnticoll (DeviceAddr : Integer; var serialNumber : String) : Integer;
end;
TDeviceUtil = class
private
const BEEP_TIME : Integer = 10;
const DELAY_TIME_BLANK : Integer = 100;
const DELAY_TIME_LED : Integer = 2000;
public
procedure _MODE_OK(dev : TDevice);
procedure _MODE_ERROR(dev : TDevice);
end;
implementation
{ TDevice }
procedure LongDelay(DelayMs : Cardinal);
var StopTime : Cardinal;
begin
StopTime := GetTickCount + DelayMs;
while (GetTickCount < StopTime) do
begin
Application.ProcessMessages;
Sleep(1);
end;
end;
function TDevice.byteAsString(arr: array of Byte): String;
var
ind: Integer;
val: String;
begin
for ind := 0 to length(arr) do
val := val + intToStr(arr[ind]);
result := val + #0;
end;
function TDevice.byteToString(arr: array of Byte): String;
var
ind: Integer;
val: String;
begin
for ind := 0 to length(arr) do
val := val + chr(arr[ind]);
result := val + #0;
end;
constructor TDevice.Create;
begin
end;
destructor TDevice.freeDll;
begin
FreeLibrary(handle);
dllLoaded := false;
end;
function TDevice.hexToInt(hexNum: String): Integer;
begin
result := strToInt('$' + hexNum);
end;
function TDevice.loadDll(dllName: PWideChar): Boolean;
begin
handle := LoadLibrary(dllName);
if handle >= 32 then
result := true
else
result := false;
dllLoaded := result;
end;
function TDevice.rfAnticoll(DeviceAddr: Integer;
var serialNumber: String): Integer;
var
MF_Anticoll_DLL : Function (DeviceAddr : Integer;
snr : array of byte) : Integer; stdcall;
ba : array [0..3] of Byte;
begin
if (not dllLoaded) then exit;
MF_Anticoll_DLL := GetProcAddress(handle, 'MF_Anticoll');
result := MF_Anticoll_DLL(DeviceAddr, ba);
serialNumber := byteAsString(ba);
end;
function TDevice.rfControlLED(DeviceAddr, LED1, LED2: Integer): Integer;
var
MF_ControlLED_DLL : Function (DeviceAddr : Integer; LED1 : Integer;
LED2 : Integer) : Integer; stdcall;
begin
if (not dllLoaded) then exit;
MF_ControlLED_DLL := GetProcAddress(handle, 'MF_ControlLED');
result := MF_ControlLED_DLL(DeviceAddr, LED1, LED2);
end;
function TDevice.rfControlBuzzer(DeviceAddr, BeepTime: Integer): Integer;
var
MF_Control_Buzzer_DLL : Function (DeviceAddr : Integer;
BeepTime : Integer) : Integer; stdcall;
begin
if (not dllLoaded) then exit;
MF_Control_Buzzer_DLL := GetProcAddress(handle, 'MF_ControlBuzzer');
result := MF_Control_Buzzer_DLL(DeviceAddr, BeepTime);
end;
function TDevice.rfGetDLL_Ver(var rVer: String): Integer;
var
MF_GetDLL_Ver_DLL : Function (rVer : array of byte) : Integer; stdcall;
ba : array [0..31] of Byte;
begin
if (not dllLoaded) then exit;
MF_GetDLL_Ver_DLL := GetProcAddress(handle, 'MF_GetDLL_Ver');
result := MF_GetDLL_Ver_DLL(ba);
rVer := byteToString(ba) + #0;
end;
function TDevice.rfInitComm(portname: TPortName; baud: Integer): Integer;
var
MF_InitComm_DLL : Function (portname : array of Byte; baud : Integer) : Integer; stdcall;
ba: array [0..3] of Byte;
begin
if (not dllLoaded) then exit;
MF_InitComm_DLL := GetProcAddress(handle, 'MF_InitComm');
case portName of
pnUSB: begin
ba[0] := ord('U'); ba[1] := ord('S'); ba[2] := ord('B'); ba[3] := ord('');
end;
pnCOM1: begin
ba[0] := ord('C'); ba[1] := ord('O'); ba[2] := ord('M'); ba[3] := ord('1');
end;
pnCOM2: begin
ba[0] := ord('C'); ba[1] := ord('O'); ba[2] := ord('M'); ba[3] := ord('2');
end;
pnCOM3: begin
ba[0] := ord('C'); ba[1] := ord('O'); ba[2] := ord('M'); ba[3] := ord('3');
end;
pnCOM4: begin
ba[0] := ord('C'); ba[1] := ord('O'); ba[2] := ord('M'); ba[3] := ord('4');
end;
pnCOM5: begin
ba[0] := ord('C'); ba[1] := ord('O'); ba[2] := ord('M'); ba[3] := ord('5');
end;
pnCOM6: begin
ba[0] := ord('C'); ba[1] := ord('O'); ba[2] := ord('M'); ba[3] := ord('6');
end;
pnCOM7: begin
ba[0] := ord('C'); ba[1] := ord('O'); ba[2] := ord('M'); ba[3] := ord('7');
end;
pnCOM8: begin
ba[0] := ord('C'); ba[1] := ord('O'); ba[2] := ord('M'); ba[3] := ord('8');
end;
end;
result := MF_InitComm_DLL(ba, baud);
end;
function TDevice.rfRequest(DeviceAddr, mode: Integer;
var cardType: String): Integer;
var
MF_Request_DLL : Function (DeviceAddr : Integer; mode : Integer;
CardType : array of byte) : Integer; stdcall;
ba: array [0..1] of Byte;
begin
if (not dllLoaded) then exit;
MF_Request_DLL := GetProcAddress(handle, 'MF_Request');
result := MF_Request_DLL(DeviceAddr, mode, ba);
cardType := byteAsString(ba);
end;
{ TDeviceUtil }
procedure TDeviceUtil._MODE_ERROR(dev : TDevice);
begin
dev.rfControlLED(0, 0, 1);
dev.rfControlBuzzer(0, BEEP_TIME);
LongDelay(DELAY_TIME_BLANK);
dev.rfControlBuzzer(0, BEEP_TIME);
LongDelay(DELAY_TIME_LED);
dev.rfControlLED(0, 0, 0);
end;
procedure TDeviceUtil._MODE_OK(dev: TDevice);
begin
dev.rfControlLED(0, 1, 0);
dev.rfControlBuzzer(0, BEEP_TIME);
LongDelay(DELAY_TIME_LED);
dev.rfControlLED(0, 0, 0);
end;
end.
-
نقل قول: نحوه استفاده از دستگاه RFT-200
من نیاز شدید به درایور این دستگاه در و
یندوز سون 64 بیت دارم هرچی گشتم پیدانکردم...لطفا کمک کنید
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام بر اساتید بنده هم می خوام با rft230 کار کنم منتها رو سیستمم (win7)نصب نمیشه چیکار کنم؟
-
نقل قول: نحوه استفاده از دستگاه RFT-200
-
نقل قول: نحوه استفاده از دستگاه RFT-200
دوست عزیز من این مشکله با نرم افزار Driver Esay حل کردم اون خودش یه دیوار بهم داد اگه میخوای یه میل بهم بده تا برات دیوارشو بفرستم
-
نقل قول: نحوه استفاده از دستگاه RFT-200
نقل قول:
نوشته شده توسط
دلفــي
من يه مثال دمو برات آپلود كردم ، موفق باشي ...
سلام دوست عزیز میشه سورس این برنامه رو برام بذاری یا حداقل بگی چجوری اطلاعات رو از کارت میخونه؟
-
نقل قول: نحوه استفاده از دستگاه RFT-200
با سلام
از دوستان کسی هست یک نمونه کد برای عملیات شناسایی کارت، خواندن و نوشتن بر روی کارت با دستگاه RFT-200 برای راهنمایی بزاره؟
تشکر
-
نقل قول: نحوه استفاده از دستگاه RFT-200
دوستانی که تجربه کار با این دستگاه را دارید، لطفا جواب دهید !!! :ناراحت:
تشکر
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام
اولاً اين دستگاه براي ويندوز 64 بيت درايور درست حسابي نداره. و بايد با پورت سريال بهش دستور بدين.
ولي اگه با USB و ويندوز 32 بيت استفاده ميكنيد، نبايد مشكلي داشته باشين. اين كلاس كاملاً روشنه. با اين حال اگه مشكلي دارين بگين من راهنماييتون كنم. در كامنتها هم من يه مثال زدم. اين برنامه رو تحت دلفي XE و ويندوز 7 نوشتم و به خوبي كار ميكنه.
قطعه كدي كه بالا گذاشتم رو در يك فايل Unit قرار بدين و با نام Device ذخيره كنيد. سپس اين يونيت رو در پروژتون use كنيد و ازش استفاده كنيد. كار سختي نيست. فقط توجه كنيد كه DLL هاي مربوطه رو در كنار برنامه قرار بدين يا اينكه آدرسشون رو درست در تابع loadDLL قرار بدين.
اينم مثال:
var
dev: TDevice;
begin
dev := TDevice.create;
dev.loadDLL('MF_API.dll');
dev.rfInitComm(pnUSB, 9600);
dev.rfControlBuzzer(0, 30);
dev.freeDll;
end
توجه كنيد كه قبلش اين Device رو در پروژتون Uses كرده باشين.
موفق باشين
-
2 ضمیمه
نقل قول: نحوه استفاده از دستگاه RFT-200
نقل قول:
نوشته شده توسط
romixery
سلام
اولاً اين دستگاه براي ويندوز 64 بيت درايور درست حسابي نداره. و بايد با پورت سريال بهش دستور بدين.
ولي اگه با USB و ويندوز 32 بيت استفاده ميكنيد، نبايد مشكلي داشته باشين. اين كلاس كاملاً روشنه. با اين حال اگه مشكلي دارين بگين من راهنماييتون كنم. در كامنتها هم من يه مثال زدم. اين برنامه رو تحت دلفي XE و ويندوز 7 نوشتم و به خوبي كار ميكنه.
قطعه كدي كه بالا گذاشتم رو در يك فايل Unit قرار بدين و با نام Device ذخيره كنيد. سپس اين يونيت رو در پروژتون use كنيد و ازش استفاده كنيد. كار سختي نيست. فقط توجه كنيد كه DLL هاي مربوطه رو در كنار برنامه قرار بدين يا اينكه آدرسشون رو درست در تابع loadDLL قرار بدين.
اينم مثال:
var
dev: TDevice;
begin
dev := TDevice.create;
dev.loadDLL('MF_API.dll');
dev.rfInitComm(pnUSB, 9600);
dev.rfControlBuzzer(0, 30);
dev.freeDll;
end
توجه كنيد كه قبلش اين Device رو در پروژتون Uses كرده باشين.
موفق باشين
با سلام
ممنون از راهنمایی شما
من با این کدی که گذاشتید مشکلی ندارم (حداقلش این که خطا نمیده :لبخندساده:)! اما از چه کدی متوجه بشم که موقع اجرا فایل Dll و تنظیمات "پورت و کنترل بوق" درست بوده ؟؟؟ و اگه نشناخت یه پیغامی به کاربر داده بشه !!!
و دوم این که
بعد از شناخت و ارتباط با دستگاه (به کمک کلاس شما و توابع موجود) بتونه سریال دستگاه رو بخونه - بوق رو به صدا در بیاره - هر دو LED رو روشن و خاموش کنه !
و با گذاشتن کارت جلوی دستگاه بتونه سریال کارت رو تشخیص بده و بریزه تو یه تکست باکس - یه بلاک از حافظه کارت رو بخونه - و عمل نوشتن رو بشه انجام داد.
همه این امکانات تو فایل ضمیمه (دمو خود تولید کننده دستگاه (فایل exe)) هستش - لطفا ببینید چطور عمل میکنن!!!
دومین فایل ضمیمه یه تست از نحوه استفاده از کلاس و فراخوانی همه توابع رو آماده کردم!(فایلهای dll رو بدلیل محدود بودن فایل آپلود شده در سایت نذاشتم - فک کنم تو پستای قبلی دوستان گذاشته باشن)
لطفا راهنمایی کنید که از چه پارامترهایی هنگام فراخوانی توابع استفاده کنم و نتیجه شو تو لیست باکس بریزم؟
دستگاه: RFT - 200
سیستم عامل: Win7 - 64bit
دلفی: XE2
پورت سریال(COM4) رو هم میشناسه !!!
ممنون جناب دانشور
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام
دوستان کسی می دونه چطور باید کد های key a و یا key b رو تغییر داد برای بالاتر رفتن امنیت اطلاعات
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام
ببينين تمام توابعي كه از DLL فراخواني ميشن، يك مقداري رو بر ميگردونن كه با توجه به مستندات توسعه براي دستگاه، و همچنين مقدار برگردانده شده، ميشه فهميد كه دستگاه اررور داده يا خير. متأسفانه من اين مستندات رو ندارم وگرنه براتون آپ ميكردم.
براي مثال از اين كد براي دريافتن اينكه دستگاه شناخته شده است يا خير يا اينكه DLL يافت شده يا نه استفاده كنيد:
function TreaderFrame.initDevice : boolean;
begin
device := TDevice.Create;
if (not device.loadDll('MF_API.dll')) then
begin
fShowMessage('خطا در برقراري ارتباط', mtError);
result := false;
exit;
end;
if (device.rfInitComm(pnUSB, 9600) = 22) then
begin
fShowMessage('دستگاه يافت نشد', mtError);
result := false;
exit;
end;
result := true;
end;
اما در مورد دوم، ببينيد براي كار با دستگاه بايد توابع ذيل رو به ترتيب صدا بزنين:
device.loadDll // for load DLL
device.rfInitComm(pnUSB, 9600) // For port and boand set
device.rfRequest(0 , 0, stringVarible) // for Address to access to device and check is tag ready for reading?
device.rfAnticoll(0, tagCode); // for read tag code and put that in "tagCode" argument
توجه كنيد كه هر بار بخواين يه تگ رو بخونيد نياز نيست DLL رو لود كنيد و initCommرو صدا بزنيد. كدهايي كه براي خواندن كد استفاده ميشن، rfRequest و rfAntiColl هست. يعني هر بار بخواين كد بخونيد از اين توابع استفاده كنيد. براي مثال، تابع زير رو من در يك تايمر قرار دادم تا مدام چك كنه كه آيا تگي وجود داره يا خير و اگه داره اون رو بخونه و فرم مربوطه رو ببنده:
procedure TreaderFrame.readerTimerTimer(Sender: TObject);
var ct : String;
begin
if (device.rfRequest(0, 0, ct) = 0) then
begin
device.rfAnticoll(0, tagCode);
readerTimer.Enabled := false;
deviceUtile._MODE_OK(device);
ModalResult := mrOk;
end;
end;
براي خاموش روشن كردن LED دستگاه از rfControlLED استفاده كنيد. براي مثال كد زير LED اول و دوم دستگاه را خاموش مي كند. و دومين خط دومين LED رو روشن ميكنه:
rfControlLED(0, 0, 0);
dev.rfControlLED(0, 0, 1);
در مورد صدا هم از rfControlBuzzer استفاده كنيد.
براي اينكه خودتون رو راحت كنيد، هر جا آرگومان deviceAddress بود، 0 بدين. همه چيز كاملاً روشنه ديگه.
موفق باشين.
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام
از راهنمایی خوبتون خیلی ممنونم!
اما فعلا جواب نگرفتم !!! :ناراحت:
آیا این کدهایی که در زیر من استفاده کردم ایرادی داره؟
ممنون میشم طوری راهنمایی کنید که نشون بده چطوری نتیجه هر تابع در یک شی تکست نشون داده بشه.
procedure TForm1.But_OpenPortClick(Sender: TObject);
var
ct,tagCode : String;
Device: TDevice;
DeviceUtile:TDeviceUtil;
begin
Device := TDevice.create;
Device.loadDLL('MF_API.dll');
Device.rfInitComm(pnCOM4, 9600);
Device.initDevice;
Device.rfControlBuzzer(0, 30);
Device.rfControlLED(0, 0, 0);
Device.rfRequest(0 , 0, ct);
Device.rfAnticoll(0, tagCode);
//Device.freeDll;
if (device.rfRequest(0, 0, ct) = 0) then
begin
Device.rfAnticoll(0, tagCode);
Timer1.Enabled := false;
DeviceUtile._MODE_OK(Device);
ModalResult := mrOk;
end;
end;
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام مجدد
انگار که اصلا دستگاه رو نمیشناسه !!! :ناراحت:
چون موقع تریس کردن تابع rfRequest پارامتراهایی که از Dll میخونه با وقتی که دستگاه اصلا به سیستم وصل نیست یکی هست و هیچ خروجی نداره
مثلا همین کد زیر رو لطفا تست کنید.
procedure TForm1.Timer1Timer(Sender: TObject);
var
ct,tagCode : String;
Dev100: TDevice;
DeviceUtile100:TDeviceUtil;
begin
Dev100 := TDevice.create;
Dev100.loadDLL('MF_API.dll');
Dev100.rfInitComm(pnCOM4, 9600);
Dev100.initDevice;
Dev100.rfControlBuzzer(0, 30);
Dev100.rfControlLED(0, 0, 0);
Dev100.rfRequest(0 , 0, ct);
Dev100.rfAnticoll(0, tagCode);
if (Dev100.rfRequest(0, 0, ct) = 0) then
begin
Dev100.rfAnticoll(0, tagCode);
Timer1.Enabled := false;
DeviceUtile100._MODE_OK(Dev100);
ModalResult := mrOk;
ListBox1.Items.Add('CardType: '+IntToStr(Dev100.rfRequest(0, 0, ct)));
ListBox1.Items.Add('SNCard: '+IntToStr(Dev100.rfAnticoll(0, tagCode)));
Dev100.freeDll;
end
else
ListBox1.Items.Add('No Card for read');
end;
-
نقل قول: نحوه استفاده از دستگاه RFT-200
نقل قول:
نوشته شده توسط
حسین خانی
Dev100.rfInitComm(pnCOM4, 9600);
Dev100.initDevice;
Dev100.rfControlBuzzer(0, 30);
بیشتر که بررسی کردم متوجه شدم تابع rfInitComm درست عمل نمیکنه و حتی خطا هم نمیده !!!
نمیدونم جناب دانشور آیا این تابع رو بدون مشکل اجرا میگیرید یا نه؟
اگه شما مشکلی ندارید به نظرتون مشکل کجاست؟
از پورت نیست به نظرتون؟؟؟
راستش اینطور که من متوجه شدم تابع rfInitComm وقتی که پورت رو نمیشناسه مقدار 34 رو برمیگردونه و اگر پورت موردنظر درست ست شده باشه مقدار صفر رو بر میگردونه !!!
با این کد میتونید مقدار برگشتی رو ببینید:
Edit1.Text := IntToStr(dev.rfInitComm(pnCOM8, 9600));
ولی تو سیستم من پورت Com4 رو شناخته و موندم که کجاش گیره !!!
توی 3 تا سیستم چک کردم (2 تا با ویندوز 7 و 64 بیت + 1 ویندوز xp )
و اگه احتمالا از درایور باشه؟ آیا درایور مناسبی دارید تا به نتیجه برسیم؟
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام
ببينيد دوست عزيز، كدهايي كه گذاشتين مشكلي نداره. و مطمعناً دستگاه رو سيستم شما نشناخته يا درست نصب نشده. براي اينكه مطمئن بشين، از MFDemo استفاده كنيد و در تب Mifire همين توابع رو به ترتيب صدا بزنيد «بر روي كليدهاي مربوطه كليك كنيد». اگر اررور نداد يعني شناخته و در غير اين صورت، مشكل نه از دلفي هست و نه از كدهاي شما. مشكل از دستگاه و سيستمتونه.
در ضمن من اين كلاسي رو كه نوشتم رو با USB تست كردم. اما مطمئناً با پورت COM هم نبايد مشكلي داشته باشه.
آرگومان 2 يا 3 تابع rfControlLEd رو به 1 كنيد كه حداقل يه چراغ روشن بشه. چون وقتي همه چراغها خاموشن، دوباره خاموش كردن اونها فايده اي نداره.
-
نقل قول: نحوه استفاده از دستگاه RFT-200
نقل قول:
نوشته شده توسط
romixery
براي اينكه مطمئن بشين، از MFDemo استفاده كنيد و در تب Mifire همين توابع رو به ترتيب صدا بزنيد «بر روي كليدهاي مربوطه كليك كنيد». اگر اررور نداد يعني شناخته و در غير اين صورت، مشكل نه از دلفي هست و نه از كدهاي شما. مشكل از دستگاه و سيستمتونه.
در ضمن من اين كلاسي رو كه نوشتم رو با USB تست كردم. اما مطمئناً با پورت COM هم نبايد مشكلي داشته باشه.
سلام
با MFDemo تست که میکنم درسته درسته (با پورت COM4: هم میشناسه دستگاه رو - بوق میزنه - چراغا روشن و خاموش میشن و سریال کارت رو هم میخونه)
اما با همین کدهایی که شما هم تائید میکنید خروجی نمیگیرم !!! :افسرده:
با این شرایط به نظر هم پورت درسته و هم دستگاه و کارت سالم هستند.
اگه فک میکنید از درایور هست لطفا درایوری که خودتون استفاده میکنید رو آپلود کنید
ممنون از لطفتون
-
نقل قول: نحوه استفاده از دستگاه RFT-200
نقل قول:
نوشته شده توسط
romixery
if (device.rfInitComm(pnUSB, 9600) = 22) then
begin
fShowMessage('دستگاه يافت نشد', mtError);
result := false;
exit;
end;
result := true;
یه نکته دیگه این که شما واسه کنترل تشخیص دستگاه شرط مربوطه رو 22 قرار دادید !!!
چرا 22 ؟؟؟
آیا این عدد مقدار بازگشتی پورت pnUSB هست؟ و آیا همه جا ثابته؟
تریس که میکنم:
پورتهای pnCom1 تا pnCom8 رو 34 برمیگردونه (چه دستگاه به سیستم وصل باشه و یا نباشه)
ولی پورت pnUSB مقدار صفر بر میگردونه (چه دستگاه به سیستم وصل باشه و یا نباشه)!
-
1 ضمیمه
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام مجدد
درایوری که من دارم و ازش استفاده میکنم رو ضمیمه میکنم(اما جواب نمیگیرم ازش)
دوستان اگه درایور مناسبی دارند لطفا به منم بدن
با تشکر
-
نقل قول: نحوه استفاده از دستگاه RFT-200
این توابع رو هم نوشتم ولی مثل تابع شما، 34 رو برمیگردونه !!! :متفکر:
Function MF_InitComm (portname : String; baud : LONG) : LONG; external 'MF_API.dll' ;
Function MF_ControlBuzzer (DeviceAddr : Integer; var BeepTime : SHORT) : Integer; external 'MF_API.dll' ;
procedure TForm1.But_buzzClick(Sender: TObject);
var
a : SHORT;
begin
Edit2.Text := IntToStr(MF_InitComm('COM4', 9600));
a := 30;
MF_ControlBuzzer(0, a);
end;
-
نقل قول: نحوه استفاده از دستگاه RFT-200
با سلام
سایر دوستان اگر تجربه ای تو این زمینه دارید! لطفا تو این بحث شرکت کنید
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام به همگی
دوستان میدونم تاریخ این تایپیک خیلی وقته گذشته و مطالبش عالی بود . من به تازگی از این مدل دستگاهها خریدم ولی نیاز خیلی زیادی به کامپوننت تحت دات نتش دارم . میخوام از این دستگاه در یک سایت که با زبان asp.net است استفاده کنم .
اگه امکانش هست کمکم کنید
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام من دستگاه RFT-200 دارم و USB هست . چطوری میتونم در Visual Basic 6.0 فراخوانی کنم ممنون میشوم اگر کمک کنید ...
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام کسی هست راهنمایی کنه. که از نوع USB داخل برنامه نویسی Visual Basic چطوری میشه فراخوانی کرد. ممنون
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام دوستان
من توی ویندوز xp و با پورت usb و با زبان C# پروژم بدون هیچ مشکلی کار میکنه
اما جدیدا نیاز به کار کردن توی ویندوز 7 دارم
تو ویندوز 7 حتی درایور هم نصب نمیشه
مشه راهنمایی کنید
ایمیل من nimasoftco@gmail.com
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام
من با ویندوز 7 و برای C# مشکل دارم
درایور که نصب نمیشه
کسی میتونه راهنمایی کنه و یه مثال برام بفرسته
متشکرم
nimasoftco@gmail.com
-
نقل قول: نحوه استفاده از دستگاه RFT-200
باسلام
این فایلهای EasyD12 و MF_API را ممکنه برام بفرستید
من نتونستم بدست بیارم
ممنون
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام. ممنون میشم اگر منا بیشتر راهنمایی کنید. مشکل من نحوه نوشتن یا خوندن از کارته. ممنونم اگه زود جواب بدید.
-
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام. من نیاز به درایور این دستگاه برای ویندوز xp دارم. RTF--200
از کجا میتونم دانلود کنم؟ تو سایت سازندش نتونستم پیدا کنم
-
نقل قول: نحوه استفاده از دستگاه RFT-200
نقل قول:
نوشته شده توسط
aliasghar
من مشکل را حل کردم
اگر دوست داشین Email بدین تا راهنمای استفاده را برایتون ارسال کنم
دوست عزیز راه حلتون رو در صورت صلاحدید در این تاپیک برای استفاده دوستان بگذارید
با تشکر
-
1 ضمیمه
نقل قول: نحوه استفاده از دستگاه RFT-200
سلام به همه
من از اول این بحث نخوندم ببینم چی شده ولی منم یه زمانی سر این مسئله خیلی اذیت شدم یه نمونه سورس میذارم
یادمه مشکل در ارتباط با دی ال ال ها سر متغیر ها بود.
من دی ال ال ها رو هم گذاشتم یه موقع به مشکل نخورید البته دو تای اصلی رو ، در این نمونه سورس می تونید مقدار اعتبار کارت رو کاهش و یا افزایش بدین
-
نقل قول: نحوه استفاده از دستگاه RFT-200
یک پست، یک کار خوب!
آفرین به شما که کدت رو توزیع کردی.
-
نقل قول: نحوه استفاده از دستگاه RFT-200
نقل قول:
نوشته شده توسط
mostafa5
سلام به همه
من از اول این بحث نخوندم ببینم چی شده ولی منم یه زمانی سر این مسئله خیلی اذیت شدم یه نمونه سورس میذارم
یادمه مشکل در ارتباط با دی ال ال ها سر متغیر ها بود.
من دی ال ال ها رو هم گذاشتم یه موقع به مشکل نخورید البته دو تای اصلی رو ، در این نمونه سورس می تونید مقدار اعتبار کارت رو کاهش و یا افزایش بدین
دوست عزیز
خیلی متشکر از اینکه تجربه خودتان را با دیگران به اشتراک گذاشتید.
اما من برنامه شما را با اشکال کامپوننت های .....s باز میکنم.
این کامپوننت از چه مجموعه ای است.
-
نقل قول: نحوه استفاده از دستگاه RFT-200
من دنبال درایورش میگشتم این پست قدیمی رو دیدم
خواستم بگم بدون DLL هم میشه
من خودم مستقیم کار میکنم باهاش