VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

尋求中文文字的 unicode 和 utf-8 對照表
前往頁面 上一頁  1, 2
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 16 樓

發表發表於: 星期五 八月 20, 2021 3:02 pm    文章主題: 引言回覆

foxy 寫到:

但是 我還是 不懂該 怎樣才能把0B57 轉為570B. 唯一辦法就是做個程序把從strconv(cUnicode,15)得到的字串每四字母/數字為一組把每兩個字母/數字的順序顛倒, 或者還有更直接的方法嗎?



google 說,
如果你只打算用vfp做,照你說的方法去作,最簡單

https://www.twblogs.net/a/5b8a5fcd2b71775d1ce6b1f2
代碼:

lnStrLen=Len(lcUnicodeLittleStr)
lcUnicodeBigStr=''
For lnI = 1 To lnStrLen Step 2
   lcUnicodeBigStr=lcUnicodeBigStr+Substr(lcUnicodeLittleStr,lnI+1,1)+Substr(lcUnicodeLittleStr,lnI,1)
Endfor



但有沒有這個必要,那就另一回事了

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
css



註冊時間: 2004-12-31
文章: 32


第 17 樓

發表發表於: 星期六 八月 21, 2021 9:50 am    文章主題: 引言回覆

Unicode LE和BE相互轉換,小頭轉大頭,大頭轉小頭,VFP的Strconv()未提供現成參數來作轉換。
自己寫一個就是了,幾行代碼的事,無討論之必要。
回頂端
檢視會員個人資料 發送私人訊息
foxy



註冊時間: 2007-08-16
文章: 229
來自: 泰國

第 18 樓

發表發表於: 星期六 八月 21, 2021 9:43 pm    文章主題: 引言回覆

syntech 寫到:
=SYS(987,.T.)
=SYS(3101,65001)


大俠,謝謝您. 這個代碼管用

_________________
進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + 手機 App, 都共享 MS SQL Server的資料. www.foxacc.com LINE: mike-lm
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
foxy



註冊時間: 2007-08-16
文章: 229
來自: 泰國

第 19 樓

發表發表於: 星期日 八月 22, 2021 11:29 am    文章主題: 引言回覆

css 寫到:
Unicode LE和BE相互轉換,小頭轉大頭,大頭轉小頭,VFP的Strconv()未提供現成參數來作轉換。
自己寫一個就是了,幾行代碼的事,無討論之必要。


了解,謝謝您,大俠

_________________
進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + 手機 App, 都共享 MS SQL Server的資料. www.foxacc.com LINE: mike-lm
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
foxy



註冊時間: 2007-08-16
文章: 229
來自: 泰國

第 20 樓

發表發表於: 星期日 八月 22, 2021 11:55 am    文章主題: 引言回覆

syntech 寫到:


但有沒有這個必要,那就另一回事了


小弟結合大俠您的指點, 把翻譯功能做出如下,不需要使中文字對照表了, 太感謝了.

Procedure googletranslate
Lparameters lctbl,lcfldname,lclangfrom,lclangto && lcfldname exclude language indicator, such as description (from descriptionen field name)
If Empty(Alltrim(_Screen.bsc6_gglapikey))
mssgstop('ggltranslnokey')
Return
Endif
If Upper(Alltrim(m.lclangfrom))='CH'
If _Screen.chinese_type=1 && Big5
m.lcGooglelangfrom= Upper('ZH-TW')
Else
m.lcGooglelangfrom= Upper('ZH-CN')
Endif
Else
m.lcGooglelangfrom=m.lclangfrom
Endif
m.lcfldfrom=m.lclangfrom
If Upper(Alltrim(m.lclangto))='CH'
If _Screen.chinese_type=1 && Big5
m.lcGooglelangto= Upper('ZH-TW')
Else
m.lcGooglelangto= Upper('ZH-CN')
Endif
Else
m.lcGooglelangto=m.lclangto
Endif
m.lcfldto=m.lclangto
m.lctbl=Alltrim(m.lctbl)
m.lcfldname=Alltrim(m.lcfldname)
m.lcfldfrom=m.lcfldname+m.lcfldfrom
m.lcfldto=m.lcfldname+m.lcfldto
m.lcvaluefrom=Alltrim(Evaluate(m.lctbl+Alltrim('.')+m.lcfldfrom))
If Empty(m.lcvaluefrom)
Return
ENDIF
m.lncodepage=codepageId(m.lclangfrom)
If Empty(m.lncodepage)
m.lcvaluefrom=Strconv(m.lcvaluefrom,9) && string to utf8 in current locale
Else
m.lcvaluefrom=Strconv(m.lcvaluefrom,9,m.lncodepage,1) && string to utf8 in codepage id
ENDIF
m.lcvaluefrom=urlencode(m.lcvaluefrom)

