الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البطاقة الذكيه والاكسس

مغلقمُجاب
بدأه الفيلسوف111 في 21 يناير 2013 · 4 رد · 1,783 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السادة الاعضاء السلام عليكم ورحمة الله

هل يمكن للاكسس قراءة البطاقة الذكية باستخدام اكواد او اداة ؟ وكيف هل يوجد مثال او رابط يمكن الاستفادة منه ؟ شاكر لكم تعاونكم وعطائكم البناء

تحياتي للجميع

طارق العيد

#2

قراءة البطاقة الذكية من الاكسس مباشرة يعبتر امر هام جدا في تسجيل البيانات الاساسية ، الا ان هذا الموضوع لم اجد له اثر في المنتديات العربية والاجنبية الى حد هذه اللحظة ، فمن لديه اي معلومه فاليفيدنا وله اجره عند الله ان شاء الله

طارق العيد

#3 أفضل إجابة

اخي الفاضل : طارق العيد

 

السلام عليكم ورحمة الله وبركاته

 

كما تعلم ان اي جهاز مخصص  لقراءء البيانات الأساسية المدخلة فيه او المدخلة عن طريقه فإنه يحتاج الى نفس البرنامج الخاص به فعلى سبيل المثال لا الحصر اجهزة البصمة والبرامج الخاصة بها وهذا الحال ينطبق ايضا على اجهزة البطاقات الذكية فليس كل جهاز لديه القدرة على قراءة كل انواع البطاقات الذكية لأنها تختلف بإختلاف الجهاز الذي برمج لها خصيصا .

 

دعنا نعرض بعض الأمثلة والبرامج الخاصة بها :

1. بطاقات الصراف الآلي 

هذه البطاقات كما تعلم انها لا تعمل إلا على اجهزة الـ ATM

 

2. بطاقات الحضور والإنصراف 

هذه البطاقات تم برمجتها وادخال البيانات بها على اجهزة مخصصه لها 

 

وهناك العديد من البطاقات الذكية المخصصة لأشياء امنيه مثل الخزائن او ابواب المكاتب والقائمة تطول .

 

الآن لو انتقلنا الى المواقع البرمجية ومواقع الشركات التي تتحدث عن البطاقات الذكية والبرامج الخاصة سنجد التالي :

 

 

Smart Card Resource Manager API
 

Windows Vista Smart Card Infrastructure
 
 
 

http://www.didya.com/products.asp?id=1

 

 

 

Q : Need some information. I have a ms access database for my clients and we would like to burn smart cards for each of my clients with their particular info. Can the smart card development ac kit take ms access database as an input file and with limited instructions allow us to produce ouput that we can burn into a smart card, please advise, I am not fammiliar with smart card programming.
 
A : The smart card development kit does not contain an out of the box solution as you listed. It does require some programming experience. The solution you list requires a program to read the data from your MS Access DB (You can use VBA, VB, etc. for your programming language) and then format that data for storage on the card. Our kit provides only the tools and sample code that show you how to read and write to the smart card and it does not have any examples on how to read from an Access database. You will need to consider quite a few factors before writing your application including how much memory your smart card will need to store your customer information and how you would like to store that data on the card, will you encrypt the data on the smart card, etc.

 

 

 

 

A Smart Card Framework for .NET

 

 

How to access SmartCards simply and effectively
 
 
 
SCardX
 
البرامج مفتوحة المصدر بالأكواد البرمجية ستجدها هنا
 
post-15367-0-51489000-1361734336_thumb.j
 
post-15367-0-05647400-1361734415_thumb.g
 
 
كود فيجول بيسك 6  موجود في النسخة المفتوحة المصدر للبرنامج من ضمن المجموعة الكاملة في اسفل المشاركة .
 

Dim strNewLine As String
    Dim strNewTab As String
    
    Dim ss As String
    Dim s As String
    Dim bb As Boolean
    Dim ii As Integer
    
    Dim Proto As TxProtocol
    Dim Sharing As TxSharingMode
    Dim Closing As TxCardClosingMode
    Dim CardInit As TxCardInitializationMode
    Dim LogMode As TxEventsLoggingMode
        
    Dim Locked As Boolean
    Dim Connected As Boolean
    Dim CardReady As Boolean
    
    Dim ReadersList() As String
    Dim ReaderName
    Dim InfoLines() As String
    Dim InfoLine
    
    Dim VersionMajor As Integer
    Dim VersionMinor As Integer
    Dim VersionStr As String
   
Private Sub EnableCardReadyControls()
CardReady = SCardX_Easy.IsCardReady(RList.Text)
 
CommandRInfo.Enabled = Connected And CardReady And (Not Locked)
CommandCInfo.Enabled = Connected And CardReady And (Not Locked)
CommandATR.Enabled = Connected And CardReady And (Not Locked)
CommandReopen.Enabled = Connected And CardReady And (Not Locked)
CommandAPDU.Enabled = Connected And CardReady And (Not Locked)
CommandDATA.Enabled = Connected And CardReady And (Not Locked)
 
CommandOpenReader.Enabled = Connected And (Not CardReady)
CommandCloseReader.Enabled = Connected And CardReady And (Not Locked)
CommandReconnect.Enabled = Connected And CardReady And (Not Locked)
End Sub
 
Private Sub AddCommand(CommTarget As String, ComStr As String)
EventsList.AddItem "> " & ComStr & strNewTab & CommTarget
EventsList.Selected(EventsList.ListCount - 1) = True
End Sub
 
Private Sub AddLine(LineStr As String)
EventsList.AddItem "... " & strNewTab & LineStr
EventsList.Selected(EventsList.ListCount - 1) = True
End Sub
 
Private Sub AddEvent(EventSource As String, EventStr As String)
EventsList.AddItem "> " & EventStr & " :: " & EventSource
EventsList.Selected(EventsList.ListCount - 1) = True
End Sub
 
Private Sub MakeReadersList(ReadersNames As String)
RList.Clear
ReadersList = Split(ReadersNames, strNewLine, -1, 1)
ii = 0
For Each ReaderName In ReadersList
    ii = ii + 1
    If ReaderName <> "" Then
        RList.AddItem ReaderName
        End If
    Next
If (RList.ListCount > 0) Then RList.ListIndex = 0
EnableCardReadyControls
End Sub
 
Private Sub EnableControls()
Connected = (SCardX_Easy.ConnectionState = stServiceConnected)
RList.Enabled = Connected
 
CommandConnect.Enabled = Not Connected And (Not Locked)
CommandDisconnect.Enabled = Connected And (Not Locked)
CommandRefresh.Enabled = Connected And (Not Locked)
 
EnableCardReadyControls
End Sub
 
Private Sub ShowControls()
If (SCardX_Easy.VisibleToolBar) Then Check1.Value = Checked Else: Check1.Value = Unchecked
If (SCardX_Easy.VisibleStatusBar) Then Check2.Value = Checked Else: Check2.Value = Unchecked
If (SCardX_Easy.VisibleEventsHistory) Then Check4.Value = Checked Else: Check4.Value = Unchecked
If (SCardX_Easy.EventsHistoryEnabled) Then Check3.Value = Checked Else: Check3.Value = Unchecked
If (SCardX_Easy.SeparateReceivedBytes) Then Check9.Value = Checked Else: Check9.Value = Unchecked
If (SCardX_Easy.VisibleTrayIcon) Then Check10.Value = Checked Else: Check10.Value = Unchecked
If (SCardX_Easy.EventsLogging = xLog_AllEvents) Then Check8.Value = Checked Else: Check8.Value = Unchecked
End Sub
 
Private Sub Check1_Click()
SCardX_Easy.VisibleToolBar = (Check1.Value = Checked)
ShowControls
End Sub
 
Private Sub Check10_Click()
SCardX_Easy.VisibleTrayIcon = (Check10.Value = Checked)
ShowControls
End Sub
 
Private Sub Check2_Click()
SCardX_Easy.VisibleStatusBar = (Check2.Value = Checked)
ShowControls
End Sub
 
Private Sub Check3_Click()
SCardX_Easy.EventsHistoryEnabled = (Check3.Value = Checked)
ShowControls
End Sub
 
Private Sub Check4_Click()
SCardX_Easy.VisibleEventsHistory = (Check4.Value = Checked)
ShowControls
End Sub
 
Private Sub Check8_Click()
If (Check8.Value = Checked) Then LogMode = xLog_AllEvents Else LogMode = xLog_MostUsefulEvents
SCardX_Easy.EventsLogging = LogMode
ShowControls
End Sub
 
Private Sub Check9_Click()
SCardX_Easy.SeparateReceivedBytes = (Check9.Value = Checked)
ShowControls
End Sub
 
Private Sub Command1_Click()
SCardX_Easy.TrayIconMenuCreate (TryIconMenuItems.Text)
End Sub
 
Private Sub Command11_Click()
bb = (AutoOpenCheck.Value = Checked)
Proto = ProtoCombo.ListIndex
Sharing = SharingCombo.ListIndex
Closing = ClosingCombo.ListIndex
SCardX_Easy.SetPref_PCSC_OnCardDetect bb, Proto, Sharing, Closing
End Sub
 
Private Sub Command2_Click()
bb = SCardX_Easy.TrayIconMenuItemSetChecked(ItemID.Text, True)
End Sub
 
Private Sub Command3_Click()
bb = SCardX_Easy.TrayIconMenuItemSetChecked(ItemID.Text, False)
End Sub
 
Private Sub Command4_Click()
bb = SCardX_Easy.TrayIconMenuItemSetEnabled(ItemID.Text, True)
End Sub
 
Private Sub Command5_Click()
bb = SCardX_Easy.TrayIconMenuItemSetEnabled(ItemID.Text, False)
End Sub
 
Private Sub Command6_Click()
bb = SCardX_Easy.TrayIconMenuItemSetDefault(ItemID.Text, True)
End Sub
 
Private Sub Command7_Click()
bb = SCardX_Easy.TrayIconMenuItemSetDefault(ItemID.Text, False)
End Sub
 
Private Sub Command8_Click()
ss = SCardX_Easy.DES_DecryptString(KeyHEX.Text, DecrText.Text)
AddCommand "", "DES Decrypt String"
AddLine "Key HEX  : " & KeyHEX
AddLine "Encrypted data  : '" & DecrText.Text & "'"
AddLine "Decrypted data  : '" & ss & "'"
End Sub
 
Private Sub Command9_Click()
ss = SCardX_Easy.DES_EncryptString(KeyHEX.Text, EncrText.Text)
AddCommand "", "DES Encrypt String"
AddLine "Key HEX  : " & KeyHEX
AddLine "Text for encrypt  : '" & EncrText.Text & "'"
AddLine "Encrypted data    : " & ss
End Sub
 
Private Sub CommandAPDU_Click()
SW1SW2.Text = ""
DataOut.Text = ""
sss = SCardX_Easy.SendCardAPDU(RList.Text, Cla.Text, Ins.Text, P1_1.Text, P2_1.Text, P3_1.Text, Le_1.Text, DataIn.Text, s, ss)
SW1SW2.Text = s
DataOut.Text = ss
End Sub
 
Private Sub CommandATR_Click()
AddCommand "", "Get Card ATR"
ss = SCardX_Easy.GetCardATR(RList.Text)
EventsList.AddItem ss
EventsList.Selected(EventsList.ListCount - 1) = True
End Sub
 
Private Sub CommandCInfo_Click()
AddCommand "", "Get Card Info"
If (Check6.Value = Checked) Then ss = SCardX_Easy.GetCardInfoFmt(RList.Text) Else ss = SCardX_Easy.GetCardInfo(RList.Text)
InfoLines = Split(ss, strNewLine, -1, 1)
ii = 0
For Each InfoLine In InfoLines
    ii = ii + 1
    If InfoLine <> "" Then
        s = InfoLine
        EventsList.AddItem s
        End If
    Next
