Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 10:34 03.06.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Смяна на формата на датата в Delphiнови  
Автор zpetrov (непознат)
Публикувано26.02.08 09:01



Здравейте, често ми се налага да работя с дати в бази данни на Delphi и срещам следния проблем:
Ако в регионалните настройки формата е избран да е "dd.MM.yyyy г." навсякъде се възприема по този начин. Ако обаче там е променено да речем на "d.M.yyyy" немога да го промена на "dd.MM.yyyy г." .
Пробвах следния код:

DateSeparator := '.';
ShortDateFormat:='dd.MM.yyyy г.';
Application.UpdateFormatSettings:=False;

още при зареждане на формата но не се получава.

DateTimePicker- те не се променят. Дори на всеки от тях да задам желания от мен формат те пак се променят в зависимост от това какво е в регионалнте настройки.

виждал съм обаче програми които променят датата, което означава. че може да стане само дето незнам как. Можете ли да помогнете ?

Предварително Ви благодаря.



Тема Re: Смяна на формата на датата в Delphiнови [re: zpetrov]  
Автор Formal (незнаещ)
Публикувано27.02.08 11:24



Ако го правиш на OnCreate, там вече са създадени компонентите на формата, пробвал ли си да сложиш кода в project файла или в initialization?



Тема Re: Смяна на формата на датата в Delphiнови [re: Formal]  
Авторzpetrov (Нерегистриран)
Публикувано27.02.08 12:01



слагал съм кода само на On Show на главната форма, но това не променя въпроса ми . Аз искам да се променя Regional Settings настройката, а не да нагаждам компонентите си по вече установения формат за дата.
И все пак благодаря. Ще пробвам да видя дали поне в програмата ще се държи коректно а не на всеки DateТimePicker да му задавам формат принудително



Тема Re: Смяна на формата на датата в Delphiнови [re: zpetrov]  
АвторИвaнчo (Нерегистриран)
Публикувано29.02.08 08:57



Направи си един празен юнит, или отвори някой който НЯМА форма.
Най - отдолу, преди end. напиши следното:



initialization
ShortDateFormat := 'dd/mm/yyyy';
LongdateFormat := 'dd/mm/yyyy';
DateSeparator := '/';
DecimalSeparator := '.';
ThousandSeparator := char(160);
CurrencyString := 'лв';
CurrencyFormat := 3;
NegCurrFormat := 8;
CurrencyDecimals := 2;
ShortTimeFormat := 'hh:mm';
LongTimeFormat := 'hh:mm:ss';
Application.UpdateFormatSettings:=False;

или си постави каквито си искаш стойности за глобалните променливи




Тема Хубава идеянови [re: Ивaнчo]  
Автор NikB (любопитен)
Публикувано01.03.08 09:30



Хубава идея.
Но няма нужда от празен юнит.
Явно, трябва тия редове да се изпълнят преди създаване на Дейта сетите.
Това може да стане по описания начин - в initialization частта на кой и да е юнит (викат се и се изпълняват по време на първия begin в проектния файл).
Има и други начини за оформление: да се направи отделна процедура, която да се вика непосредствено след тоя begin (в проектния файл е викането, апроцедурата - там или някъде другъде)
Или дори конструктора на главната форма (която се създава първа, преди всякакви дейта модули)

Но по същество е едно и също.

Впрочем, аз винаги съм предпочитал да си съхранявам датите в база данни като цели числа и да ги форматирам при вход и изход. Малко ме смущава, че Юникс представянето ще има проблем 2037г (някъде), но вероятно доста преди това ще се премине от int32 на int64 и проблемът ще се реши по-лесно.
Естествено, смятам, че и tDateTime е универсален дата формат.



Тема Re: Хубава идеянови [re: NikB]  
АвторИвaнчo (Нерегистриран)
Публикувано01.03.08 21:21



Да, да... Така е... Всякак може.

Въпрос на конкретна реализация. В горния случай, кода го "пляснах" в initialization, да му е по-ясно на колегата, но може пък и да съм го объркал, знам ли .
Избягвам да слагам код в основната форма при създаването и, защото в 99.9 % от случаите ми, преди това се създава TDataModule. Затова съм си направил един юнит в който има един куп помощни функции и процедури, и именно в initialization на този юнит, се вика и една процедура с цитирания код. Но предполагам, че всеки програмист си има такива "ценни" юнитчета.
За бази данни - не знам, може би съм малко объркан, но за какво ти е това обръщане в целочислено число?!? До колкото зная, почти всички потдържат TIMESTAMP тип данни, поне ако са ANSI92 съвместими. Но ти си знаеш



Тема Re: Хубава идея [re: Ивaнчo]  
Автор vido (минаващ)
Публикувано01.03.08 22:14



Ако става въпрос за Unix, а не за бази данни

Seconds since Jan 01 1970 в 32 битово целочислено число? Ако се използва такова представяне наистина трябва да се преформатира. Всъшност, какви са и как работят Now и Date в Кайликс? Не са ли абсолютно същите?

Редактирано от vido на 01.03.08 22:29.



Тема Re: Хубава идеянови [re: vido]  
АвторИвaнчo (Нерегистриран)
Публикувано02.03.08 09:12



Хммм...


И идея си нямам за Kylix - никога не ми се е налагало през последните 20-на години да пиша нещо за Unix среди




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.