這是一個園長學習VFP(Visual Foxpro)的Blog歡迎同好一起來參與

星期六, 5月 08, 2010

如何檢查檔案是否為正確的DBF檔

在開發系統時,可能會有需求於作業時匯入DBF檔,但如何判斷使用者選擇的檔案是否為正確的DBF檔?
這裏提供我函式庫裏的一個函式給大家參考

使用方式:

nRet=chk_dbf(傳入要判斷的DBF檔含路徑,顯示錯誤訊息) &&

******************
*傳入要測試的dbf檔,測試是否可開啟,可傳回>0之筆數,否傳回-1
Function chk_dbf
    Lparameters p_bf,p_no_show_msg
    Local ret,walias,OERR
    ret=-1
    If !Empty(p_bf)
        If !File(p_bf)
            If At(p_bf,'\')>0    &&有路徑
                If Empty(p_no_show_msg)
                    =chk_err(p_bf+" 不存在!")
                Endif
                Return ret
            Endif
        Endif
        Try
            Select 0
            Use (p_bf) Shar Again
            walias=Alias()
        Catch To OERR
            If Empty(p_no_show_msg)
                =chk_err(p_bf+" 不是資料庫,或已損壞")
            Endif
        Endtry
        If Type("oErr")<>'O'
            If Used(walias)
                Select &walias
                ret=Reccount()
                Use
            Endif
        Endif
    Endif
    Return ret
Endfunc
*********************

*顯示錯誤訊息,可設定顯示時間(秒)
Function chk_err
    Para  Msg,p_Timeout
    Local nDialogType
    nDialogType = 0 + 16 + 0


    If !Empty(p_Timeout)
        =Messagebox(Msg,nDialogType, '錯誤!',p_Timeout*1000)
    Else
        =Messagebox(Msg,nDialogType, '錯誤!')
    Endif
    Return
Endfunc

沒有留言: