Forum > Russian

Кирилические имена функций

(1/2) > >>

Mr. George:
Добрый вечер!

Имеется 1с, подключаюсь к ней через ком объект.
Внутри 1с методы написаны на кирилице.

В делфи можно писать нечто такое:


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---Connection:=CreateOleObject('V83.ComConnector');c:=Connection.Connect('File="E:\test"; usr=""; pwd=""');version:=c.ОбщийМодуль.ПолучитьВерсию();ShowMessage(version); 
В лазарусе ругается на русские символы при компиляции.
А именно на c.ОбщийМодуль - "О" не корректный символ.

Есть какое-то решение?
Или это болячка из-за отсутствия полноценной поддержки юникода?

tetrastes:
А что, UTF8 - не полноценная поддержка Юникода?
Только причем здесь поддержка Юникода?

Естественно, что не латинские буквы в коде не поддерживаются:
https://www.freepascal.org/docs-html/current/ref/refse1.html#x9-80001.1
как, впрочем, и в других широко используемых языках программирования.

Что касается поддержки кириллицы в коде Делфи, если это действительно так, то это ее извращение (пардон, расширение), до которого FPC еще не дорос. Я с Делфи лет 20 дел не имел, и насколько я помню, тогда такого не было. Интересно, а китайские иероглифы в коде Делфи тоже допускает? Ну или хотя бы иврит с арабским...

Mr. George:
В lazarus нет полноценной поддержки юникода в отличии от делфи, это касается RTL в частности.
Какие-то функции продублированы с припиской UTF8, другие не имеют таких аналогов.
В делфи все строки по дефолту utf16, это касается и кода и всех компонент и RTL.
Очень удобно, кстати. Где-то читал, что лазарус тоже к этому идет, но пока далеко.


--- Quote ---Естественно, что не латинские буквы в коде не поддерживаются
--- End quote ---
Понятно.


--- Quote ---Что касается поддержки кириллицы в коде Делфи, если это действительно так, то это ее извращение (пардон, расширение)
--- End quote ---
Это сквозное повсеместное внедрение юникода c делфи 2009.
Начиная от модулей, заканчивая отладчиком.
Иероглифы тоже входят в юникод, так что да, работает.
Извращение будет писать на FPC код для работы через ком с 1с (для СНГ реальный кейс).
Наверно, что то такое получилось бы: https://forum.mista.ru/topic.php?id=821381

Спасибо за ответ.
Пришлось сделать на делфи, быстро и просто, благо, есть возможность.
И библиотеки типов делфи лучше считывает, авто генерируемый модуль более правильный.

tetrastes:

--- Quote ---В lazarus нет полноценной поддержки юникода в отличии от делфи, это касается RTL в частности.
--- End quote ---
RTL относится к FPC, а не к Лазарусу. И вполне может работать с utf16.
Проблема не в RTL, а в том, что FPC не поддерживает нелатинские буквы (может лучше сказать не ASCII символы) в коде.


--- Quote ---В делфи все строки по дефолту utf16, это касается и кода и всех компонент и RTL.
Очень удобно, кстати.
--- End quote ---
Ну да, особенно для Линуха, МАКоси и прочих юниксов.


--- Quote ---Иероглифы тоже входят в юникод, так что да, работает.
--- End quote ---
Подозреваю, что только в винде, и если исходник в utf16 (а то может и в UCS2 только).


--- Quote ---Извращение будет писать на FPC код для работы через ком с 1с
--- End quote ---
Не спорю, ибо тут все извращение - ком как таковой и 1с с ее кириллическими функциями  ;)

ASerge:

--- Quote from: Mr. George on September 15, 2021, 08:08:09 pm ---Есть какое-то решение?

--- End quote ---
not LATIN variables name (Cyrillic).

Navigation

[0] Message Index

[#] Next page

Go to full version