powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Программная смена формата даты!
8 сообщений из 8, страница 1 из 1
Программная смена формата даты!
    #33663097
VipFedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, знает ли кто-нибудь, как ПРОГРАММНО (из кода) изменить формат и разделитель даты! Вариант с реестром известен, но он не рационален т.к. необходимо перезагружать компьютер. Может API? Заранее благодарен.
...
Рейтинг: 0 / 0
Программная смена формата даты!
    #33663151
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Public Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long

Public Declare Function SetLocaleInfo Lib "kernel32" _
  Alias "SetLocaleInfoA" ( _
  ByVal Locale As Long, _
  ByVal LCType As Long, _
  ByVal lpLCData As String) As Long
  
Public 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
  
Public Const LOCALE_SSHORTDATE = &H1F
Public Const WM_SETTINGCHANGE = &H1A
Public Const HWND_BROADCAST = &HFFFF&

Public Sub ChangeShortDateFormat()
    Dim lngLocale As Long
    
    lngLocale = GetSystemDefaultLCID()
    
    ' Меняем краткий формат даты.
    If SetLocaleInfo(lngLocale, LOCALE_SSHORTDATE, _
      "MM/dd/yyyy") = False Then
        MsgBox "Не удалось поменять формат."
    End If
    
    ' Сообщение системе о том, что произошли изменения
    ' в настройках.
    PostMessage HWND_BROADCAST, WM_SETTINGCHANGE,  0 ,  0 
End Sub
...
Рейтинг: 0 / 0
Программная смена формата даты!
    #33666021
VipFedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное Вам спасибо! Очень выручили! Код работает!
...
Рейтинг: 0 / 0
Программная смена формата даты!
    #33666113
AndreyF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VipFedorПодскажите, пожалуйста, знает ли кто-нибудь, как ПРОГРАММНО (из кода) изменить формат и разделитель даты! Вариант с реестром известен, но он не рационален т.к. необходимо перезагружать компьютер. Может API? Заранее благодарен.

А ты точно уверен что это нужно пользователю?

IMHO - ты явно не в ту сторону копать начал.
...
Рейтинг: 0 / 0
Программная смена формата даты!
    #34063359
Focus_NEW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как поменять разделитель целой и дробной части числа с "," на "."
...
Рейтинг: 0 / 0
Программная смена формата даты!
    #34063437
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Focus_NEWА как поменять разделитель целой и дробной части числа с "," на "."
Способ тот же. И все те приложения, которые после этого действия отвалятся, вам скажут спасибо.
...
Рейтинг: 0 / 0
Программная смена формата даты!
    #34065405
Focus_NEW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkiades Способ тот же. И все те приложения, которые после этого действия отвалятся, вам скажут спасибо.
Да ясно что способ тот же.
А скажут спасибо юзеры, которым ненадо будет обяснять куда залесть, чтобы сменить "," на "."
Вопрос в другом, где можно найти описания этих констант
Код: plaintext
1.
2.
3.
Public Const LOCALE_SSHORTDATE = &H1F
Public Const WM_SETTINGCHANGE = &H1A
Public Const HWND_BROADCAST = &HFFFF&
...
Рейтинг: 0 / 0
Программная смена формата даты!
    #34065641
