|
1 / 1 / 1
Регистрация: 06.05.2017
Сообщений: 60
|
|||||||||||
RAD XE3+ Поток и ф-ции с FormatSettings02.06.2018, 04:00. Показов 5713. Ответов 31
Метки нет (Все метки)
Нужно вызвать функцию timetostr в потоке.
В фак'е сказано, что нужно вызывать функцию таким образом
То есть если у меня несколько потоков, мне необходимо в каждом потоке делать следующее?
Ведь по идее formatsettings уже имеет стандартные параметры... я что-то не понимаю, объясните пжлст
0
|
|||||||||||
| 02.06.2018, 04:00 | |
|
Ответы с готовыми решениями:
31
FormatSettings.DecimalSeparator
|
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
|||
| 23.11.2019, 02:12 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 15
|
|||
| 23.11.2019, 14:11 | |||
|
Добавлено через 7 минут
0
|
|||
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 23.11.2019, 14:12 | |
|
tsa2016 совершенно верно. Без предварительной инициализации, вы рискуете нарваться на ошибку преобразования данных, причем ошибка не будет появляться на 90% компах, где используется обычная локализация, а вот на 10% пользователь захотел и изменил представление даты через тире, а не слэш или точку или вообще свой вариант использовал. Именно поэтому в Дельфи XE нужно через конструктор обращаться к этой переменной, который гарантированно скопирует из локали все параметры, а уже потом вы делайте с ними что хотите.
0
|
|
|
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 15
|
||
| 23.11.2019, 14:26 | ||
|
Добавлено через 9 минут 2 krapotkin Пожалуй действительно недосмотрел. Спасибо. Правильно ли я понимаю, что мне нужно написать: FS := TFormatSettings.Create('ru-RU'); и при этом писать FS.ShortDateFormat := 'dd.mm.yyyy'; уже нет нужды?
0
|
||
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 23.11.2019, 15:54 | |
|
Если вы хотите на любой локали видеть именно в таком формате, а не в предустановленном то нужно. Суть TFormatSettings в том, что бы обеспечить разработчику возможность на выходе получить формат именно в нужном ему формате, а не в локальном.
Добавлено через 15 минут Вот так выглядит в D2010 структура FormatSettings по умолчанию. В D2010 это просто глобальная переменная: (0, 0, #0, #0, 0, #0, #0, #0, '', '', '', '', '', '', '', ('', '', '', '', '', '', '', '', '', '', '', ''), ('', '', '', '', '', '', '', '', '', '', '', ''), ('', '', '', '', '', '', ''), ('', '', '', '', '', '', ''), 0) И вот так она выглядит после применения функции GetLocaleFormatSettings(LOCALE_SYSTEM_DE FAULT, formatSettings) (3, 8, ' ', ',', 2, '.', ':', ';', #$20BD, 'dd.MM.yyyy', 'd MMMM yyyy ''г.''', '', '', 'hh:mm', 'hh:mm:ss', ('янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'), ('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'), ('Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'), ('воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'), 0) В XE это уже не просто глобальная переменная типа reacord, а существенно более сложная структура TFormatSettings, имеющая свои методы и специальную функцию инициализатор Create (это не класс и Create не конструктор) и тут ситуация аналогичная. Без инициализации имеем: ('', 40, 22, 'F', #$FFFF, #$FFFF, '', '', '', '', '', '', ('', '', '', '', '', '', '', '', '', '', '', ''), ('', '', '', '', '', '', '', '', '', '', '', ''), ('', '', '', '', '', '', ''), ('', '', '', '', '', '', ''), (), 'ﺨ', #$19, 35296, 66, '') а теперь используем инициализатор Create: FormatSettings := TFormatSettings.Create; (#$20BD, 3, 2, '.', ':', ';', 'dd/MM/yyyy', 'd MMMM yyyy ''г.''', '', '', 'hh:mm', 'hh:mm:ss', ('янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'), ('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'), ('Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'), ('воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'), (), ' ', ',', 50, 8, '')
1
|
|
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
|
| 24.11.2019, 00:55 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 15
|
||
| 24.11.2019, 01:00 | ||
|
0
|
||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
||||||||
| 24.11.2019, 01:19 | ||||||||
0
|
||||||||
|
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 15
|
|||
| 24.11.2019, 01:32 | |||
|
Соответственно, в Дельфи 2010 я поставил GetLocaleFormatSettings(LOCALE_SYSTEM_DE FAULT,FS); FS.ShortDateFormat:='dd.mm.yyyy'; в в Дельфи 2018: FS:=TFormatSettings.Create('ru-RU');
0
|
|||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
||
| 24.11.2019, 02:23 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 15
|
|||
| 24.11.2019, 03:50 | |||
|
0
|
|||
| 24.11.2019, 03:50 | |
|
Создал поток. В нем выделил буффер. Поток выполнился, но из за буфера ругнулся. Поток освобождается, но переменная, которой был присвоен этот поток, не очищается Разработать программу, в которой основной поток, принимает поток ввода и контролирует созданные потоки. Ошибка-Текущий поток должен быть задан как поток однопоточного контейнера STA
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|