C#. С чего начать?

Автор Тема: C#. С чего начать?  (Прочитано 9017 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
C#. С чего начать?
« : 29-07-2015, 16:40:43 »
Доброго времени суток, уважаемые форумчане! Поимев небольшую практику в программировании с помощью VBA, решил изучать C#. К сожалению, абсолютно не знаю с чего начинать, в связи с чем обращаюсь к вам за помощью.  Если можете, помогите пожалуйста ответить на такие мои вопросы:

- Какую литературу (учебники, интернет ресурсы) можно почитать, в которых было бы много примеров решений различных задач (типовых, может быть вузовский курс). Программист я так себе, в связи с чем нужен опыт решения хотя бы чего-нибудь тривиального.

- Как начать работу с Autodesk Inventor с помощью С#? Как, подключиться к программе? Например, у меня создана форма, в которой можно ввести значение и нажать "применить" (это я вроде бы научился делать :) ) Я хочу, чтобы это значение было присвоено переменной в детали. Вопрос как? Если в VBA все было просто ThisAplication.ActiveDocument и т.д. , то в C# я не знаю, как мне обратиться к приложению и детали следом. Или как подгрузить объектную модель? Ну в общем с чего начинает нормальный пряморукий программист свою работу с Autodesk Inventor с помощью C#?

-Быть может я неправильно наметил курс своего изучения, тогда был бы признателен за совет и его корректировку!

П.С. Прошу прощения, если мои вопросы банальны, но больше негде искать помощи, ибо самому не разобраться, а нагуглить что-то не получается.
В программировании я новичок...но ненадолго! ;)

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: C#. С чего начать?
« Ответ #1 : 29-07-2015, 17:52:35 »
С# синтаксически другой язык. Конечно если знать и С# и VB то проблем не будет.
Ну собственно начать нужно с хорошей книжки по С#, а потом почитать мой мануал, который висит в первой теме этого форума:
https://drive.google.com/folderview?id=0B655LZZcPbyNfk0yMUtKSFNMZEVMZHZ1WHhuT0FBSVNORGdzUExkMkhpdTFiOFl1ZkxxekU&usp=sharing
Там рассматриваются вопросы подключения через С# и откуда взять "Thisapplication".

Так же есть еще один мой мануал про работу с событиями в C#:
https://drive.google.com/folderview?id=0B655LZZcPbyNflFOODhYU0FSeVI5NmhHdEgwMkh6OHcyTE1keTBzdGk5R1dMalE4My1RNjg&usp=sharing

там же с мануалами рядом примеры
Читайте и задавайте вопросы

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: C#. С чего начать?
« Ответ #2 : 29-07-2015, 18:01:17 »
Ну собственно начать нужно с хорошей книжки по С#
Литература по программированию на .NET
Я бы порекомендовал начать с Герберт Шилдт "C# 4.0. Полное руководство". Автор - популяризатор различных языков программирования. Пишет очень доступно для непрофессионалов.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: C#. С чего начать?
« Ответ #3 : 29-07-2015, 18:07:24 »
Там рассматриваются вопросы подключения через С# и откуда взять "Thisapplication"
Я ознакомился с вашим мануалом, прежде, чем задавать свой вопрос. Но посчитал, что создание AddInn-ов что-то более сложное, чем нужно мне на начальном этапе. Быть может поэтому, я был недостаточно внимателен и пропустил нужную информацию. С другой стороны, мне объективно не хватало знаний, чтобы читать Ваш мануал с должной долей понимания - не дорос еще :( Спасибо, обязательно перечитаю!

В программировании я новичок...но ненадолго! ;)

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: C#. С чего начать?
« Ответ #4 : 29-07-2015, 18:14:40 »
Литература по программированию на .NET
Я бы порекомендовал начать с Герберт Шилдт "C# 4.0. Полное руководство". Автор - популяризатор различных языков программирования. Пишет очень доступно для непрофессионалов

