time format!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

time format!

Сообщение DVV » 03.10.2004 (Вс) 20:34

Как можно использовать время различных форматов 24-hour and 12-hour.(Чтобы их можно было менять!)
Vadim

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.10.2004 (Вс) 21:16

:lol:
Как можно использовать время? Ну например, в кваку поиграть :-)

Что надо-то? Функция Format не поможет?
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 03.10.2004 (Вс) 21:23

Эх, давно я в Кваку не играл! :)
А ведь когда-то...
Хотя нет, Xaero в честном nightmare порвать не получалось :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.10.2004 (Вс) 22:19

GSerg писал(а):Эх, давно я в Кваку не играл! :)
А ведь когда-то...
Хотя нет, Xaero в честном nightmare порвать не получалось :)

Аналогично :-)
Всех, кроме него, я на hardcore прошёл. 8-)
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 04.10.2004 (Пн) 8:27

Хы-хы... Ламеры ;-))

Я на Nightmare делал (правда, с некоторым трудом :)) Xaero...

Предлагаю завершить обсуждение этого вопроса в Трёпе :)

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 04.10.2004 (Пн) 11:01

Размести на форме две Label и таймер с интервалом 1000:
Код: Выделить всё
Private Sub Timer1_Timer()
    Label1 = Format(Now, "hh:nn:ss")
    tmp$ = IIf(Hour(Now) > 12, Hour(Now) - 12, Hour(Now))
    Label2 = tmp$ & Format(Now, ":nn:ss AM/PM")
End Sub

Я понимаю, что с AM/PM-форматом возможно наверно и попроще, но это как минимум выход из положения.
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.10.2004 (Пн) 11:32

Справка по форматам есть, например, тут: http://www.horrible.demon.co.uk/asp/formats.htm
А на MSDN-е её вроде бы и нет :-(
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.10.2004 (Пн) 12:06

SHURUP писал(а):
Код: Выделить всё
tmp$ = IIf(Hour(Now) > 12, Hour(Now) - 12, Hour(Now))

Я понимаю, что с AM/PM-форматом возможно наверно и попроще, но это как минимум выход из положения.

Однозначно можно :-)
Код: Выделить всё
tmp$ = (Hour(Now) - 1) Mod 12 + 1
Изображение

DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Сообщение DVV » 05.10.2004 (Вт) 21:33

Как менять форматы я знаю,но как это можно применить в прграмме!
Чтобы пользователь мог выбрать формат времени!
Vadim

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.10.2004 (Вт) 22:22

Ну... Чекбокс на форму положить? :-)
Или тебе системные установки менять надо?
Изображение

DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Сообщение DVV » 05.10.2004 (Вт) 22:44

Да чекбокс,а дальше что!Как время изменять! :o
Vadim

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.10.2004 (Вт) 22:48

Да какое время-то? Системное? То, что на часиках в углу панели задач? Или где?
Изображение

DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Сообщение DVV » 05.10.2004 (Вт) 22:53

Нет не системное!
Vadim

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.10.2004 (Вт) 22:56

Ну так а какое? :-)
Я тебе помочь хочу, а приходится как партизана пытать.
Изображение

DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Сообщение DVV » 05.10.2004 (Вт) 22:58

Время именно в программе.Я видел где-то ,что это досигается при помощи констант!
А как это сделать не знаю!
Vadim

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.10.2004 (Вт) 22:59

Тёмыч...
Что он хочет, объясни мне... :cry:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Сообщение DVV » 05.10.2004 (Вт) 23:06

я сам объясню!
Мне надо в про-ме исп-ть время разл-х форматов
24 и 12.Как менять форматы,я знаю!Но мне надо через переменную!допустим mytime.
Mytime=format(time,"hh:mm:ss") и Mytime=format(time,"hh:mm:ss am/pm")
Я не хочу чтобы через каждую секунду происходила проверка-какой формат!
А просто выводилась переменная в определённом формате!
Vadim

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.10.2004 (Вт) 23:18

:shock:

