pb65的代碼升級到pb11后,打開對話框(定義了一個公用的用戶物件)后,選擇了檔案之后,通過跟蹤發現路徑和檔案名都是亂碼,不知道這個的原因是什么。
打開對話框的代碼:紅色代碼處得到的值就是亂碼
If GetOpenFileNameA(OpenFileName) = 1 Then //按確定按鈕
PathName = LeftA(String(OpenFileName.lpstrFile,"address"),OpenFileName.nFileOffSet - 1)
li_Start = 0
Do
ls_Token = String(OpenFileName.lpstrFile + OpenFileName.nFileOffSet + li_Start,"address")
If ls_Token <> "" Then
FileCount++
Files[FileCount] = ls_Token
End If
li_Start += Len(ls_Token) + 1
Loop Until ls_Token = ""
FileName = Files[1]
Else
uj5u.com熱心網友回復:
需檢測這個是否亂碼OpenFileName.lpstrFile,"address")。估計是pb11的字符集問題,baidu一下應該有你要的答案
uj5u.com熱心網友回復:
leftuj5u.com熱心網友回復:
OpenFileName.lpstrFile,"address")這個得到的內容就是亂碼,我從網上搜了好久了,也沒有找到解決辦法哦uj5u.com熱心網友回復:
left也是一樣得到亂碼。我這里用leftA是因為我的檔案路徑,檔案名,檔案過濾型別里面都有漢字uj5u.com熱心網友回復:
PB本身就用公用對話框啊!你好好看看那個公用的用戶物件吧
uj5u.com熱心網友回復:
現在是我們公司升級以前的系統,以前用pb65做的,建了公用的用戶物件,處理打開對話框的問題,現在就是這個用戶物件里面有了點問題,如果用pb本身的對話框的話,改動量是很大的uj5u.com熱心網友回復:
用這個宣告試下Function long GetOpenFileName(ref OPENFILENAME pOpenfilename) LIBRARY "comdlg32.dll" ALIAS FOR "GetOpenFileNameA"
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/99352.html
標籤:API 調用
上一篇:關于ODBC資料源配置
下一篇:有薪請教關于網站登錄,內詳!
