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

Вниз

Currency and date/time formatting variables   Найти похожие ветки 

 
Германн ©   (2008-03-06 01:56) [0]

Не ну.
Новый наш главный программист "подправил" проги. (Извиняюсь за слэнг) но иначе эти сырые программы никак не назвать. Добавил:
procedure TMain.FormCreate(Sender: TObject);
begin
// устанавливаем персональные региональные параметры.
 DateSeparator := ".";
 TimeSeparator := ":";

Вот объясните зачем?

P.S. Словосочетание UpdateFormatSettings нигде в проге не упоминается.


 
Marser ©   (2008-03-06 02:04) [1]

Затем, чтобы эмулировать любимую локаль в рамках отдельно взятой программной среды :-))
Конечно, тупо как двери...


 
korneley ©   (2008-03-06 02:11) [2]


>  UpdateFormatSettings нигде в проге не упоминается.
Ну... по приведённому участку... просто выставляются сепараторы на то, как в прога считается правильным... Всяко StrToDate где-то есть. Или StrToDateTime :)


 
Германн ©   (2008-03-06 02:12) [3]


> Marser ©   (06.03.08 02:04) [1]
>
> Затем, чтобы эмулировать любимую локаль в рамках отдельно
> взятой программной среды :-))
> Конечно, тупо как двери...
>

Эээ. А
> Словосочетание UpdateFormatSettings нигде в проге не упоминается.
ты прочитал?
Из хэлпа: Specifies whether format settings are updated automatically when the user alters the system configuration.
И где после этих действий юзера окажется твоя "любимая локаль"?


 
Marser ©   (2008-03-06 02:14) [4]

Я потому и про "тупо" написал. Но если не будет, то см. [2], на то у него и расчёт.


 
korneley ©   (2008-03-06 02:16) [5]


> Конечно, тупо как двери...
А что тупо? Я наезжал на варианты импорта данных, когда импортирующий свято верит в то, что "/" - DateSeparator. И никак иначе. При этом на компе стоит ".", как у русскоязычных.  Поэтому и делал доп. настройки "системные", "свои"....


 
korneley ©   (2008-03-06 02:21) [6]


> когда импортирующий
экспортирующий, конечно... :(


 
Loginov Dmitry ©   (2008-03-06 07:55) [7]

> И где после этих действий юзера окажется твоя "любимая локаль"?


Есть мнение, что главый программист либо просто не в курсе, что при изменении DateSeparator необходимо использовать UpdateFormatSettings (иначе через N-е кол-во времени появятся соответствующие "побочные" эффекты), либо указал это в другом месте проекта. А "зачем" - именно у него наверно и стоило спросить.


 
Семеныч   (2008-03-06 10:18) [8]

> Marser ©   (06.03.08 02:04) [1]

> Затем, чтобы эмулировать любимую локаль в рамках отдельно взятой
> программной среды :-))
> Конечно, тупо как двери...

Еще тупее. На заре своей программистской карьеры я тоже полагал, что вот выставлю программе ее собственную локаль - и все преобразования в ней всегда будут проходить "на ура". А системные настройки, которые юзер под себя выставил - да наплевать на них вместе с юзером.

И все было замечательно (за исключением сущей мелочи - некоторые особо привередливые юзеры таки жаловались на непривычные настройки). До тех пор, пока не потребовалось интегрировать одну из уже давно написанных программ с Ёкселем. Далее сам понимаешь, да? Волей-неволей пришлось вернуться к системным настройкам - и в программа тут же поплыла в целой куче мест.

> Loginov Dmitry ©   (06.03.08 07:55) [7]
> Есть мнение, что главый программист...

Исходя из сабжа, есть мнение, что главный программист, о котором идет речь, для должности главного еще не вполне сложился, как специалист. Потому что из сабжа явно следует, что он еще не осознал одного из главных принципов построения GUI - "не выпендривайся"! Значит, еще не имеет достаточного опыта, чтобы ему можно было доверить принятие решений.


 
Семеныч   (2008-03-06 10:34) [9]

Кстати, в тему...

У кого стоит локаль US и русский Word 2003, наверное, не раз удивлялись, что Word в непонятные моменты времени (в частности, при своем закрытии) вдруг выдает на экран MessageBox с изумительно понятной диагностикой ошибки: "Неверно задана единица измерения". Ну так вот: уберите с тулбара Word"а кнопку "Изменить межстрочный интервал" - и ошибка чудесным образом исчезнет (???!!!).

Если открыть комбобокс, привязанный к этой кнопке, то причина становится понятной - там в качестве DecimalSeparator жестко прописана запятая (!!!). Видимо, когда писалась русифицирующая DLL, то такое решение было принято главным программистом, подобным сабжевому.


 
Правильный_Вася   (2008-03-06 11:04) [10]

6.35. Правило Готлиба
Если  начальник пытается произвести впечатление на подчиненных знанием деталей, он теряет из виду конечную цель.


 
Правильный_Вася   (2008-03-06 11:05) [11]

6.3. Принцип Питера
В  любой  иерархической  системе  каждый  служащий стремится достичь своего уровня некомпетентности.
Следствия:
1. С течением времени каждая должность будет занята служащим, который некомпетентен в выполнении своих обязанностей.
2. Работа выполняется теми служащими, которые еще не достигли своего уровня некомпетентности.


 
Marser ©   (2008-03-06 13:27) [12]


> Правильный_Вася  

Классно, раньше такого не слышал :-)


 
Anatoly Podgoretsky ©   (2008-03-06 15:01) [13]

> Германн  (06.03.2008 01:56:00)  [0]

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


 
Поп Гапон   (2008-03-06 16:01) [14]

Я делаю так.
Определяю глобальную переменную локализации внутри программы LocalSkinFormatSettings и везде где нужно чётко локализовать данные(например из настроечных xml файлов) использую ее.

Инициализируем в секции initialization
   GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, LocalSkinFormatSettings);
   //Прописываем локальные установки форматов типов
   LocalSkinFormatSettings.DecimalSeparator := ".";
   {...}

Используем в программе
 Result := FloatToStr(FValue, LocalSkinFormatSettings);

Во всех остальных случаях где не требуется выпендреж(часто требование к выпендрежу со стороны заказчика) используются системные данные.


 
Германн ©   (2008-03-07 02:14) [15]


> Anatoly Podgoretsky ©   (06.03.08 15:01) [13]
>
> > Германн  (06.03.2008 01:56:00)  [0]
>
> В болото он вас ведет, будете бороться с самыми непонятными
> глюками в разных местах, не говоря уже о пользователях.
>

Угу.



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

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

Наверх




Память: 0.51 MB
Время: 0.014 c
2-1206226902
Elec3C
2008-03-23 02:01
2008.04.20
Процедуры


15-1205002553
2лекс
2008-03-08 21:55
2008.04.20
MD5Append


15-1205124920
xVlad
2008-03-10 07:55
2008.04.20
Си в delphi


2-1206508766
@!!ex
2008-03-26 08:19
2008.04.20
Определить, что текущая раскладка Ru или не Ru


8-1178470753
ElenaS
2007-05-06 20:59
2008.04.20
открытые проекты звуковых редакторов