макрос Сортировка по алфавиту (Calc)

Автор timal1234, 29 октября 2024, 09:19

0 Пользователи и 1 гость просматривают эту тему.

sokol92

Цитата: timal1234 от 13 ноября 2024, 17:42по человеческой логике "ЕАМ.123" должно быть раньше "ЕАМ5.123"
Вышеизложенный алгоритм натуральной сортировки является консенсусом, который сложился за многие годы.
Его видоизменение в рамках обсуждаемой программы (#23) возможно, поскольку на каждом шаге сортировки мы формируем массив ключей для сравнения. Если Вы формализуете дополнительные правила в виде описания новых параметров процедуры, то можно будет это обсудить.


Владимир.

timal1234

#31
Цитата: mikekaganski от 13 ноября 2024, 18:02
Цитироватьдецимальные номера
Что это такое?
Децимальный номер присваивают двумя способами: либо по классификатору ЕСКД либо по разработанному СТП на предприятии где расписана структура обозначения.

https://loskki.ru/wp-content/uploads/2019/02/chto-takoe-decimalnyj-nomer-korotko-i-yasno.jpg

В соответствии с требованиями стандартов ЕСКД, ЕСПД и КСАС каждому изделию (программе, системе) должно быть присвоено обозначение – группа знаков (цифр и букв), разделённых точками, пробелами, дефисами.

В ЕСКД систему обозначения изделий и их конструкторских документов устанавливает ГОСТ 2.201-80 «Обозначение изделий и конструкторских документов». Для каждого изделия устанавливается своё уникальное обозначение. Обозначение изделия является одновременно обозначением его основного конструкторского документа (чертежа детали или спецификации).

Обозначение изделию может быть присвоено двумя способами: централизовано – в рамках порядка, определённого министерством, ведомством, в рамках отрасли, или децентрализовано – в соответствии с правилами, принятыми в организации-разработчике.

timal1234

Цитата: mikekaganski от 13 ноября 2024, 18:02Неужели нельзя использовать слова, имеющиеся в языке? Если Вы используете слово, которое сами придумали, никто не знает, что оно означает в Вашей голове.

я и использую термин из ГОСТа (ЕСКД).
наезжать то зачем, не разобравшись?

timal1234

Цитата: mikekaganski от 13 ноября 2024, 18:02Ваш алгоритм должен сначала обработать строки: унифицировать разделители, отсутствие разделителя превратить в отдельный разделитель (сортирующийся после обычного разделителя). Только после этого сортировать.

если б я сам писал этот макрос, то да....
но этот макрос сортировки писал не я...
я плохо разбираюсь во всём, что касается методов uno и com::star::
это для меня тёмный лес...

timal1234

Цитата: sokol92 от 13 ноября 2024, 18:13Если Вы формализуете дополнительные правила в виде описания новых параметров процедуры, то можно будет это обсудить.

не совсем понял, что от меня требуется  ;D

sokol92

Цитата: timal1234 от 13 ноября 2024, 18:28не совсем понял, что от меня требуется 
Думаю, пока ссылки на ЕСКД достаточно.

Можно сделать параметр для варианта натуральной сортировки, в котором точка будет "старше всех" при разбиении текста на фрагменты.
Владимир.

timal1234

Цитата: sokol92 от 13 ноября 2024, 18:47
Цитата: timal1234 от 13 ноября 2024, 18:28не совсем понял, что от меня требуется


Можно сделать параметр для варианта натуральной сортировки, в котором точка будет "старше всех" при разбиении текста на фрагменты.

подскажите пожалуйста, как это сделать ?

mikekaganski

Цитата: timal1234 от 13 ноября 2024, 18:23я и использую термин из ГОСТа (ЕСКД).
В ГОСТе нет этого слова. Совсем.
С уважением,
Михаил Каганский

timal1234

Цитата: mikekaganski от 13 ноября 2024, 19:05
Цитата: timal1234 от 13 ноября 2024, 18:23я и использую термин из ГОСТа (ЕСКД).
В ГОСТе нет этого слова. Совсем.
да, каюсь, в ГОСТе нет такого термина.
Однако интернет знает, что такое децимальный номер  ;D
Похоже, это инженерный сленг, к которому меня приучили...
извиняюсь, что не объяснил сразу, что такое децимальный номер.

sokol92

Цитата: timal1234 от 13 ноября 2024, 18:54подскажите пожалуйста, как это сделать ?
Либо доработать макрос из #23, либо подождать, пока я это сделаю.  :)
Владимир.

timal1234

Цитата: sokol92 от 13 ноября 2024, 19:40
Цитата: timal1234 от 13 ноября 2024, 18:54подскажите пожалуйста, как это сделать ?
Либо доработать макрос из #23, либо подождать, пока я это сделаю.  :)
я выбираю второе  ;D
ибо не знаю, как его доработать и куда копать....