|
Есть конвертор кода 1С в C#? | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
27.04.20
✎
07:42
|
Написал для себя простой генератор плейлистов на флешке в виде последовательности операторов (без методов).
Хочу сконвертировать его в исходный код на C# и далее дописать до консольного приложения, которое выложить свободного скачивания. Есть ли уже что то готовое для помощи мне в этой задаче? КорневаяПапка1 = "F:\"; КорневаяПапка2 = "H:\"; ПрефиксПервогоУровня = "_"; ДлинаПрефиксаВторогоУровня = 3; РасширенияФайлов = Новый Массив; РасширенияФайлов.Добавить("cda"); РасширенияФайлов.Добавить("flac"); РасширенияФайлов.Добавить("mp3"); РасширенияФайлов.Добавить("ogg"); РасширенияФайлов.Добавить("wav"); РасширенияФайлов.Добавить("wma"); КорневыеПапки = Новый Массив; КорневыеПапки.Добавить(КорневаяПапка1); КорневыеПапки.Добавить(КорневаяПапка2); Для Каждого КорневаяПапка Из КорневыеПапки Цикл Для Каждого ПапкаЖанра Из НайтиФайлы(КорневаяПапка, "*", Ложь) Цикл #Если Сервер И Не Сервер Тогда ПапкаЖанра = Новый Файл; #КонецЕсли Если ПапкаЖанра.ЭтоКаталог() Тогда СписокФайлов = Новый СписокЗначений; Для Каждого РасширениеФайла Из РасширенияФайлов Цикл Для Каждого Файл Из НайтиФайлы(ПапкаЖанра.ПолноеИмя, "*." + РасширениеФайла, Истина) Цикл #Если Сервер И Не Сервер Тогда Файл = Новый Файл; #КонецЕсли СписокФайлов.Добавить(Файл, Файл.Имя); КонецЦикла; КонецЦикла; СписокФайлов.СортироватьПоПредставлению(); Текст = Новый ТекстовыйДокумент; Текст.ДобавитьСтроку("#EXTM3U"); Для Каждого ЭлементСписка Из СписокФайлов Цикл Файл = ЭлементСписка.Значение; #Если Сервер И Не Сервер Тогда Файл = Новый Файл; #КонецЕсли Текст.ДобавитьСтроку("#EXTINF:-1," + Файл.ИмяБезРасширения); Текст.ДобавитьСтроку(ирОбщий.ПолучитьПоследнийФрагментЛкс(Лев(Файл.Путь, СтрДлина(Файл.Путь) - 1), "\") + "\" + Файл.Имя); КонецЦикла; ИмяФайлаЛиста = ПапкаЖанра.ПолноеИмя + "\" + ПрефиксПервогоУровня + ПапкаЖанра.Имя + ".m3u"; ЗТ = Новый ЗаписьТекста(ИмяФайлаЛиста, КодировкаТекста.ANSI); ЗТ.Закрыть(); ЗТ = Новый ЗаписьТекста(ИмяФайлаЛиста,,, Истина); ЗТ.Записать(Текст.ПолучитьТекст()); ЗТ.Закрыть(); Для Каждого ПапкаАльбома Из НайтиФайлы(ПапкаЖанра.ПолноеИмя, "*", Ложь) Цикл #Если Сервер И Не Сервер Тогда ПапкаАльбома = Новый Файл; #КонецЕсли Если ПапкаАльбома.ЭтоКаталог() Тогда СписокФайлов = Новый СписокЗначений; Для Каждого РасширениеФайла Из РасширенияФайлов Цикл Для Каждого Файл Из НайтиФайлы(ПапкаАльбома.ПолноеИмя, "*." + РасширениеФайла, Истина) Цикл #Если Сервер И Не Сервер Тогда Файл = Новый Файл; #КонецЕсли СписокФайлов.Добавить(Файл, Файл.Имя); КонецЦикла; КонецЦикла; СписокФайлов.СортироватьПоПредставлению(); Текст = Новый ТекстовыйДокумент; Текст.ДобавитьСтроку("#EXTM3U"); Для Каждого ЭлементСписка Из СписокФайлов Цикл Файл = ЭлементСписка.Значение; #Если Сервер И Не Сервер Тогда Файл = Новый Файл; #КонецЕсли Текст.ДобавитьСтроку("#EXTINF:-1," + Файл.ИмяБезРасширения); Текст.ДобавитьСтроку(Файл.Имя); КонецЦикла; ИмяФайлаЛиста = ПапкаАльбома.ПолноеИмя + "\" + ЛЕВ(ПапкаЖанра.Имя, ДлинаПрефиксаВторогоУровня) + "." + ПапкаАльбома.Имя + ".m3u"; ЗТ = Новый ЗаписьТекста(ИмяФайлаЛиста, КодировкаТекста.ANSI); ЗТ.Закрыть(); ЗТ = Новый ЗаписьТекста(ИмяФайлаЛиста,,, Истина); ЗТ.Записать(Текст.ПолучитьТекст()); ЗТ.Закрыть(); КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; КонецЦикла; |
|||
1
acht
27.04.20
✎
07:44
|
(0) Размещение вакансий на этом форуме платное (:
|
|||
2
TormozIT
гуру
27.04.20
✎
07:47
|
(1) Платить я не собираюсь. Так что не расстраивайся.
|
|||
3
acht
27.04.20
✎
07:50
|
(2) Как ты думаешь, во что на C# должно превратится твоё:
Файл = ЭлементСписка.Значение; #Если Сервер И Не Сервер Тогда Файл = Новый Файл; #КонецЕсли ? |
|||
4
TormozIT
гуру
27.04.20
✎
07:53
|
(3) Инструкции препроцессора здесь только для удобства редактирования кода. Они не компилируются. Поэтому эти фрагменты просто удаляются, например руками.
|
|||
5
TormozIT
гуру
27.04.20
✎
07:54
|
Как там с 1SCript? Там есть генератор консольного приложения полностью независимого?
Может через него будет проще решить задачу? |
|||
6
Ненавижу 1С
гуру
27.04.20
✎
08:10
|
уже бы руками написал
а почему C#, а не Java или C++? |
|||
7
TormozIT
гуру
27.04.20
✎
08:14
|
(6) Мне не скорость, а удобство важно. C# мне более знаком. C++ и Java подойдут, но подозреваю спросил ты ради порассуждать, а не потому что есть наработки =)
|
|||
8
Garykom
гуру
27.04.20
✎
08:14
|
(0) Берешь 1script, засовываешь в самораспаковываемый архив exe, со скриптом внутри который распакуется, запустить "1script.exe ТвойСкрипт1С.os" а затем все грохнет.
ЗЫ Нафиг не надо ибо тоже самое можно на bat/cmd наваять. |
|||
9
Garykom
гуру
27.04.20
✎
08:15
|
А конвертера кода из 1С в C# нет точно ибо он нафик не нужен.
Слишком разные возможности языка, какой смысл от только синтаксиса? |
|||
10
TormozIT
гуру
27.04.20
✎
08:16
|
(9) На инфостарте уже сообщали, что как минимум один такой конвертор был создан и причем не только для кода.
|
|||
11
MyNick
27.04.20
✎
08:23
|
Купил велосипед, хочу автобус. Есть конвертеры для этого?
|
|||
12
TormozIT
гуру
27.04.20
✎
08:26
|
(8) На 1Script мой код (после замены проскочившего вызова общего модуля) сразу запустился и корректно заработал. Это классно. Теперь надо понять, как там сделать независимое приложение.
|
|||
13
Garykom
гуру
27.04.20
✎
08:27
|
(10) "Новый СписокЗначений" на C#/.Net во что должен как думаешь превратиться?
Перефразировал закономерное (3) |
|||
14
TormozIT
гуру
27.04.20
✎
08:27
|
(11) Сунул голову в шкаф. Ощутил нехватку света. Есть конвертеры для этого?
|
|||
15
Garykom
гуру
27.04.20
✎
08:28
|
(12) "1Script позволяет упаковать ваш скрипт в отдельный exe-модуль, который можно удобно распространять, не требуя установки самого 1Script на машину пользователя."
|
|||
16
SleepyHead
гуру
27.04.20
✎
08:31
|
(0) У кого-то дохнера времени, даже завидно немного.
|
|||
17
trdm
27.04.20
✎
08:31
|
проще переписать на js или vbs.
Интертрепаторы от мелкомягких на любой машине есть. |
|||
18
Ненавижу 1С
гуру
27.04.20
✎
08:36
|
(13) думаю в какой нибудь new List<ЭлементСписка>();
где ЭлементСписка некий класс |
|||
19
Конструктор1С
27.04.20
✎
08:36
|
А смысл?
|
|||
20
Ненавижу 1С
гуру
27.04.20
✎
08:38
|
||||
21
TormozIT
гуру
27.04.20
✎
08:39
|
Всем спасибо. Задачу решил через 1Script. Не понравилось только, что пришлось вручную писать команду в консоли для генерации исполняемого файла
oscript.exe -make C:\terminal\1.os C:\terminal\1.exe Это конечно напрягло =) |
|||
22
acht
27.04.20
✎
08:40
|
(12) Гм. А ClipAngel ты тоже такими методом писал? Ну, на 1С сначала (:
|
|||
23
TormozIT
гуру
27.04.20
✎
08:41
|
(22) Нет. Зачем сравнивать задачи на 50 и 20000 строк кода?
|
|||
24
acht
27.04.20
✎
08:42
|
(23) Жаль. Очень жаль.
|
|||
25
TormozIT
гуру
27.04.20
✎
08:43
|
(24) Я очень опечален тем, что разочаровал тебя. Пойду работать, чтобы забыться.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |