Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как можно изменить св-во DisplayFormat ;поля TDateTime ..... [D5, MSSQL]


Eduard ©   (2002-12-17 15:03:00) 

Создаю TADOQuery в другой ветви таким образом:

type
TThreadQuery = class(TThread)
private
AdoDB:TADOConnection;
AdoQ:TADOQuery;
ds: TDataSource;
protected
procedure DoWork;
procedure Execute; override;
public
constructor Create(const aSQL: TStrings; aAdoDB:TADOConnection; aDS: TDataSource);
destructor Destroy;override;
end;
implementation

uses ufMain;

constructor TThreadQuery.Create(const aSQL: TStrings; aAdoDB:TADOConnection; aDS: TDataSource);
begin
inherited Create(True);
FreeOnTerminate := True;
AdoQ:=TADOQuery.Create(nil);
AdoDB:= aAdoDB;
DS := aDS;
AdoQ.Connection:= AdoDB;
AdoQ.SQL:=aSQL;
Resume;
end;

destructor TThreadQuery.Destroy;
begin

if Assigned(AdoQ) then
begin
AdoQ.Close;
AdoQ.Free;
AdoQ := nil;
end;
inherited;
end;

procedure TThreadQuery.DoWork;
begin

DS.DataSet := AdoQ;

end;

procedure TThreadQuery.Execute;
begin

AdoQ.Open;
synchronize(DoWork);
Suspend;

end;
end.

Необходимо что бы поле в открывшейся таблице типа TDateTime имело формат представления "hh:nn:ss". В DBGrid св-ва DisplayFormat не нашёл :)) Заранее спасиб за ответы ..


Anatoly Podgoretsky   (2002-12-17 20:10:00) [1]

Johnmen © (17.12.02 17:27)
Видимо они мыслили так mi Nutes, ох сколько народу на этих mmи nnнажглось :-)


Prooksius   (2002-12-17 19:51:00) [2]

2 FreeLancer © (17.12.02 17:38)
А говорил, что не злопамятный... ;-))))))


Johnmen   (2002-12-17 17:49:00) [3]

>FreeLancer © (17.12.02 17:38)

Чему не можешь поверить ? Что я уже в этот хелп не заглядывал несколько лет ? Поверь !!! Это так !!!
Нужды то не было :), хватало hh:mm.....
Ж:-))))))))))


FreeLancer   (2002-12-17 17:38:00) [4]

Поверить не могу, второй раз за полчаса:

Johnmen ©
> Только вот никак не пойму, что такое nn в "hh:nn:ss" ?
Наносекунды


nn Displays the minute with a leading zero (00-59).


Prooksius   (2002-12-17 17:32:00) [5]

nn - минуты так сделали, чтобы не спутать с месяцами.


Johnmen   (2002-12-17 17:27:00) [6]

>Anatoly Podgoretsky © (17.12.02 16:41)

Да, похоже...
Только вот никак не пойму, что такое nn в "hh:nn:ss" ? Наносекунды ?
:))))))))))))))))))))))))


Anatoly Podgoretsky   (2002-12-17 16:41:00) [7]

У мне разве так написано, еще раз повторяю с выделением
(... asTDateTimeField ).DisplayFormat:="hh:nn:ss";


Eduard   (2002-12-17 16:36:00) [8]

Prooksius ©
Query.FieldByName("..."):TField
а DisplayFormat
:))
Prooksius © (17.12.02 15:51)
Ну да, свойство не самого TField, а его наследников, причем не всех.
Набери в Дельфи TDateTimeField и нажми F1.


Eduard   (2002-12-17 16:32:00) [9]

Anatoly Podgoretsky
AdoQ.Fields.Fields[2].AsDateTime.DisplayFormat:="hh:nn:ss";
ошибка
[Error] uThQ.pas(113): Record, object or class type required
(... as TDateTimeField) нет таковых..
похоже надо создавать обьект TDateTimeField и туда запихивать
данные формата AsDateTime

... Всем ещё раз спасибо .. Буду завтра :))


Anatoly Podgoretsky   (2002-12-17 16:21:00) [10]

Johnmen © (17.12.02 16:15)
Вообще то в списке наследованных свойств есть свойство Fields


Prooksius   (2002-12-17 16:20:00) [11]

Если я не ошибаюсь, Query.FieldByName("...").DisplayFormat := ...


Anatoly Podgoretsky   (2002-12-17 16:18:00) [12]

Любое из этих, только сделать приведение (... as TDateTimeField).DisplayFormat:="hh:nn:ss";


Johnmen   (2002-12-17 16:15:00) [13]

Для адошных типов полей нет DisplayFormat.
М.б. подойдет просто на все приложение ShortDateFormat:="hh:mm:ss"


Eduard   (2002-12-17 16:08:00) [14]

Prooksius ©

вот тут то я и не вкуряю....
есть query открытое, есть Поле "MyField" или Fields[0]типа TDateTimeField (строка AdoQ.Fields.FindField("MyField") после AdoQ.Open; {см выше} даёт <> nil)
не могли бы написать что должно быть вместо ***
***.DisplayFormat:="hh:nn:ss";


Prooksius   (2002-12-17 15:51:00) [15]

Ну да, свойство не самого TField, а его наследников, причем не всех.
Набери в Дельфи TDateTimeField и нажми F1.


Eduard   (2002-12-17 15:43:00) [16]

for Prooksius © :))
TField properties:
***
CustomConstraint
DataSet
DataSize
DataType
DefaultExpression
DesignInfo
DisplayLabel
DisplayName
DisplayText
DisplayWidth
EditMask
***
сортировка по алфавиту DisplayFormat-?


Diouzshev   (2002-12-17 15:19:00) [17]

Выставить DisplayFormat в DesignTime и читать статью
http://www.delphicorner.f9.co.uk/articles/db1.htm
Если не подходит то см что написал Prooksius © (17.12.02 15:06)


Prooksius   (2002-12-17 15:06:00) [18]

Так DisplayFormat - свойство поля (TField).


Наверх

Титульная страница Поиск, карта сайта Написать письмо