![]() |
|
|
![]()
|
|
| ura5 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
Есть переменные -год и месяц:
Я формирую имя таблицы в зависимости от выбранного месяца и года:
ВОПРОС: Поскольку текущий месяц 5,то в (strMonth-1) будет 4,а получается ,когда я вычту1 : TEL107 ,а должно TEL0407. strMonth = FormatDateTime("mm", Now());// ФОРМИРУЕТСЯ МЕСЯЦ В Виде числа двухзначного т.е.текущий месяц -05. Что неверно ? |
||||
|
|||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
ura5, не знаю я вот ради интереса написал мне четыре показывает:
|
|||
|
||||
| ura5 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
Правильно Вам показывает.
Мне тоже также показывает 4,а мне надо 04. ntabl="TEL"+AnsiString(StrToInt(strMonth-1))+AnsiString(strYear2); TEL0407 как? Только проверкой ? Нет ли такой команды чобы добавляла ноль перед однозначным месяцем -ведь strMonth = FormatDateTime("mm", Now());-формирует значение месяца в виде 05. |
|||
|
||||
| SenkraD |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
Ну самое простое это так кажись:
или так
и ещё есть функция sprintf и такой же метод есть у класа String Это сообщение отредактировал(а) SenkraD - 1.6.2007, 15:01 |
||||
|
|||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
|
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
TEL407 ,а должно TEL0407 ? -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| ura5 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
Да,должен быть месяц двухзначным.Т.е. ,если месяц однозначный (январь-сентябрь),то надо перед ним добавить ноль 0.Это я понимаю,что можно сделать соединением типа "KK"+"0" .есть ли такая функция или как там называется в С++Builder,чтобы она всегда высвечивала месяц в виде 2-значного числа.Ведь я первоначально получаю месяц в виде 2-значного числа,потом вычмтаю 1 и получаю почему-то уже 1 цифру :
После таких преобразований получается имя таблицы "KK407",а надо "KK0407" . |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
ura5, а что вы хотели - зачем целочисленной переменной хранить спереди незначещий ноль?!
Вообщем, напишите свою функцию для этого дела и не мучайтесь - это более правильно и целесообразно, если вам где-то ещё придётся использовать это преобразование Это сообщение отредактировал(а) SenkraD - 4.6.2007, 09:49 |
|||
|
||||
| ura5 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
SYSTEMTIME *pSystemTime;
GetSystemTime(pSystemTime); pSystemTime->wMonth--; TDateTime pDateTime = SystemTimeToDateTime(*pSystemTime); AnsiString strDate = "KK" + pDateTime.FormatString("mmyy"); |
|||
|
||||
| ura5 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
Вопрос: есть ли готовая ф-ция для определения названия месяца (не текущего )или надо только самой писать? |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
ura5, я не совсем понял вопрос. Поясните, пожалуйста.
|
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
Разве это сложно?
|
|||
|
||||
| ura5 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
Я привела пример определения названия месяца с помощью :
Это пример для определения названия текущего месяца. А как определить название месяца по любому выбранному номеру месяца? Есть ли что-то стандартное или нет ? |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
|
|||
|
||||
| ura5 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
Fazil6,
Вы написали мне пример.Извините за безграмотность,но я полагаю,что это функция ,которая выбирает номер месяца?И к ней надо обратиться из программы.Да? И такое надо. А у меня к Вам вопрос : Как мне определить название месяца меньшего на единицу от текущей даты? Спасибо. |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
||||
|
||||
| ura5 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
[b]Fazil6! [b]
Ошибку получила.Скажите, переменная strMonth -это число? Ведь FormatDateTime ("mm", Now()) выводит месяц в виде 2-значного числа. Значит,если так,то я умкньшаю месяц на 1 и получаю предыдущий. Почему же ошибка? Добавлено через 5 минут и 4 секунды Fazil6! Огромное спасибо -это как раз то,что я искала. |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
||||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |