以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助,vb中代码怎么能搬到狐表里?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129467)

--  作者:houseer
--  发布时间:2018/12/29 0:55:00
--  求助,vb中代码怎么能搬到狐表里?
Option Explicit      ---这句删掉
\'如何在VB中改变设置系统日期时间格式
  Private Const LOCALE_STIMEFORMAT = &H1003
  Private Const LOCALE_SSHORTDATE = &H1F
  Private Const WM_SETTINGCHANGE = &H1A
  Private Const HWND_BROADCAST = &HFFFF&
  Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
  Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
  Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Public Sub setdateformat()
          Dim dwLCID As Long, i As Long
          Dim lpLCData As String * 255, cchData  ---这句改成: Dim lpLCData,cchData AS string
          cchData = Len(lpLCData)
          dwLCID = GetSystemDefaultLCID()
          i = SetLocaleInfo(dwLCID, LOCALE_SSHORTDATE, "yyyy/M/d")           \'设置短日期格式
          PostMessage (HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0 )  ---参数加上括号 
          i = SetLocaleInfo(dwLCID, 32, "yyyy\'年\'M\'月\'d\'日\'")                  \'设置长日期格式
          PostMessage (HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0  ---参数加上括号 
          i = SetLocaleInfo(dwLCID, LOCALE_STIMEFORMAT, "HH:mm:ss")            \'设置时间格式
          PostMessage (HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0 )   ---参数加上括号 
  End Sub


以上是vb的代码,红色是我搬到fox中自己修改的地方.  不知道对不对。

现在一引用setdateformat() 就报错:

“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”

--  作者:有点蓝
--  发布时间:2018/12/29 9:40:00
--