Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DisplayFormat в ADODataSet 
:(
    Опции темы
Mpak
Дата 22.4.2008, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



В общем узнал о наличии такого замечательного свойства как DisplayFormat smile
Поюзал, действительно хорошая вещь smile

Передо мной встал вопрос, как до него добраться программным методом (кодом)?
  ( Например, если в процессе выполнения программы требуется его изменить с #.###, на #.##. )
Два дня тыркаюсь, как слепой котенок - не могу..
Подскажите пожалуйста.


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
mrbrooks
Дата 23.4.2008, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Имхо а ты уверен что свойство DisplayFormat есть в ADODataSet? Вроде бы это только относится к полям с датой таким как TDateTimeField.
DisplayFormat - это просто строка форматирования.
спецификаторы:
год:  
    yyyy (2008)
    yy (08)
месяц: 
    m (1-12) 
    mm (01 -12)
день:
    d (1-31)
   dd (01-31)
разделители: ':','.'

Допустим поле TDateTimeField зовется у тебя FuckTime. В поле занесено 9 сентября 2255 года. Поехали

Код

// какое то событие - клик кнопки к примеру
{
FuckTime->DisplayFormat = "yy:mm:dd ";   // отобразится 55:09:09
FuckTime->DisplayFormat = "dd.mm.yyyy ";   // отобразится 09.09.2255
FuckTime->DisplayFormat = "d.m.yyyy ";   // отобразится 9.9.2255 и так далее
}


Так что комбинируй в свое удовольствие.
PM MAIL   Вверх
Mpak
Дата 23.4.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



Хммм... сам лично выставлял дисплей формат для чилового поля (float)
Узнал об этом из вот этого сообщения.
И работало все ок.
Вот только выставлял я это при уже подгруженой базе в DBGrid... (в Object Inspector'e)

Это сообщение отредактировал(а) Mpak - 23.4.2008, 10:40


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
mrbrooks
Дата 23.4.2008, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



а понятно. так принцип тот же самый 
было скажем значение 2.22222222
Код

FuckFloat->DisplayFormat = "#.## "; // 2.22

PM MAIL   Вверх
Mpak
Дата 23.4.2008, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



В том то и проблема... что не могу найти...
ADODataSet1-> ... а дальше?


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
mrbrooks
Дата 24.4.2008, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Сделай в инспекторе объектов так:

ADODataSet->CommandType = cmdTable;
ADODataSet->CommandText = "название_твоей_таблицы";

далее щелкай по самому компоненту -> повятся форма с листбоксом -> правая кнопень мыши -> add fields (или add all fields - если все нужны) -> добовляешь свое поле допустим  с неймом FuckFloat - нужный Field есть - и как грится выше по тексту.

Все дальше играй с CommandType и CommandText в сторону либо SQL запросов либо просто как с работой с ADOQuery



PM MAIL   Вверх
Mpak
Дата 25.4.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



Цитата(mrbrooks @  24.4.2008,  11:26 Найти цитируемый пост)
далее щелкай по самому компоненту -> повятся форма с листбоксом -> правая кнопень мыши -> add fields (или add all fields - если все нужны) -> добовляешь свое поле допустим  с неймом FuckFloat - нужный Field есть - и как грится выше по тексту.

Я так и делал. Но у меня по-умолчанию нет таблицы. То есть в процессе выполнении программы польщователь выбирает нужную ему таблицу.

Пробовал
Код

ADODataSet1->FieldByName("N1")->Display...

Выводится только DisplayText, DisplayLabel, DisplayName, DisplayWidth

Это сообщение отредактировал(а) Mpak - 25.4.2008, 16:34


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
mrbrooks
Дата 28.4.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



А у тебя имхо структуры таблиц выбираемые пользователем разные?
PM MAIL   Вверх
Mpak
Дата 30.4.2008, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



Не, структура определенная, и в то же время нет.
Обязательно таблица должна называться Table.
Столцы иметь имена (и в определенном порядке)
ID N1 N2 ... Ni Date
Количество столбцов N неограничено, но именно такой порядок нужен.
ID - счетчик
N1 - Ni - чиловые данные (типа double)
[B)Date[/B] -  Дата


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
mrbrooks
Дата 30.4.2008, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Слушай а может тебе есть смысл хранить значение как строку. Понимаешь о чем я? 
Ведь если таблицы будут создавать из твоего приложения и только твоего - то здесь ты настоящий мачо!
Смотри проблем с преобразованием строк в вещественное и обратно нет. То же самое с датами.
Ты об этом подумай.  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.