EventsList.Selected(EventsList.ListCount - 1) = True
 
End Sub
 
Private Sub CommandCloseReader_Click()
SCardX_Easy.CloseReader (RList.Text)
End Sub
 
Private Sub CommandConnect_Click()
SCardX_Easy.SmartCardService = srv_MS_PCSC_SCard_Service
SCardX_Easy.ConnectionState = stServiceConnected
End Sub
 
Private Sub CommandDATA_Click()
ReceivedBuffer.Text = ""
s = SCardX_Easy.SendCardDATA(RList.Text, SendBuffer.Text)
ReceivedBuffer.Text = s
End Sub
 
Private Sub CommandDisconnect_Click()
SCardX_Easy.ConnectionState = stServiceNotConnected
SCardX_Easy.SmartCardService = srv_Not_Defined
End Sub
Private Sub CommandErrorLookUp_Click()
AddCommand TextELookUp.Text, "ErrorLookUp"
ss = SCardX_Easy.LookUpError(TextELookUp.Text)
EventsList.AddItem ss
EventsList.Selected(EventsList.ListCount - 1) = True
End Sub
 
Private Sub CommandOpenReader_Click()
SCardX_Easy.OpenReader (RList.Text)
End Sub
 
Private Sub CommandReconnect_Click()
Proto = ComboReconnectProto.ListIndex + 1
Sharing = ComboReconnectShare.ListIndex
CardInit = ComboReconnectInit.ListIndex
SCardX_Easy.ReconnectReader RList.Text, Proto, Sharing, CardInit
End Sub
 
Private Sub CommandRefresh_Click()
MakeReadersList (SCardX_Easy.GetReadersList)
End Sub
 
Private Sub CommandReopen_Click()
SCardX_Easy.ReopenReader (RList.Text)
End Sub
 
Private Sub CommandRInfo_Click()
AddCommand "", "Get Reader Info"
If (Check5.Value = Checked) Then ss = SCardX_Easy.GetReaderInfoFmt(RList.Text) Else ss = SCardX_Easy.GetReaderInfo(RList.Text)
InfoLines = Split(ss, strNewLine, -1, 1)
ii = 0
For Each InfoLine In InfoLines
    ii = ii + 1
    If InfoLine <> "" Then
        s = InfoLine
        EventsList.AddItem s
        End If
    Next
EventsList.Selected(EventsList.ListCount - 1) = True
End Sub
 
Private Sub CommandStateLookUp_Click()
AddCommand TextSLookUp.Text, "StateLookUp"
ss = SCardX_Easy.LookUpReaderState(TextSLookUp.Text)
InfoLines = Split(ss, strNewLine, -1, 1)
ii = 0
For Each InfoLine In InfoLines
    ii = ii + 1
    If InfoLine <> "" Then
        s = InfoLine
        EventsList.AddItem s
        End If
    Next
EventsList.Selected(EventsList.ListCount - 1) = True
End Sub
 
Private Sub Form_Load()
strNewLine = Chr(13) & Chr(10)
strNewTab = Chr(9)
     
Locked = False
Connected = False
CardReady = False
    
ProtoCombo.Clear
ProtoCombo.AddItem "Autodetect"
ProtoCombo.AddItem "T0"
ProtoCombo.AddItem "T1"
ProtoCombo.AddItem "RAW"
ProtoCombo.AddItem "Undefined"
ProtoCombo.Text = "Autodetect"
    
SharingCombo.Clear
SharingCombo.AddItem "Share Reader"
SharingCombo.AddItem "Exclusive Use"
SharingCombo.AddItem "Direct Reader Control"
SharingCombo.Text = "Share Reader"
    
 
ClosingCombo.Clear
ClosingCombo.AddItem "Leave Card"
ClosingCombo.AddItem "Reset Card"
ClosingCombo.AddItem "Unpower Card"
ClosingCombo.AddItem "Eject Card"
ClosingCombo.Text = "Reset Card"
  
  
ComboReconnectProto.Clear
ComboReconnectProto.AddItem "T0"
ComboReconnectProto.AddItem "T1"
ComboReconnectProto.ListIndex = 0
  
