Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.23;
Скачать: CL | DM;

Вниз

Изменения отображения в DBGrid   Найти похожие ветки 

 
DiX ©   (2007-10-25 22:43) [0]

Имеется таблица, в ней имеется столбец time, в котором указывается время. Мне при отображении таблицы нужно прибавлять/отнимать от этого времени определённое кол-во часов, но чтобы сама таблица при этом не менялась. Также есть столбец date, в котором указывается дата. Нужно, чтобы при прибавлении/отнимании времени также менялась при необходимости дата( к примеру у нас поле time содержит 21:45 и необходимо прибавить 5 часов, тогда время станет соответственно 01:45 и к дате должен добавиться 1 день). Подскажите, пожалуйста, как такое реализовать?


 
sniknik ©   (2007-10-25 23:02) [1]

> Подскажите, пожалуйста, как такое реализовать?
легко... (как бы сделал я), вместо столбца time и date делаем 1 столбец datetime и второй модификатор (что прибавляется/отнимается) того же типа. делаем ... и не показываем их! (в гриде убираем колонки), вместо них показываем два вычисляемых поля, соответственно date и time, значения которых легко расчитать - для date это "дата от суммы datetime и модификатора", для time соответственно время от того же самого... все.
функции для работы с датами есть в модуле "датеутилс".


 
DiX ©   (2007-10-26 00:28) [2]

Дело в том, что нужно сделать так, как написано: отдельно столбец date и отдельно столбец time


 
Германн ©   (2007-10-26 01:37) [3]


> DiX ©   (26.10.07 00:28) [2]
>
> Дело в том, что нужно сделать так, как написано: отдельно
> столбец date и отдельно столбец time
>

Ну и. Чем не устраивает [1]? Там именно "отдельно столбец date и отдельно столбец time".


 
DiX ©   (2007-10-26 08:12) [4]


> столбца time и date делаем 1

а я не могу мнять исходную таблицу


 
Sergey13 ©   (2007-10-26 08:25) [5]

> [4] DiX ©   (26.10.07 08:12)
> а я не могу мнять исходную таблицу

Ну и не меняй. Это не принципиально, просто sniknik подсказал тебе как это принято делать в лучших домах Парижа и Лондона.
Главное в его совете
> вместо них показываем два вычисляемых поля
Вот от этого и пляши.


 
sniknik ©   (2007-10-26 08:29) [6]

> а я не могу мнять исходную таблицу
CDS? чисто клиентский рекордсет, и нельзя менять?... нда.
ну делай/меняй тогда в копии рекордсета, создай его в памяти с обсужденной структурой скопируй данные в копию (минимум изменений, слить два поля в одно) и отображай уже копию.


 
sniknik ©   (2007-10-26 08:32) [7]

> Главное в его совете
а поле модификатор? как без него соблюсти условие, что изменяемые данные не должны изменятся?
хотя, если делать в копии рекордсета то оригинал и без модификатора будет неизменен...


 
Sergey13 ©   (2007-10-26 09:00) [8]

> [7] sniknik ©   (26.10.07 08:32)
> а поле модификатор

Как я понял в вопросе все даты/времена меняются на какую то одинаковую величину, которая может варьироваться пользователем. Если дельта времени разная для каждой записи, то разумеется эта дельта должна храниться в записи, если она одинаковая, то нужды в этом нет.


 
sniknik ©   (2007-10-26 09:06) [9]

> Как я понял в вопросе все даты/времена меняются на какую то одинаковую величину
а, ну если так то действительно. а то я думал, что приденные цифры это только пример, и только для одной записи, в другой будут другие.


 
Правильный_Вася   (2007-10-26 11:10) [10]

Field.OnGetText


 
DiX ©   (2007-10-26 16:11) [11]

Дельта одна для всей таблицы. В таблице содержится время в GMT 0, а у пользователя должно добавляться/отниматься необходимое время в зависимости от выбранного GMT


 
DiX ©   (2007-10-29 00:53) [12]

Ну так, кто-то может ответить?


 
Германн ©   (2007-10-29 01:06) [13]


> DiX ©   (29.10.07 00:53) [12]
>
> Ну так, кто-то может ответить?
>

Так ответили уже. Или код за тебя написАть?


 
DiX ©   (2007-10-29 21:09) [14]

Field.OnGetText

А как это применить и где?


 
Германн ©   (2007-10-30 01:19) [15]


> DiX ©   (29.10.07 21:09) [14]
>
> Field.OnGetText
>
> А как это применить и где?
>

Почитай справку по OnGetText. (Если ты конечно не "земляк" Р.Абрамовича" :)
И вообще. Уже более 4-х суток идёт обсуждение твоего вопроса, а от тебя не поступило ни одной строки кода, который бы показывал, что ты хоть что-то сам делаешь или пытаешься сделать!
Одно из двух. Либо ты "учишься плавать по учебнику", либо [13].
Первое слишком глупо в данном случае, второе из разряда "подайте христаради".



Страницы: 1 вся ветка

Текущий архив: 2008.03.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
6-1183320040
MOO
2007-07-02 00:00
2008.03.23
Как отследить подключение к Интернет по DialUP?


2-1204029774
matt
2008-02-26 15:42
2008.03.23
OLE и Excel


11-1186278717
ElectriC
2007-08-05 05:51
2008.03.23
Проблем-ка с TIcon


15-1202889916
Iam
2008-02-13 11:05
2008.03.23
WebMoney


15-1202824478
Iam
2008-02-12 16:54
2008.03.23
Бесплатная междугородняя IP-телефония