&&=Sys(987,.T.) && not in use here. Maps remote Unicode data retrieved through SQL pass-through or remote views to ANSI.
&& must set Sys(987,.f) to make acc.accch on thai windows display correctly
m.ln3101=Sys(3101)
=Sys(3101,65001) && retrieve UTF-8 from COM objects
Try
TEXT TO lctxt TEXTMERGE NOSHOW PRETEXT 7
key=<<ALLTRIM(_screen.bsc6_gglapikey)>>&q=<<ALLTRIM(m.lcvaluefrom)>>&source=<<m.lcGooglelangfrom>>&target=<<m.lcGooglelangto>>
ENDTEXT
mUrl = "https://www.googleapis.com/language/translate/v2"
xmlHTTP = Createobject("msxml2.xmlhttp")
xmlHTTP.Open("POST", m.mUrl, .F.)
xmlHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
xmlHTTP.Send(m.lctxt)
Do While xmlHTTP.readyState != 4
=Inkey(0.1)
Enddo
If xmlHTTP.Status <> 200
=Sys(3101,m.ln3101)
mssgfeed('ggltranlfail')
Return
Endif
m.lcres=Alltrim(xmlHTTP.responseText)
m.lcstart='"translatedText": "' && not use strextract() since there could be no the 2nd "
m.lcres=SUBSTR(m.lcres,ATC(m.lcstart,m.lcres)+LEN(m.lcstart))
m.lcres=LEFT(m.lcres,LEN(m.lcres)-21) && after should-be the 2nd ", ther are 21 characters ending
If Right(m.lcres,1)='"' && delete the ending "
m.lcres=Left(m.lcres,Len(m.lcres)-1)
ENDIF
m.lncodepage=codepageId(m.lclangto)
If Empty(m.lncodepage)
m.lcres=Strconv(m.lcres,11) && utf8 to string in current locale
Else
m.lcres=Strconv(m.lcres,11,m.lncodepage,1) && utf8 to string in codepage id
Endif
Catch To oException
mssgfeed_mssg(oException.Message)
Finally
ENDTRY
=Sys(3101,m.ln3101)
Replace (m.lcfldto) With m.lcres In (m.lctbl)
Endproc
**
Procedure codepageId
Lparameters lcLangID
m.lcLangID=Upper(m.lcLangID)
Local lnId
m.lnid=0
Do Case
Case m.lcLangID='TH'
m.lnid=874
Case m.lcLangID='CH' And _Screen.CHinese_type=1 && TRADITIONAL CHINESE
m.lnid=950
Case m.lcLangID='CH' And _Screen.CHinese_type=2 && SIMPLIFIED CHINESE
m.lnid=936
Case m.lcLangID='JA'
m.lnid=932
Endcase
Return m.lnid
Endproc
**

其中的代碼:
Do While xmlHTTP.readyState != 4
=Inkey(0.1)
Enddo
是您在另外一篇的貼文中發現的, 請問 =Inkey(0.1) 的作用是不准許用戶做任何鍵盤操作嗎?

謝謝

_________________
進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + 手機 App, 都共享 MS SQL Server的資料. www.foxacc.com LINE: mike-lm
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 21 樓

發表發表於: 星期日 八月 22, 2021 4:20 pm    文章主題: 引言回覆

foxy 寫到:


其中的代碼:
Do While xmlHTTP.readyState != 4
=Inkey(0.1)
Enddo
是您在另外一篇的貼文中發現的, 請問 =Inkey(0.1) 的作用是不准許用戶做任何鍵盤操作嗎?

謝謝


因為網路延遲,
所以要等回傳狀態確認後,
再繼續後面的作業

這個很重要的

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
foxy



註冊時間: 2007-08-16
文章: 229
來自: 泰國

第 22 樓

發表發表於: 星期一 八月 23, 2021 4:05 pm    文章主題: 引言回覆

syntech 寫到:


因為網路延遲,
所以要等回傳狀態確認後,
再繼續後面的作業

這個很重要的


明白. 但是 為甚麼 要用 =Inkey(0.1), 而不是=Inkey(2) 或 =Inkey(0) 呢?
或者乾脆去掉這一行可以嗎?


謝謝

_________________
進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + 手機 App, 都共享 MS SQL Server的資料. www.foxacc.com LINE: mike-lm
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 23 樓

發表發表於: 星期一 八月 23, 2021 9:44 pm    文章主題: 引言回覆

foxy 寫到:


明白. 但是 為甚麼 要用 =Inkey(0.1), 而不是=Inkey(2) 或 =Inkey(0) 呢?
或者乾脆去掉這一行可以嗎?


謝謝


你可以改呀,
只要原理相同就可以了
網路上可以找到好幾個版本,不一定要用inkey
重點在 xmlHTTP.readyState

我習慣用的是
代碼:

DO WHILE xmlHTTP.ReadyState != 4
   DOEVENTS
ENDDO

讓畫面有些反應,不會出現卡住或是畫面反白

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
foxy



註冊時間: 2007-08-16
文章: 229
來自: 泰國

第 24 樓

發表發表於: 星期二 八月 31, 2021 10:16 pm    文章主題: 引言回覆

syntech 寫到:

代碼:

DO WHILE xmlHTTP.ReadyState != 4
   DOEVENTS
ENDDO



是對滑鼠和鍵盤有反應吧, 謝謝大俠

_________________
進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + 手機 App, 都共享 MS SQL Server的資料. www.foxacc.com LINE: mike-lm
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
lygcw9603



註冊時間: 2011-12-25
文章: 126


第 25 樓

發表發表於: 星期五 三月 15, 2024 10:30 am    文章主題: 引言回覆

?Strconv(Strconv('國',5),15)
?Strconv(Strconv('國',9),15)
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 上一頁  1, 2
2頁(共2頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作