ComboReconnectShare.Clear
ComboReconnectShare.AddItem "Share Reader"
ComboReconnectShare.AddItem "Exclusive Use"
ComboReconnectShare.ListIndex = 0
  
ComboReconnectInit.Clear
ComboReconnectInit.AddItem "Leave Card"
ComboReconnectInit.AddItem "Reset Card  ( Warm Reset )"
ComboReconnectInit.AddItem "Unpower Card  ( Cold Reset )"
ComboReconnectInit.ListIndex = 1
 
ii = 0
EventsList.Clear
 
SCardX_Easy.ActivePage = apStates
SCardX_Easy.VisibleStatusBar = True
SCardX_Easy.VisibleToolBar = False
SCardX_Easy.VisibleEventsHistory = True
 
VersionMajor = SCardX_Easy.VersionMajor
VersionMinor = SCardX_Easy.VersionMinor
Label1.Caption = SCardX_Easy.Version
 
SCardX_Easy.SmartCardService = srv_MS_PCSC_SCard_Service
SCardX_Easy.ConnectionState = stServiceConnected
ShowControls
EnableControls
 
TryIconMenuItems.Text = "ID_1=TryIcon Menu Item 1" & strNewLine & "----" & strNewLine & "ID_2=TryIcon Menu Item 2" & strNewLine & "ID_3=TryIcon Menu Item 3"
SCardX_Easy.TrayIconMenuCreate (TryIconMenuItems.Text)
bb = SCardX_Easy.TrayIconMenuItemSetDefault("ID_1", True)
bb = SCardX_Easy.TrayIconMenuItemSetChecked("ID_2", True)
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
SCardX_Easy.Finalize
End Sub
 
Private Sub RList_Click()
CardReady = SCardX_Easy.IsCardReady(RList.Text)
EnableCardReadyControls
End Sub
 
Private Sub SCardX_Easy_OnCardDetected(ReaderName As String)
AddEvent ReaderName, "OnCardDetected"
EnableCardReadyControls
End Sub
 
Private Sub SCardX_Easy_OnCardInvalid(ReaderName As String)
AddEvent ReaderName, "OnCardInvalid"
EnableCardReadyControls
End Sub
 
Private Sub SCardX_Easy_OnCardReady(ReaderName As String, ATR As String, ProtocolValue As Long, Protocol As String)
AddEvent ReaderName, "OnCardReady"
AddLine "ATR     " & " :: " & ATR
AddLine "Protocol" & " :: " & Protocol
EnableCardReadyControls
End Sub
 
Private Sub SCardX_Easy_OnCardWait(ReaderName As String)
AddEvent ReaderName, "OnCardWait"
EnableCardReadyControls
End Sub
 
Private Sub SCardX_Easy_OnConnected(Service As Long)
EnableControls
End Sub
 
Private Sub SCardX_Easy_OnDataSent(ReaderName As String, SentDataBuffer As String, ReceivedDataBuffer As String)
AddEvent ReaderName, "OnDataSent"
AddLine "Sent Data     :: " & SentDataBuffer
AddLine "Received Data :: " & ReceivedDataBuffer
End Sub
 
Private Sub SCardX_Easy_OnDisconnected()
EnableControls
End Sub
 
Private Sub SCardX_Easy_OnERROR(ErrorSource As String, ErrorCode As Long, ErrorString As String)
AddEvent ErrorSource, "### ERROR"
AddLine "Error Code    :: " & ErrorCode
AddLine "Error String  :: " & ErrorString
End Sub
 
Private Sub SCardX_Easy_OnHistoryEvent(EventID As Long, EventSource As String, EventBody As String, EventValue As String, EventTime As String)
'AddEvent "", "OnHistoryEvent"
'AddLine "ID     :: " & EventID
'AddLine "Event  :: " & EventBody
'AddLine "Value  :: " & EventValue
'AddLine "Source :: " & EventSource
'AddLine "Time   :: " & EventTime
End Sub
 
