Я намерен написать небольшое приложение, чтобы поцарапать личный зуд и, возможно, облегчить жизнь некоторым коллегам. Вот что у меня есть:Оценка усилия: использование C/Win32 или обучение C#/.NET
- 10+ лет опыта в C
- большой опыт в программировании против Win16/32 API в C от Win3.1 до 2000 дней.
- C библиотека, написанная мною, уже делает около 75% того, что должна делать заявка.
Что приложение должно делать:
- открыть бинарный файл, подача его в указанной библиотеке.
- возьмите полученный текст и загрузите его в новую книгу Excel.
- применять некоторые форматы.
- прекрасно сочетается с средой Windows (наличие в «Open With ...», помните некоторые вещи, используя реестр и т. Д.)
- (возможно, позже) перед передачей CSV-данных в Excel, проанализируйте его, просмотрев значение некоторых значений в файле XML.
За исключением части анализа XML, я сделал все это, прежде чем включать COM/Office Automation в C/Win32. Существует много кода шаблона, но он выполним, и результат будет довольно маленьким приложением без необходимости установки.
Так почему же даже думать о C#/.Net?
- нет опыта с синтаксического анализа XML
- обещание меньше шаблонного кода для вещей Windows, и Excel (да, я сделал C++ с OWL, MFC, ATL и т.д., но я не буду больше туда - не бесплатно/fun)
- Поскольку у меня также есть опыт работы с C++, VB (не .Net) и небольшая Java/Objective-C, я думаю, что изучение C# будет связано с библиотеками .Net, а не с языком.
Мои соображения до сих пор:
- Обучение .NET может быть интересно и может привести к снижению кода/первых шагов в более современной обстановке.
- Придерживаясь того, что я знаю, приведет к прогнозируемому результату с точки зрения усилий и функций (за исключением необязательного материала XML)
- VB отлично смотрелся в начале до тех проектов, где было выполнено около 80%, затем началась боль и DLL-кодирование в C. Я обеспокоен тем, что история может повториться, если я выберу .Net.
Моя основная цель - это функциональность. Усилия вызывают озабоченность. Разбор XML не является обязательным.
Прошу совета.
Обновление: Одна вещь, о которой я забыл прямо указать, заключается в том, что я также беспокоюсь о простом развертывании инструмента для моих сотрудников.С Win32 я вполне уверен, что могу придумать EXE-файл < 1Mb, который можно легко отправить по электронной почте и не требует установки. С .Net не так много. Могу ли я создать необходимый MSI или что-то еще в Visual Studio Express (бесплатно) или мне нужны сторонние инструменты?
Я не уверен в создании msi в Visual Studio Express, но есть бесплатные альтернативы, которые позволяют создавать msi. Для многих приложений вам даже не нужен msi-файл, все, что вам нужно, это скопировать сам исполняемый файл, возможно, вместе с любыми пользовательскими файлами DLL, которые использует приложение. –