:(
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.10.2004 (Вт) 23:38

Нет, DVV, при помощи одних только констант, без кода, удастся достигнуть только Дзена...
Вывод: код придётся-таки писать. И таки да, он каждый раз будет выполняться.
Изображение

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 06.10.2004 (Ср) 20:43

На крайняк можно сделать переменную (S$), если пользователь хочет AM/PM, то запихать туда " am/pm", а если не хочет, то ничего, и использовать MyTime = Format(Time, "hh:mm:ss" & S)

DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Сообщение DVV » 09.10.2004 (Сб) 20:14

А как можно менять формат системного времени?
Vadim

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.10.2004 (Сб) 21:21

Его нельзя менять, потому что его нет. Double он и есть double.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.10.2004 (Сб) 21:24

SetLocaleInfo(LOCALE_STIMEFORMAT)
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.10.2004 (Сб) 21:41

А, в этом смысле...
Но, если честно, я так и не понял, чего ему всё-таки надо...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Сообщение DVV » 09.10.2004 (Сб) 22:30

Я хочу менять формат системного времени (24 или 12.)
Например:12:00:00 am ;24:00:00
Чтобы в настройках windows менялся формат.
Vadim

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 09.10.2004 (Сб) 22:33

GSerg писал(а):А, в этом смысле...
Но, если честно, я так и не понял, чего ему всё-таки надо...
Насколько я понял, человеку не хочется в таймере каждый раз проверять какой формат времени используется.
Если я прав, тогда это можно решить так:
Создаём строковую переменную, например MyTimeFormat$. В неё загоняем строку формата (например "hh:mm:ss" или "hh:mm:ss am/pm"), в общем тот который задал пользователь. А во всех лабелах или других надписях используем данную переменную.
Т.е. пишем не Label1.Caption=Now, а Label1.Caption=Format(now,MyTimeFormat$).
Таким образом формат меняется только при изменении настроек и проверяется только на корректность там же. В остальном - всё так же.
Хотя, конечно, всё равно будут преобразования при выводе (то же форматирование).
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

DVV
Бывалый
Бывалый
 
Сообщения: 212
Зарегистрирован: 02.09.2004 (Чт) 21:03
Откуда: Уфа

Сообщение DVV » 10.10.2004 (Вс) 0:14

Мне надо время системное поменять формат!
(Window-е настройки).Чтобы в правом нижнем углу PC менялся формат.
:!: :!:
Vadim

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 10.10.2004 (Вс) 1:24

DVV писал(а):Мне надо время системное поменять формат!
(Window-е настройки).Чтобы в правом нижнем углу PC менялся формат.

One page before...
tyomitch писал(а):Да какое время-то? Системное? То, что на часиках в углу панели задач? Или где?

DVV писал(а):Нет не системное!


Так быть или не быть?
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 8:00

DVV писал(а):Я хочу менять формат системного времени (24 или 12.)
Например:12:00:00 am ;24:00:00
Чтобы в настройках windows менялся формат.

Вот:
Код: Выделить всё
Option Explicit
Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) 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
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Const LOCALE_NEUTRAL = 0&
Private Const LOCALE_USER_DEFAULT = 1&
Private Const LOCALE_SYSTEM_DEFAULT = 2&
Private Const LOCALE_STIMEFORMAT = &H1003&
Private Const LOCALE_S1159 = &H28&
Private Const LOCALE_S2359 = &H29&

Sub Main()
Dim Format As String * 256
'узнать
GetLocaleInfo LOCALE_NEUTRAL, LOCALE_STIMEFORMAT, Format, 256
Debug.Print Format
'поменять на кривое
SetLocaleInfo LOCALE_NEUTRAL, LOCALE_S1159, "AM"
SetLocaleInfo LOCALE_NEUTRAL, LOCALE_S2359, "PM"
SetLocaleInfo LOCALE_NEUTRAL, LOCALE_STIMEFORMAT, "hh:mm:ss tt"
Debug.Print Time
Sleep 5000
'поменять обратно на нормальное
SetLocaleInfo LOCALE_NEUTRAL, LOCALE_STIMEFORMAT, Format
End Sub


Как заставить ещё и часы перерисоваться, с ходу не скажу.
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 1

    TopList