Спасибо, Александр!
В программировании я новичок...но ненадолго! ;)

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: C#. С чего начать?
« Ответ #5 : 29-07-2015, 18:23:31 »
Но посчитал, что создание AddInn-ов что-то более сложное, чем нужно мне на начальном этапе.
Сложнее совсем немного, Автодеск предоставляет шаблоны, которые генерируют начальную часть проекта на уровне "Хеллоу ворлд". На EXE-приложении для инвентора далеко не уедешь. К тому же, нормальную кнопку с картинкой можно сделать только в AddIn.

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: C#. С чего начать?
« Ответ #6 : 29-07-2015, 18:46:24 »
Сложнее совсем немного, Автодеск предоставляет шаблоны, которые генерируют начальную часть проекта на уровне "Хеллоу ворлд". На EXE-приложении для инвентора далеко не уедешь. К тому же, нормальную кнопку с картинкой можно сделать только в AddIn.
Спасибо, но мне пока нет необходимости делать кнопки. Или есть, но я об этом еще не подозреваю. Понимаете, я не программист, для меня создать собственный "класс" на текущий момент - недостижимое чудо, с которым предстоит разбираться :) Тогда как это азы и примитив объекто-ориентированного программирования. Очевидно, что я очень много не понимаю, например преимущества AddIn-ов, да и вобще что это такое толком. Но сейчас создать Exe-приложение, с которого я бы мог подключиться узлу и управлять его геометрией было бы для меня отличным результатом. Еще раз спасибо!
В программировании я новичок...но ненадолго! ;)

Отмечено как Решение R.I.Chernov 04-08-2015, 14:17:10

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: C#. С чего начать?
« Ответ #7 : 29-07-2015, 19:10:50 »
Но сейчас создать Exe-приложение, с которого я бы мог подключиться узлу и управлять его геометрией было бы для меня отличным результатом.

Да я тоже как бы инженер-механик, а не программист. Просто иногда становится тесно в рамках обычного интерфейса.
Вот пример подключения на си шарпе:
Код - C# [Выбрать]
  1. class Program
  2.  {
  3.  private static Inventor.Application m_InvApp;
  4.  static void Main(string[] args)
  5.  {
  6.  try//Получения объекта приложения Inventor
  7.  {
  8.  m_InvApp = System.Runtime.InteropServices.Marshal.
  9.  GetActiveObject("Inventor.Application") as Inventor.Application;
  10.  }
  11.  catch//Загрузка Inventor
  12.  {
  13.  m_InvApp = Activator.CreateInstance(Type.GetTypeFromProgID
  14.  ("Inventor.Application")) as Inventor.Application;
  15.  m_InvApp.Visible = true;
  16.  }
  17. //Программа
  18.  //Цикл обработки сообщений, если нужно конечно
  19.  System.Windows.Forms.Application.Run();
  20.  }
  21.  }
  22.  
Ссылку на библиотеку типов инвентора нужно не забыть подключить.
а вообще иногда лучше начинать рассуждение с того , что нужно сделать, а уже потом как это делать.
« Последнее редактирование: 29-07-2015, 19:49:15 от Александр Ривилис »

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: C#. С чего начать?
« Ответ #8 : 29-07-2015, 19:31:36 »
Ссылку на библиотеку типов инвентора нужно не забыть подключить.

Не могли бы вы пояснить, как это делать?
П.С. Большое спасибо за ваш ответ, завтра же попробую.
В программировании я новичок...но ненадолго! ;)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: C#. С чего начать?
« Ответ #9 : 29-07-2015, 19:50:17 »
Да я тоже как бы инженер-механик, а не программист.
Напоминаю про форматирование кода на форме (у меня в подписи).
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: C#. С чего начать?
« Ответ #10 : 29-07-2015, 20:18:46 »
Не могли бы вы пояснить, как это делать?
В си-шарпе ссылки находятся в обозревателе решения, через контекстное меню вызывается менеджер ссылок. Есть два равносильных подхода:

ссылка на COM (см. первый скрин)

и ссылка на готовую сборку-обертку (см. второй скрин)
 
после добавления ссылки обязательно сделать в свойствах ссылки "Внедрить типы взаимодействия" = False (см. третий скрин)
скрины во вложении

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: C#. С чего начать?
« Ответ #11 : 30-07-2015, 08:36:09 »
В си-шарпе ссылки находятся в обозревателе решения, через контекстное меню вызывается менеджер ссылок. Есть два равносильных подхода:
Спасибо огромное! Теперь понял, про что вы говорили.
В программировании я новичок...но ненадолго! ;)

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: C#. С чего начать?
« Ответ #12 : 04-08-2015, 14:16:46 »
Спасибо всем за ответы. Не скажу, что полностью разобрался, но вектор развития теперь понятен!
В программировании я новичок...но ненадолго! ;)