Focus_NEW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел. Кому интересно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
'Code courtesy of
'Dev Ashish
Public Const LOCALE_ILANGUAGE = &H1 ' ID языка
Public Const LOCALE_SLANGUAGE = &H2 ' локализованное название языка
Public Const LOCALE_SENGLANGUAGE = &H1001 ' английское название языка
Public Const LOCALE_SABBREVLANGNAME = &H3 ' аббревиатура языка
Public Const LOCALE_SNATIVELANGNAME = &H4 ' родное название языка
Public Const LOCALE_ICOUNTRY = &H5 ' код страны
Public Const LOCALE_SCOUNTRY = &H6 ' локализованное название страны
Public Const LOCALE_SENGCOUNTRY = &H1002 ' английское название страны
Public Const LOCALE_SABBREVCTRYNAME = &H7 ' аббревиатура названия страны
Public Const LOCALE_SNATIVECTRYNAME = &H8 ' родное название страны
Public Const LOCALE_IDEFAULTLANGUAGE = &H9 ' ID языка по умолчанию
Public Const LOCALE_IDEFAULTCOUNTRY = &HA ' Код страны по умолчанию
Public Const LOCALE_IDEFAULTCODEPAGE = &HB ' Кодовая страница по умолчанию
Public Const LOCALE_SLIST = &HC ' list item separator
Public Const LOCALE_IMEASURE = &HD ' 0 = metric, 1 = US
Public Const LOCALE_SDECIMAL = &HE ' Разделитель десятичных разрядов
Public Const LOCALE_STHOUSAND = &HF ' Разделитель тысяч
Public Const LOCALE_SGROUPING = &H10 ' digit grouping
Public Const LOCALE_IDIGITS = &H11 ' number of fractional digits
Public Const LOCALE_ILZERO = &H12 ' leading zeros For decimal
Public Const LOCALE_SNATIVEDIGITS = &H13 ' native ascii 0-9
Public Const LOCALE_SCURRENCY = &H14 ' local monetary symbol
Public Const LOCALE_SINTLSYMBOL = &H15 ' intl monetary symbol
Public Const LOCALE_SMONDECIMALSEP = &H16 ' monetary decimal separator
Public Const LOCALE_SMONTHOUSANDSEP = &H17 ' monetary thousand separator
Public Const LOCALE_SMONGROUPING = &H18 ' monetary grouping
Public Const LOCALE_ICURRDIGITS = &H19 ' # local monetary digits
Public Const LOCALE_IINTLCURRDIGITS = &H1A ' # intl monetary digits
Public Const LOCALE_ICURRENCY = &H1B ' positive currency mode
Public Const LOCALE_INEGCURR = &H1C ' negative currency mode
Public Const LOCALE_SDATE = &H1D ' date separator
Public Const LOCALE_STIME = &H1E ' time separator
Public Const LOCALE_SSHORTDATE = &H1F ' short date format String
Public Const LOCALE_SLONGDATE = &H20 ' long date format String
Public Const LOCALE_STIMEFORMAT = &H1003 ' time format String
Public Const LOCALE_IDATE = &H21 ' short date format ordering
Public Const LOCALE_ILDATE = &H22 ' Long date format ordering
Public Const LOCALE_ITIME = &H23 ' time format specifier
Public Const LOCALE_ICENTURY = &H24 ' century format specifier
Public Const LOCALE_ITLZERO = &H25 ' leading zeros in time field
Public Const LOCALE_IDAYLZERO = &H26 ' leading zeros in day field
Public Const LOCALE_IMONLZERO = &H27 ' leading zeros in month field
Public Const LOCALE_S1159 = &H28 ' AM designator
Public Const LOCALE_S2359 = &H29 ' PM designator
Public Const LOCALE_SDAYNAME1 = &H2A ' Long name For Monday
Public Const LOCALE_SDAYNAME2 = &H2B ' Long name For Tuesday
Public Const LOCALE_SDAYNAME3 = &H2C ' Long name For Wednesday
Public Const LOCALE_SDAYNAME4 = &H2D ' Long name For Thursday
Public Const LOCALE_SDAYNAME5 = &H2E ' Long name For Friday
Public Const LOCALE_SDAYNAME6 = &H2F ' Long name For Saturday
Public Const LOCALE_SDAYNAME7 = &H30 ' Long name For Sunday
Public Const LOCALE_SABBREVDAYNAME1 = &H31 ' abbreviated name For Monday
Public Const LOCALE_SABBREVDAYNAME2 = &H32 ' abbreviated name For Tuesday
Public Const LOCALE_SABBREVDAYNAME3 = &H33 ' abbreviated name For Wednesday
Public Const LOCALE_SABBREVDAYNAME4 = &H34 ' abbreviated name For Thursday
Public Const LOCALE_SABBREVDAYNAME5 = &H35 ' abbreviated name For Friday
Public Const LOCALE_SABBREVDAYNAME6 = &H36 ' abbreviated name For Saturday
Public Const LOCALE_SABBREVDAYNAME7 = &H37 ' abbreviated name For Sunday
Public Const LOCALE_SMONTHNAME1 = &H38 ' Long name For January
Public Const LOCALE_SMONTHNAME2 = &H39 ' Long name For February
Public Const LOCALE_SMONTHNAME3 = &H3A ' Long name For March
Public Const LOCALE_SMONTHNAME4 = &H3B ' Long name For April
Public Const LOCALE_SMONTHNAME5 = &H3C ' Long name For May
Public Const LOCALE_SMONTHNAME6 = &H3D ' Long name For June
Public Const LOCALE_SMONTHNAME7 = &H3E ' Long name For July
Public Const LOCALE_SMONTHNAME8 = &H3F ' Long name For August
Public Const LOCALE_SMONTHNAME9 = &H40 ' Long name For September
Public Const LOCALE_SMONTHNAME10 = &H41 ' Long name For October
Public Const LOCALE_SMONTHNAME11 = &H42 ' Long name For November
Public Const LOCALE_SMONTHNAME12 = &H43 ' Long name For December
Public Const LOCALE_SABBREVMONTHNAME1 = &H44 ' abbreviated name For January
Public Const LOCALE_SABBREVMONTHNAME2 = &H45 ' abbreviated name For February
Public Const LOCALE_SABBREVMONTHNAME3 = &H46 ' abbreviated name For March
Public Const LOCALE_SABBREVMONTHNAME4 = &H47 ' abbreviated name For April
Public Const LOCALE_SABBREVMONTHNAME5 = &H48 ' abbreviated name For May
Public Const LOCALE_SABBREVMONTHNAME6 = &H49 ' abbreviated name For June
Public Const LOCALE_SABBREVMONTHNAME7 = &H4A ' abbreviated name For July
Public Const LOCALE_SABBREVMONTHNAME8 = &H4B ' abbreviated name For August
Public Const LOCALE_SABBREVMONTHNAME9 = &H4C ' abbreviated name For September
Public Const LOCALE_SABBREVMONTHNAME10 = &H4D ' abbreviated name For October
Public Const LOCALE_SABBREVMONTHNAME11 = &H4E ' abbreviated name For November
Public Const LOCALE_SABBREVMONTHNAME12 = &H4F ' abbreviated name For December
Public Const LOCALE_SABBREVMONTHNAME13 = &H100F

Public Const LOCALE_SYSTEM_DEFAULT& = &H800
Public Const LOCALE_USER_DEFAULT& = &H400

Const cMAXLEN =  255 
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Программная смена формата даты!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]