Форум: "Прочее";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.043 c