<p id="z1hj3"></p>

    <form id="z1hj3"><nobr id="z1hj3"></nobr></form>

      <form id="z1hj3"></form>

      <form id="z1hj3"><nobr id="z1hj3"></nobr></form>
      <form id="z1hj3"></form>

                  您現在的位置:首頁>>資料下載>>二次開發工具>> 2501-2502-2508-2801動態庫標準版
                  2501-2502-2508-2801動態庫標準版
                  2501_2502動態庫標準版

                   

                  一、    動態庫概述

                  1、   采用RS485通訊方式。

                  2、   通訊波特率為19200bps

                  3、   此動態庫可自適應簡繁體操作系統。

                  4、   此動態庫要與文件RM.txt聯用。

                  5、   此動態庫修改了GatherSendCardData函數,使該函數的輸出文件中存放的物理卡號以十進制顯示,并且姓名也以漢字顯示出來。

                  6、   修改了在Delphui中使用SetClock函數無法傳遞數組參數的問題,特增加了一個SetClockStr函數,用于設置響鈴點。

                  7、   修改了在采集打卡數據時及發卡數據時,當選中了物理卡號以十進制輸出選項后,有些較大的物理卡號會輸出為負數的問題。

                  8、   此動態庫在運行時,要有“MSWINSCK.OCX”控件的支持,所以在使用時,請將些控件復制到Windows“System32”文件夾下,并注冊。

                  9、   五個屬性說明:

                                           i.              Ver String型,只讀屬性,表示本動態庫的版本號,此屬性在以前的動態庫中就存在。當前的值為:"V7.3  (CopyRight: 2004-05 2007-08)" ,在引用時,只要判斷前四個字符是“V7.3”就可確認是新版本。

                                          ii.              ModeInt型,可讀可寫,為0,表示串口通訊;為1,表示TCP通訊

                                        iii.              IPString型,可讀可寫,考勤機IP地址;

                                         iv.              TcpPortLong型,可讀可寫,考勤機進行TCP連接時的端口號,一般是1001

                                          v.              TcpStateInt型,只讀,當前TCP連接的狀態,它的取值為:

                  0

                  缺省的。關閉

                  1

                  打開

                  2

                  偵聽

                  3

                  連接掛起

                  4

                  識別主機

                  5

                  已識別主機

                  6

                  正在連接

                  7

                  已連接

                  8

                  同級人員正在關閉連接

                  9

                  錯誤

                  a)          

                   

                  GatherRecordSum                                  PC采集打卡數據總條數

                  GatherData                                                        PC采集打卡數據           

                  GatherSendCardSum                                      PC采集發卡名單總條數                  

                  GatherSendCardData                                       PC采集發卡數據           

                  ClearRecord                                                      :清除考勤機全部打卡數據                

                  ClearNameList                                         :清除考勤機全部發卡名單                

                  CardSendToMachine                               PC下傳一條發卡名單            

                  ClearName                                                         :從考勤機的發卡名單中清除某張卡的邏輯卡號        

                  SendRecordToMachine                         :發送一條打卡數據到考勤機上。

                  RepairAddress                                         :修改考勤機地址

                  SetClock                                                              :下傳響鈴時間表

                  RepairSystemParameter                         :修改系統參數

                  ReadCardNum                                                  :讀取最近一次打卡的物理卡號(即讀卡) √

                  ClearFlag                                                            :清除新卡標志

                  FindCard                                                              查找此物理卡號是否在機器中與發已卡

                  SetPort                                                                  :設置端口

                  DestoryPort                                                 :釋放端口

                  ReadSystemParameter                          :讀取系統參

                  ModifyDateTime                                         :修改時間日期    

                  SendShortMsg                                                    :發送短信到考勤機              ×

                  GetSounds                                                 :設置語音        ×

                  SetMachinePassword                              : 設置(修改)機器菜單密碼     ×

                  GetMachinePassword                              : 取得機器菜單密碼  ×

                            SetClockStr                                                    :設置響鈴時間(以字符串型式傳入參數) 

                           SendPictureMach                                          :下傳開機畫面 

                  Dim  KQ ‘定義一個變量

                  Set KQ = CreateObject("KQCONNECT_v70.Connect_v70")

                  函數說明:

                  1、               GatherRecordSum(ByVal VarAddr As Integer, VarRecordCount As Long, VarDescritption As String) As Boolean

                  功能說明: PC采集打卡數據總條數

                  參數:                   VarAddr為機器地址

                                                 VarRecordCount返回的記錄總數

                                                 VarDescription描述,用此參數可以查看錯誤信息

                  返回值:     布爾值True成功,False失敗

                  例子:                   GatherRecordSum VarAddr, RecordSum, "ok"

                   

                  2、               GatherData(ByVal VarAddr As Integer, ByVal VarFilePath As String, VarFileName As String, VarDescription As String, BackRecordSum As Long, Optional SleepDate As Long = 2Optional phStrCardFlg As Long = 0, Optional IsFullYear As Boolean = False) As Boolean

                  功能說明:PC采集打卡數據

                  參數:                   VarAddr為機器地址

                  VarFilePath文件路徑

                                                 VarFileName文件名

                                                 VarDescription描述,用此參數可以查看錯誤信息

                                                 BackRecordSum 返回記錄數

                                                 SleepDate 延時設置。(在局域網中采集可能要改變其參數)

                                                 phStrCardFlg 輸出的物理卡號,默認0十六進制,1為十進制

                                                 IsFullYear  為真,表示輸出完整年份,如2005,否則輸出05

                  例子:                   GatherData(TxtAddress.Text, App.Path, "DataRecordSet.txt", "OK", RecordSum, SleepDate.Text)

                  文件格式如下:三位機器地址+十位物理卡號+(68)位年月日+6位時分秒.

                   

                  3、               GatherRecordSum(ByVal VarAddr As Integer, VarRecordCount As Long, VarDescritption As String) As Boolean

                  功能說明: PC采集打卡數據總條數

                  參數:                   VarAddr為機器地址

                                                 VarRecordCount記錄數

                                                 VarDescription描述,用此參數可以查看錯誤信息

                  返回值:     布爾值True成功,False失敗

                  例子:                   GatherRecordSum TxtAddress.Text, RecordCount, "ok"

                   

                  4、               GtherSendCardSum(ByVal VarAddr As Integer, VarRecordCount As String) As Boolean

                  功能說明:PC采集發卡名單總條數

                  參數:                VarAddr為機器地址

                                                       VarRecordCount返回的記錄總數

                  返回值:   布爾值True成功,False失敗

                  例子:                GatherSendCardSum VarAddr, RecordSum

                   

                  5、               GatherSendCardData(ByVal varaddr As Integer, ByVal VarFilePath As String, ByVal VarFileName As String, VarDescription As String, BackRecordSum As Long, Optional ByVal SleepDate As Long = 15, Optional ByVal phStrCardFlg As Long = 0) As Boolean

                  功能說明:PC采集發卡數據

                  參數:                   VarAddr為機器地址

                                                 VarFilePath文件路徑

                                                 VarFileName文件名

                                                 VarDescription描述,用此參數可以查看錯誤信息

                                                 BackRecordSum記錄數

                  SleepDate延時,單位是毫秒,在局域網中采集可能要將其改大一些一般為10—100之間)

                                                 phStrCardFlg 輸出的物理卡號,默認0十六進制,1為十進制,此參數可選,為了與以前兼容

                  返回值:     布爾值True成功,False失敗

                  例子:                   KQ.GatherSendCardData(TxtAddress.Text,App.Path,"NameList.txt", StrDescription, RecCount1, SleepDate.Text)

                                     文件格式如下:十位物理卡號+8位卡號(即工號)+四個漢字姓名

                  6、               ClearRecord(ByVal VarAddr As Integer) As Boolean

                  功能說明:清除考勤機全部打卡數據

                  參數:                   VarAddr為機器地址

                  返回值:     布爾值True成功,False失敗

                  例子:                   KQ.ClearRecord(CInt(Trim(TxtAddress)))

                   

                  7、               ClearNameList(ByVal VarAddr As Integer) As Boolean

                  功能說明:清除考勤機全部發卡名單

                  參數:                   VarAddr為機器地址

                  返回值:     布爾值True成功,False失敗

                  例子:                   KQ.ClearNameList(CInt(Trim(TxtAddress)))

                   

                  8、               CardSendToMachine(ByVal varAddr As Integer, ByVal strPhyCard As String, ByVal strCardID As String, ByVal strName As String, ByVal WeekFlag As Integer, ByVal TimeSect As String) As Boolean

                  功能說明:PC下傳一條發卡名單

                  參數: 6

                             VarAddr  為機器地

                              strPhyCard  為物理卡號,十進制數表示

                              strCardID   為工號,8位表示

                              strName 姓名

                              WeekFlag 周允許狀態,此參數暫時不用傳"00"就可以了

                              TimeSect 時間段,此參數暫時不用傳"00000000"就可以了

                  返回值:     布爾值True成功,False失敗

                  例子:KQ.CardSendToMachine(CInt(TxtAddress.Text), TxtCardNum.Text, Trim(TxtNo.Text), "徐榮華", "00", "00000000")

                   

                  9、               ClearName (ByVal VarAddr As Integer, ByVal PhyNum As String) As Boolean

                  功能說明:用來從考勤機的發卡名單中清除某張卡的邏輯卡號

                  參數:                   VarAddr為機器地址

                                                 PhyNum為物理卡號

                  返回值:     布爾值True成功,False失敗

                  例子:                   KQ.clearname(CInt(TxtAddress.Text), Trim(TxtCardNum.Text))

                   

                  10、           Public Function SendRecordToMachine(ByVal varAddr As Integer, ByVal PhyNum As String, ByVal DateTime As String, Optional ByVal FlagByte As String = "FF", Optional ByVal KeepByte As String = "99") As Boolean

                  功能說明:發送一條打卡數據到考勤機上。

                  參數:                VarAddr為機器地址

                             PhyNum  物理卡號     (傳進8位十六進制的物理卡號)

                             DateTime年月日時分秒,格式為:yymmddhhmmss

                                              FlagByte特征字節,默認為FF

                                              KeepByte保留字節,默認為99

                  返回值:   布爾值True成功,False失敗

                   

                  例子:KQ.SendRecordToMachine(TxtAddress.Text,TxtCardNum.Text, "051018121235”, "1", "2")

                   

                  11、           RepairAddress (ByVal VarAddr As Integer, ByVal NewAddress As Integer) As Boolean

                  功能說明:修改考勤機地址

                  參數:           VarAddr為機器舊地址

                                         NewAddress機器新地址

                  返回值:  布爾值True成功,False失敗

                  例子:KQ.RepairAddress(CInt(TxtAddress.Text), CInt(TxtNewAddr.Text))

                   

                  12、           SetClock(ByVal VarAddr As Integer, ByRef ITime() As Date, ByVal Sect As String) As Boolean

                  功能說明:下傳響鈴時間表總共為30段一次下發10段,分三次下發同SECT這個參數決定。

                  參數:VarAddr為機器地址

                               Itime時間

                               Sect時間段參數1、表第一個10段,2、表第二個10段,3、第三個10段。

                                      

                  返回值:布爾值True成功,False失敗

                             另外請參見:SetClockStr函數,它可以接受字符串參數。

                  例子:

                  Dim TimeArry(10) As Date

                  Dim i As Integer

                  Dim IHour As String, IMinute As String

                  Dim MySecond As Long

                     

                      For i = 0 To 9

                          If TxtHour(i) <> "" Then

                              IHour = TxtHour(i).Text

                          Else

                              IHour = "0"

                          End If

                          If TxtMin(i) <> "" Then

                              IMinute = TxtMin(i).Text

                          Else

                              IMinute = "0"

                          End If

                          TimeArry(i) = CDate(IHour + ":" + IMinute)

                      Next

                     

                      If KQ.SetClock(CInt(TxtAddress.Text), TimeArry, 1) Then

                        Sta_Info.SimpleText = "成功"

                      Else

                        Sta_Info.SimpleText = "不成功"

                      End If

                     

                  End Sub

                   

                  13、           RepairSystemParameter(ByVal VarAddr As Integer, ByVal JDYS As String, ByVal DKYS As String, ByVal TZZ As String) As Boolean

                   

                  功能說明:修改系統參數

                  參數:  VarAddr為機器地址

                  JDYS  繼電器延時 2 bytes

                  DKYS  打卡 延時  2 bytes

                  TZZ   特征字     2 ytes

                  0B101905040611402900 0100 03E8 000097

                  0B 10 19 050406 112947 00 0100 0000 0000 7B

                   

                  0B101905040611420200010003E8 8000 3E

                  A  +  0FH + 19H  + 日期、時間、周 +  響鈴/開鎖延時2bytes  +  打卡延時2bytes  +  特征字2bytes  +  校驗

                   

                  繼電器延時為2個字節,前者對應繼電器1/s,后者對應繼電器2/s,數值均不超過9963H),打卡延時為2字節,其值小于144005A0H),對應24小時以下的延時分鐘的數值

                  特征字:  D7    工作模式    0、考勤模式       1門禁模式

                  D6    字體設置    0、簡體           1 繁體

                  D5    響鈴允許    0、禁止響鈴       1、允許響鈴

                  D4    開鎖模式    0、卡||密碼        1、卡+密碼

                  D3    認卡模式    0、發卡有效       1、直接有效

                                                   

                  返回值:   布爾值True成功,False失敗

                  例子:RepairSystemParameter(CInt(TxtAddress.Text), Right("0000" & TxtY.Text, 4), "0000", JF)

                  此函數暫不完善,很容易造成機器故障,請慎用此功能(一般使用出廠時設定)。

                   

                  14、           ReadCardNum(ByVal VarAddr As Integer, ByRef AllStr As String) As String

                  功能說明:讀取最近一次打卡的物理卡號(即讀卡)

                  參數:                   VarAddr為機器地址 

                                                 AllStr讀出的全部信息。(內部使用)

                                      

                  返回值:     物理卡號

                  例子:                   KQ. ReadCardNum(CInt(Trim(TxtAddress)), AllStr)

                   

                  15、           ClearFlag(ByVal VarAddr As Integer) As Boolean

                  功能說明:清除新卡標志

                  參數:

                                              VarAddr為機器地址

                  返回值:   布爾值True成功,False失敗

                  例子:                ClearFlag(18)

                   

                  16、           SendPictureMach(ByVal VarAddr As String, ByVal BmpFilePath As String) As Boolean (此函數暫不完整,不允許使用)

                  功能說明:下傳開機畫面

                  參數:                   VarAddr為機器地址

                                                 BmpFilePath文件名

                                      

                  返回值:     布爾值True成功,False失敗

                  例子:KQ.SendPictureMach(TxtAddress.Text, BmpPath)

                   

                  17、           FindCard(ByVal VarAddr As Integer, ByVal PhyNum As String, CardYN As Boolean) As Boolean                      

                  功能說明: 查找此物理卡號是否在機器中已發過卡

                  參數:                   VarAddr為機器地址

                                                 PhyNum 物理卡號     (傳進十進制的物理卡號)

                                                 CardYN是否在機器中 (返回標志,True存在,False不存在)

                  返回值:     布爾值True成功,False失敗

                  例子:FindCard(CInt(TxtAddress.Text), Trim(TxtCardNum.Text), CardYN)

                  18、           DestoryPort() As Boolean

                  功能說明:                 關閉串口

                  參數:                        

                  返回值:            布爾值True成功,False失敗

                  19、           SetPort(ByVal intCom As Integer) As Boolean

                  功能說明:        如果是串口模式,則設置并打開串口;

                  如果是TCP模式,則連接考勤機

                  參數:                         intCom 串口號

                  返回值:      布爾值True成功,False失敗

                  20、           ReadSystemParameter(ByVal VarAddr As Integer, ByRef BackString As String) As Boolean

                  功能說明:                 讀取系統參

                  參數:                         VarAddr為機器地址

                                                       BackString返回的參數

                  返回值:      布爾值True成功,False失敗

                  例子:KQ.ReadSystemParameter(TxtAddress.Text, str)

                   

                  21、           ModifyDateTime(ByVal VarAddr As Integer, ByVal DDate As String, ByVal TTime As String, ByVal WWeek As Byte) As Boolean

                  功能說明:                修改日期時間

                  參數:                                 VarAddr為機器地址

                                                               Ddate為日期

                                                               Ttime為時間

                                                               Wweek為星期(做考勤時不用)

                  返回值:    布爾值True成功,False失敗

                  例子:

                  DDate = Right(Year(Date), 2) & Right(("00" & Month(Date)), 2) & Right(("00" & Day(Date)), 2)

                  TTime = Right(("00" & Hour(Time)), 2) & Right(("00" & Minute(Time)), 2) & Right(("00" & Second(Time)), 2)

                  WWeek = "01"

                  Mreturn = KQ.ModifyDateTime(CInt(Trim(TxtAddress.Text)), DDate, TTime, WWeek)

                  If Mreturn Then

                        Sta_Info.SimpleText = "修改日期成功"

                  Else

                        Sta_Info.SimpleText = "修改日期不成功"

                  End If

                  24SendShortMsg(ByVal varaddr As Integer, ByVal TTime As Integer, ByVal MsgStr As String) As Boolean

                  功能說明:       發送短信到考勤機(此函數暫不提供)

                  參數:                        VarAddr為機器地址

                                                      Ttime為顯示時長

                                                      MsgStr為短信內容

                  返回值:    布爾值True成功,False失敗

                  例子:

                      If KQ.SendShortMsg(TxtAddress.Text, Text6.Text, TxtMsg.Text) Then

                          Sta_Info.SimpleText = " 發送短信成功!"

                      Else

                          Sta_Info.SimpleText = "發送短信失敗!"

                      End If

                  25、   GetSounds(ByVal varaddr As Integer, ByVal SoundNum As Integer) As Boolean

                  此函數主要用于實時監控,如有問題可直接找本公司。  

                  功能說明:                 發送語音到考勤機

                  參數:                         VarAddr為機器地址

                                                       SoundNum為語音號內容為18對應語音如下

                  語音提示:               

                  1:無效卡              

                  2                    

                  3:歡迎你              

                  4:你好                

                  5:生日快樂            

                  6:你遲到了            

                  7:節日快樂            

                  8:注意安全

                  返回值:      布爾值True成功,False失敗

                  例子:KQ.GetSounds(TxtAddress.Text, SoundNum.Text)

                  26、   SetMachinePassword(ByVal varaddr As Integer, ByVal nPassword As Integer) As Boolean

                  功能說明:設置(修改)機器的菜單密碼(只適用帶按鍵機型)

                  參數:                VarAddr     為機器地址

                                                       nPassword       為要設置的密碼,最多4

                  返回值:    布爾值True成功,False失敗

                   

                  27、   GetMachinePassword GetMachinePassword(ByVal varAddr As Integer) As Integer

                  功能說明:讀取機器菜單密碼(只適用帶按鍵機型)

                  參數:                VarAddr     為機器地址

                  返回值:  不小于0的整數值,如讀取失敗,返回-1

                   

                  28、   SetClockStr(ByVal varAddr As Integer, ByVal strTime As String, ByVal Sect As String) As Boolean

                  功能說明:下傳響鈴時間表總共為30段,一次下發10段,如果要下發30段,則要分三次下發。下發哪一段由SECT參數決定。此數功能與SetClock一樣,只不過傳的參數是字符串。

                  參數:VarAddr為機器地址

                               strTime時間字符串,格式為兩位小時+兩位分鐘;

                  例如:”0800120513301400180020302325”,代表8:0012:0513:3014:0018:0020:3023:25

                               Sect時間段參數,可取的值為[1,2,3];1、表示第一個10段;取2、表示第二個10段;取3、表示第三個10段。

                                      

                  返回值:布爾值True成功,False失敗

                   

                  例子:

                   

                  Dim i As Integer

                  Dim IHour As String, IMinute As String

                  Dim MySecond As Long

                              strTime = ""

                      For i = 0 To 9

                          If TxtHour(i) <> "" Then

                              IHour = Right("00" & Trim(TxtHour(i).Text), 2)

                          Else

                              IHour = "00"

                          End If

                          If TxtMin(i) <> "" Then

                              IMinute = Right("00" & Trim(TxtMin(i).Text), 2)

                          Else

                              IMinute = "00"

                          End If

                          strTime = strTime & IHour & IMinute

                      Next

                     

                      If KQ.SetClockstr(CInt(TxtAddress.Text), strTime, Text7.Text) Then

                        Sta_Info.SimpleText = "響鈴時間設置成功!"

                      Else

                        Sta_Info.SimpleText = "響鈴時間設置失敗!"

                      End If

                   

                  Attribute VB_Name = "CheckData_250X"

                  Option Explicit

                   

                  '*****************************************************************************

                  '功能說明

                  '根據采集回的數據*.txt),驗證數據的正確性驗證規則

                  '1)  讀出當前機器內的數據總數(M),與文本文件中的總數(N)比較,如果(N<M M=0),則返回False

                  '2)  判斷數據中的日期時間格式是否合法,如果不是有效的日期時間,則返回False

                  '3)  判斷最后一筆記錄的刷卡時間與當前時間的間隔,如果超過1小時,則返回False

                  '4)  動態判斷日期時間是否升序排列,如果不是,則返回False

                  '5)  此函數一般用在采集完刷卡數據之后。

                  '修改時間:2008-01-07

                  '參數:共7

                  '               VarAddr為機器地址

                  '                VarFilePath文件路徑

                  '                VarFileName文件名

                  '                VarDescription描述,用此參數可以查看錯誤信息

                  '                intDelay 合理的時間間隔,單位是小時

                  '                phStrCardFlg 輸出的物理卡號,默認0十六進制,1為十進制,此參數可選,為了與以前兼容

                  '               IsFullYear 為真,表示輸出完整年份,如2005,否則輸出05

                  '返回值:   整型,

                  '0-表示數據正常;

                  '1-  表示總條數小于機器內的條數;

                  '2-  表示有亂數據;

                  '3-  表示最后一筆記錄的刷卡時間離現在間隔過長;

                  '4-  日期時間沒有按升序排列

                  '-1,表示其他異常,具體異常可查看VarDescription變量的值。

                  '*****************************************************************************

                  Public Function CheckData( _

                                              ByVal varAddr As Integer _

                                              , ByVal VarFilePath As String _

                                              , ByVal VarFileName As String _

                                              , ByRef VarDescription As String _

                                              , Optional ByVal intDelay As Integer = 24 _

                                              , Optional ByVal phStrCardFlg As Long = 0 _

                                              , Optional ByVal IsFullYear As Boolean = False _

                                             ) As Integer

                      Dim lngSum_Mach As Long '機器中的總條數

                   

                     

                      Dim i As Long, J As Long

                      Dim intRow As Long

                     

                      Dim strFile As String

                      Dim Nfile As Integer

                      Dim strTemp As String

                     

                      Dim strMachine As String        '機器號

                      Dim strPhyCardID10 As String     '1010進制物理卡號

                      Dim strPhyCardID8 As String      '816進制物理卡號

                      Dim strRecoString As String

                     

                      Dim strDateTime As String        '完全日期時間

                      Dim strDate As String

                  '    Dim strTime As String

                     

                      Dim datLastTime As Date '最后打卡時間

                      Dim datTemp As Date '存放上一條的打卡時間

                     

                      On Error GoTo Err2

                     

                      CheckData = -1

                     

                      '先?出????

                      Sleep (2000)

                      DoEvents

                      If GatherRecordSum(varAddr, lngSum_Mach, "ok") = False Then

                          CheckData = -1

                          VarDescription = "采集總條數失敗 "

                          Exit Function

                      End If

                      If lngSum_Mach <= 0 Then

                          CheckData = 1

                          VarDescription = "采集出的總條數是0 "

                          Exit Function

                      End If

                     

                     

                      '打開文件進行校對

                      strFile = VarFilePath & "\" & VarFileName

                     

                      If Dir(strFile) = "" Then

                          CheckData = -1

                          VarDescription = "文件找不到," & strFile

                          Exit Function

                      End If

                   

                      intRow = 0

                      datLastTime = CDate("2000-01-01")

                      datTemp = CDate("2000-01-01")

                     

                      Nfile = FreeFile()

                      Open strFile For Input As #Nfile

                      Do While Not EOF(Nfile)   ' 循環至文件尾。

                          Line Input #Nfile, strTemp   ' 讀入一行數據并將其賦予某變量。

                          Debug.Print strTemp   ' 在立即窗口中顯示數據。

                          intRow = intRow + 1

                         

                          If Len(strTemp) < 23 Then

                              Close #Nfile

                              CheckData = 2

                              VarDescription = "有亂數據," & intRow & " "

                              Exit Function

                          End If

                         

                         

                          strRecoString = Left(strTemp, 23)   '讀取23位長度的記錄

                          strMachine = Mid(strRecoString, 1, 3)           '機器號

                          strPhyCardID8 = Mid(strRecoString, 4, 8)        '816進制物理卡號

                          strPhyCardID10 = Right("0000000000" & CLng("&H" & strPhyCardID8), 10)   '1010進制物理卡號

                          strDateTime = "20" & Mid(strRecoString, 12, 2) & "-" & Mid(strRecoString, 14, 2) & "-" & Mid(strRecoString, 16, 2) & " " & Mid(strRecoString, 18, 2) & ":" & Mid(strRecoString, 20, 2) & ":" & Mid(strRecoString, 22, 2)

                         

                           strDate = "20" & Mid(strRecoString, 12, 2) & "-" & Mid(strRecoString, 14, 2) & "-" & Mid(strRecoString, 16, 2)

                  '        strTime = Mid(strRecoString, 18, 2) & ":" & Mid(strRecoString, 20, 2) & ":" & Mid(strRecoString, 22, 2)

                         

                          '如果時間格式不對,則記錄錯誤

                          If IsDate(Format(strDateTime, "yyyy-MM-dd hh:mm:ss")) = False Or _

                              IsDate(Format(strDate, "yyyy-MM-dd")) = False Then

                              Close #Nfile

                              CheckData = 2

                              VarDescription = "有亂數據," & intRow & " "

                              Exit Function

                          End If

                          datLastTime = CDate(Format(strDateTime, "yyyy-MM-dd hh:mm:00"))    '2008-01-09比較時精確到分鐘因為客戶反映秒上有跳亂的顯象

                          If datTemp > datLastTime Then

                              CheckData = 4  '沒有按遞增順序

                              VarDescription = "沒有按遞增順序,位置" & intRow

                          Else

                              datTemp = datLastTime

                          End If

                      Loop

                      Close #Nfile   ' 關閉文件。

                     

                      If intRow < lngSum_Mach Then

                          CheckData = 1

                          VarDescription = "文本文件中的總條數小于機器內的總條數文件內" & intRow & "機器內" & lngSum_Mach & ""

                          Exit Function

                      End If

                     

                      If DateAdd("n", intDelay * 60, datLastTime) < Now Then

                          CheckData = 3

                          VarDescription = "最后一條數據的時間距離現在超過" & intDelay & "小時最后時間為" & datLastTime

                          Exit Function

                      End If

                     

                      '能執行到這里而沒被改變則說明數據合法

                      If CheckData = "-1" Then

                          CheckData = 0

                      End If

                     

                      Exit Function

                  Err2:

                      CheckData = -1

                      VarDescription = Err.Description

                  End Function

                   

                   

                      快速獲得支持

                     點擊“在線服務 ”簡單填寫
                     資料,您可以就您關注的硬
                     件或軟件獲得相應在線支持。
                     電話: 
                  0755-83740970

                   

                   

                   

                  无码av高清毛片在线看 - 视频 - 在线播放 - 影视资讯 - 一级毛