Forum > Russian

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

<< < (2/2)

skalogryz:

--- Quote from: Mr. George on September 15, 2021, 10:56:50 pm ---Извращение будет писать на FPC код для работы через ком с 1с (для СНГ реальный кейс).
Наверно, что то такое получилось бы: https://forum.mista.ru/topic.php?id=821381

--- End quote ---
и да и нет.
Похоже, что на C# приходится тоже вызывать методы явно

потенциально dll-ку можно импортировать и один раз получить описание методов.
(один фиг вызов метода происходит по Id)
Да, они не будут на русском языке, ну потому что FPC не позвляет использовать ничего кроме латиницы для имён идентификаторов.
но может и код стал бы выглядеть более одинаковым.

Mr. George:
Если нет цели держать весь код на FPC,
для столь специфичной задачи, как подключение к 1с, по потихоньку подыхающей технологии, куда уместнее использовать самое простое решение, если оно работает.
В данном случае, скачать бесплатную делфи community edition (если нет лицензии) и сделать решение в лоб, с русскими буквами, код максимально короткий, простой и читаемый.
К тому же, импортированная библиотека типов выглядит более правильно.
C# не показатель, от вида конструкций этого языка и структуры проекта иногда хочется плеваться.

Arioch:
Я пробовал в Delphi XE2 такие имена функций...

Поиск текста - не работает (точнее, криво работает. Не понимает, что Б и б - одна буква.  Не помню, работал ли поиск "слова целиком", ли кириллица считалась разделителем слов).
Разные там сообщения (типа того же результата поиска или сообщения об ошибке компиляции) - часто кракозябры лезли.
Переключать клавиатуру туда-сюда при кодинге - тоже конкретно достало.

В общем, я когда-то очень этого хотел, но когда это сделали...   я это попробовал ровно один раз, и never gain.

Впрочем, COM-интерфейс возможно был бы действительно разумным применением. Но, опять же, а поему бы не сделать это параметром, как в JSON SuperObject ? Сделать библиотеку типа


--- 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=""');version1 :=COM[c, 'ОбщийМодуль.ПолучитьВерсию']();version2 :=COM['V83.ComConnector.ОбщийМодуль.ПолучитьВерсию'](); 
Вы же не требуете разворачивать параметры по типу c := Connection.Connect(File='E:\test', usr='', pwd='');

Да и подсказки по коду не будет (или уже будет?), набираете вы version:=c.ОбщийМодуль., нажимаете Ctrl+Space - и что, появится список методов разве?

А если вы отлаживаете портянку на каком-нибудь VBA, а потом копируете в Delphi - то добавить вызовы обёртки не сложно, хотя и нудно.

P.S. еще вариант я бы посмотрел - это добавить  в програму какой-нибудь скрипт. Не нравится Windows Scripting Host - так есть штуки типа PascalScript и JediVCL Interpreter, возможно  к ним было бы не сложно такой вызов COM прикрутить

Navigation

[0] Message Index

[*] Previous page

Go to full version