|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
11.01.2023, 08:01 | #1 | |
Узнать системный десятичный разделитель через переменную окружения (среды) с помощью GETENV
Регистрация: 04.12.2012
Сообщений: 105
|
||
Просмотров: 1221
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,840
|
Клянись, поскольку ACAD для разделителя целой и дробной всегда использует точку, независимо от настроек ОС
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,840
|
А что тема делает в разделе AutoCAD? Кто ее сюда поместил?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Переменной окружения нет. Но есть DecimalSeparator Property (ActiveX)
Добраться до него легко в любой среде программирования. Можно и в Автокаде через VBA. Можно и через VisuakLisp. Пример Код:
Т.е. разделитель получаем из (vla-get-decimalseparator vla-object ) Но вот vla-object может быть из списка Dim3PointAngular, DimAligned, DimAngular, DimArcLength, DimDiametric, Dimension, DimOrdinate, DimRadial, DimRadialLarge,DimRotated. Т.е. надо иметь созданный размер. Это не очень удобно. Когда мне это надо было, я создал свой COM-сервер на Delphi со всяческими переменными Windows и брал всё из него одним действием. Да наверняка такой есть и в самой Windows, а как из него читать можно посмотреть из примеров на VBA. Ну а в ObjectArx или .Net это вообще элементарно. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Но затем применяет его к размерам, да еще с возможностью изменения. Вот этот измененный DecimalSeparator будет только внутри Автокада и для конкретного объекта. На мой взгляд это излишне. Но есть программисты сторонники "полной свободы". Они и в некоторых электронных таблицах сделали возможность устанавливать разделитель для каждой ячейки. Они "хотели как лучше", но получилось "как всегда" - из-за этого возникает много ошибок. Цитата:
Потому в разных средах разработки данные стараются брать не из реестра, а из модуля доступа к WinApi. |
|||
|
||||
Регистрация: 04.12.2012
Сообщений: 105
|
Ух-х-х...
Гениально! Спасибо, маэстро! Ответ в самую точку! Честно, мерещилось, что получить его как-то проще - но мог и ошибиться. Главное - помнил, что можно. Но, поскольку это работает и получает именно то, что надо - спасибо Вам огромное! А может, было не через ENTGET, а как-то через WScript.Shell? Опять путаю? |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Там много чего можно. В том числе сделать что угодно с вашим компьютером.
Вот этим лучше не пользоваться. Это же дыра в безопасности, позволяющая выполнять посторонние скрипты. С чужого сайта или вложенные в email. Нормальный сисадмин запрещает выполнение этих процессов. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Когда перешли на Win95 в Майкрософт решили, что надо дать и там подобный инструмент. Да еще с потрясающими возможностями. Но он был рассчитан на законопослушных пользователей, применяющих на своем компьютере. Когда массово стали использовать Интернет нехорошие люди быстро сообразили, что скрипт можно встроить и в страницу, причем скрипт будет выполняться на компьютере пользователя. А IntenetExplorer включая версию 5 с радостью выполнял любые скрипты. Да хоть диск отформатировать. И почтовые клиенты от Майкрософт тоже по умолчанию открывали вложения без спроса. Ну а для 12-летних "кулхацкеров" даже в журналах публиковали примеры. Конечно, дыры в защите постепенно закрывались (делая новые), но творчество масс остановить нельзя. До сих пор приходят письма, в которые вложен какой-нибудь vbs с открытым текстом. Поэтому правильные сисадмины блокируют выполнение WScript. Но ведь выросло и новое поколение, не помнящее об этом. Да и теперь у каждого свой компьютер есть. А в своих программах WScript.Shell не стоит использовать, хотя иногда шаловливые ручки так и тянутся. |
|||
|
||||
Регистрация: 04.12.2012
Сообщений: 105
|
Уважаемый ShaggyDoc!
Спасибо! Принято к сведению! Постараюсь не хотеть применять! ; )) ----- добавлено через ~4 мин. ----- Уважаемый коллега Автон! Прошу у Вас прощения за невнимательность и тормознутость! Я обрадовался Вашему примеру, думаю, именно его и имел в виду (раз уважаемое сообщество - по крайней мере пока - не вспомнило вариант с GETENV'ом)! И именно его я и имплантирую в свой код! Спасибо Вам за своевременную и попавшую в точку помощь! |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как начертить фасад с помощью геодезической съемки через видовые экраны? | Bleba | AutoCAD | 22 | 20.11.2013 15:37 |
Площадь штриховки не узнать через свойства | Hans667 | AutoCAD | 24 | 01.11.2012 16:16 |
Печать нестандартных размеров листа с помощью плоттера, подключенного через маршрутизатор | _Nikita_ | Прочее. Программное обеспечение | 3 | 02.09.2010 10:25 |
Как настроить выход в интернет с комуникатора через блютуз и ПК | KonGo | Разное | 15 | 01.04.2010 18:46 |
Как с помощью VBA в Exel подключить AutoCAD. У меня работает через раз. Пример во вложении | pungarov | Программирование | 9 | 25.02.2010 16:39 |