Private Sub SCardX_Easy_OnLock(Message As String)
Locked = True
EnableControls
End Sub
 
Private Sub SCardX_Easy_OnReaderAdded(ReaderName As String)
AddEvent ReaderName, "OnReaderAdded"
End Sub
 
Private Sub SCardX_Easy_OnReaderClosed(ReaderName As String)
AddEvent ReaderName, "OnReaderClosed"
EnableCardReadyControls
End Sub
 
Private Sub SCardX_Easy_OnReaderOpened(ReaderName As String)
AddEvent ReaderName, "OnReaderOpened"
EnableCardReadyControls
End Sub
 
Private Sub SCardX_Easy_OnReaderRemoved(ReaderName As String)
AddEvent ReaderName, "OnReaderRemoved"
End Sub
 
Private Sub SCardX_Easy_OnReadersList(ReadersList As String)
MakeReadersList (ReadersList)
End Sub
 
Private Sub SCardX_Easy_OnReaderStateChanged(ReaderName As String, ReaderState As Long, ReaderStateHex As String, ReaderStateLookup As String)
If (Check7.Value = Checked) Then
    AddEvent ReaderName, "OnReaderStateChanged"
    ss = ReaderStateLookup
    InfoLines = Split(ss, strNewLine, -1, 1)
    ii = 0
    For Each InfoLine In InfoLines
        ii = ii + 1
        If InfoLine <> "" Then
            s = InfoLine
            AddLine s
            End If
        Next
    End If
End Sub
 
Private Sub SCardX_Easy_OnTrayIconDblClick()
AddEvent "", "OnTrayIconDblClick"
End Sub
 
Private Sub SCardX_Easy_OnTrayIconMenuItem(ItemID As String, IsChecked As Boolean, IsEnabled As Boolean, IsDefault As Boolean, Caption As String)
AddEvent ItemID, "OnTrayIconMenuItem"
AddLine "Caption :: " & Caption
AddLine "Checked :: " & IsChecked
AddLine "Enabled :: " & IsEnabled
AddLine "Default :: " & IsDefault
 
bb = Not IsChecked
If (ItemID = "ID_2") Then b = SCardX_Easy.TrayIconMenuItemSetChecked("ID_2", bb)
End Sub
 
Private Sub SCardX_Easy_OnUnlock()
Locked = False
EnableControls
End Sub
 
 
 
المجموعة الكاملة للبرامج بجميع لغات البرمجه
 
اذا تمت الإجابه على السؤال فلا تنسى الضغط على ( أفضل إجابة )
 
 
ملاحظة للعلم والتنبيه  : لست مسئولة عن عمل اي برامج لمثل هذا النوع من الأجهزه فجميع البرامج بجميع اللغات موجوده في المجموعة الكاملة ان اردت ان تقوم بعملها او التطبيق عليها فهذا شيء عائد لك وحدك ولا علاقة لي به ابدا .
 
 
 
بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 25 فبراير 2013 في 08:21

2
#4

مشكورة أختي الفاضلة على هذا الشرح الجميل

عَنْ عَائِشَةَ ر ضي الله عنها قَالَتْ: سَمِعْتُ النَّبِيَ يَقُولُ: «الأَرْوَاحُ جُنُودٌ مُجَنَّدَةٌ؛ فَمَا تَعَارَفَ مِنْهَا ائْتَلَفَ، وَمَا تَنَاكَرَ مِنْهَا اخْتَلَفَ»

#5

الاستاذه الفاضلة زهرة كل الشكر والتقدير على كل من تتفضلين به من الشرح المفيد والوافي ، وعلى كل ما تبذلينه من جهد في نشر العلم والمعرفة ، ونقدر لك هذا ولا ننساه ، ولا نملك لك الا الشكر والثناء والدعاء لك بالخير على هذا العطاء دمتي في حفظ الله ورعايته

طارق العيد

هذا الموضوع مغلق.

مواضيع مشابهة