Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Visual C++ .NET(2003, 2005)  (Прочитано 28206 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« : 06-09-2004 10:16 » 

Грядёт у нас скоро массовый переход на .НЕТ .  Два програмера уже перешли на си шарп и бейсик .НЕТ .

Хочется спросить у тех кто програмил уже на си плюс плюс в .НЕТе, сильно ли отличается, и насколько болезненный переход будет ?

Стоит ли мне (ещё только 4 месяца програмирующему на си плюс плюс в 6-ой студии) начать осваивать ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Alex White
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #1 : 06-09-2004 10:33 » 

Если хочется .Net -  лучше программить на C#. Моё мнение - стоит! На С++ можно и в 6й студии писать. Но я думаю что после .Net этого не захочется Улыбаюсь
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 06-09-2004 15:42 » 

ну я пробовал на C++ .NET пописать...
Ну не могу я без delete C++ помыслить, С++ со сборщиком мусора - это уже не С++, а извращение (имхо). Посему C#, а теперь вот VB .NET.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #3 : 08-09-2004 10:25 » 

Попробовал си шарп 2005 экспресс. Первые впечатления положительные, особенно понравился интеллисенс Улыбаюсь Парням из томато софтваре уже практически нечего энхансить Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Alex White
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #4 : 09-09-2004 13:50 » 

согласен Улыбаюсь эта фишка безусловно рулит.
Записан
Mfcer__
Команда клуба

ru
Offline Offline

« Ответ #5 : 09-09-2004 21:57 » 

Цитата: MOPO3
Попробовал си шарп 2005 экспресс. Первые впечатления положительные, особенно понравился интеллисенс Улыбаюсь Парням из томато софтваре уже практически нечего энхансить Улыбаюсь


так ведь в 2005 Studio есть правленный C++/CLI ( в дальнейшем он будет называться так)
по удобству он не будет отличаться от C#
на msdn.com есть и спецификация языка и прочее
Записан
Serega
Гость
« Ответ #6 : 10-09-2004 06:17 » 

Цитата: MOPO3
Парням из томато софтваре уже практически нечего энхансить Улыбаюсь

Одного intellisence давно не достаточно, Tomato не рулит с тех пор как ребята из JetBrains идеевские фичи реализовали как плагин для студии
Вот когда MS сделает нормальную поддержку рефакторинга, тогда можно говорить что студия стала вещь в себе
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #7 : 10-09-2004 07:25 » new

Цитата: Mfcer__
так ведь в 2005 Studio есть правленный C++/CLI ( в дальнейшем он будет называться так)
по удобству он не будет отличаться от C#
на msdn.com есть и спецификация языка и прочее


Сегодня поимел студию 2005 бета 1 на ДВД. Дома заинстулю, и посмотрю на этого зверя C++/CLI  Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #8 : 10-09-2004 07:27 » 

Цитата: Serega
Одного intellisence давно не достаточно, Tomato не рулит с тех пор как ребята из JetBrains идеевские фичи реализовали как плагин для студии


Я прчитал всю рсдновскую ветку по поводу ихнего решарпера Улыбаюсь Глюков ещё немерено Улыбаюсь Так зачем же добавлять ихние глюки к глюкам самой студии ? Вот когда они вторую версию зарелизят, тогда посмотрим Ага
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #9 : 14-09-2004 05:36 » 

Обнаружил странный глюк при создании мфц прожекта в вижуал си ++ .НЕТ :

Создал визардом простое диалог-базед приложение. поместил едитбокс и в обработчике кнопки ОК написал чтобы при нажатии выдавало текст из едита в месаджбокс. Откомпилил, всё ок, но ввожу текст, и получаю пустой месаджбокс Жаль Переменную на едит бокс создавал при помощи эдд вариэйбл.
Вписал в он клик
Код:
UpdateData)TRUE:;
- не помогло. Начал смотреть код, и обнаружил что визард не создал в
Код:
DoDataExchange)CDataExchange* pDX:
вот эту строку :
Код:
DDX_Control)pDX, IDC_EDIT1, m_Edit1:;
Прописал её вручную и всё заработало. Это у меня так глюкнуло, или это есть буг такой ? Писал в студии 2003 (лицензионной).
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Serega
Гость
« Ответ #10 : 14-09-2004 05:47 » 

Оконный визард не связывает контролы с переменными, для этого есть отдельный визард
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #11 : 14-09-2004 06:34 » 

Serega, понятно. Просто купил недавно книжку Вижуал С++ .НЕТ - Библия пользователя и делал по описаному там сценарию. Вот и подумал что глюк студии, а оказывается просто очепятка в книге
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Misteras2003
Гость
« Ответ #12 : 04-04-2006 14:36 » 

 Не понял Не понял Не понялУ меня вопрос:
Как в структуру поместить строковую переменную String?

При компиляции:


struct Mega
{
   String ^as;
};

int main()
{   
   Mega MegaString;
   MegaString.as = "AsForever";


Программа выдает ошибку:
!!!  error C3265: cannot declare a managed 'as' in an unmanaged 'Mega'  !!!
 Улыбаюсь Улыбаюсь Улыбаюсь
« Последнее редактирование: 19-12-2007 21:30 от Алексей1153++ » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #13 : 04-04-2006 14:46 » 

Код:
struct Mega
{
   String ^as;
};
Обьясни, что значит значек ^. По идее говоря, компилятор должен на него отругаться в начале.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #14 : 04-04-2006 15:09 » 

Обьясни, что значит значек ^. По идее говоря, компилятор должен на него отругаться в начале.
Я не сильно вникал в реализацию C++.NET, он же Managed C++, но по моему вот это ^ в Managed варианте есть некое подобие * в Unmanaged варианте
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Misteras2003
Гость
« Ответ #15 : 05-04-2006 08:55 » 

Для моего компилятора "^" аналог "*". Как в стуктуре сделать строковую переменную?
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #16 : 06-04-2006 06:34 » 

Программа выдает ошибку:
!!!  error C3265: cannot declare a managed 'as' in an unmanaged 'Mega'  !!!
Судя по сообщению, тут проблема в том, что ты пытаешся декларировать managed код в unmanaged коде.
Вот тебе пример со структурами в managed и unmanaged коде :
Код:
#using <mscorlib.dll>
using namespace System;

#pragma unmanaged

struct NativePairD
{
public:
double First;
double Second;
};

class MyNativeAlgo
{
public:

static void Execute( NativePairD* data, int numberOfPoints )
{
for ( int i = 0; i < numberOfPoints; i++ )
{
data[i].Second += 1.23456;
}
}
};

#pragma managed

__value public struct PairD
{
public:
double First;
double Second;
};


int main()
{
PairD PairDArray[] = new PairD[10];
PairD __pin* ppd = &PairDArray[0];

for ( int i = 0; i < 10; i++ )
PairDArray[i].Second = i;

MyNativeAlgo::Execute( (NativePairD*)ppd, PairDArray->Length );

for ( int i = 0; i < 10; i++ )
Console::WriteLine( PairDArray[i].Second );

return 0;
}

Код не проверял, но должно работать.

ЗЫ. А вообще, ИМХО конечно, C++/CLI - есть изврат! И уж если надо на .НЕТ писать, то лучше уже на C#
« Последнее редактирование: 19-12-2007 21:32 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Misteras2003
Гость
« Ответ #17 : 14-04-2006 04:29 » 

Дан файл(в строке первое значение - число, второе - слово, третье - чаровский):

234 слово1 s
5345 слово2 d

надо взять из файла значения так что:

int q1, q2;
q1=234;
q2=5345;

String ^s1, ^s2; //("^"="*")
s1="слово1";
s2="слово2";

char ch1, ch2;
ch1=s;
ch2=d;


Программа:

String ^input = "input.txt", ^output = "output.txt", ^text;
int q1, q2;
String ^s1, ^s2;
char ch1, ch2;

   if (File::Exists( input ))
   {
      if ( File::Exists( output ) )
      {
         File::Delete( output );
      }
      StreamWriter ^output_f = gcnew StreamWriter( output );
      StreamReader ^input_f = gcnew StreamReader( input );
      try
      {
////////////////////////////////////////////////////////////////////////

//Как сделать, так чтобы считывать строку поочередно( 1)234, 2)слово1, 3)s 4)Уход на новую строку )Не понялНе понял?? Не понял Не понял Не понял
//Внизу код считывает всю строку, а затем надо обрабатывать эту строку.

         while ( text = input_f->ReadLine() )
         {
            //обработка строки
         }


///////////////////////////////////////////////////////////////////////
      }
      finally
      {
         delete ( input_f );
         delete ( output_f );
      }
   }
 Улыбаюсь Улыбаюсь Улыбаюсь
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #18 : 14-04-2006 05:28 » 

Misteras2003, а не пробовал переменные заменить массивами? А то и одним массивом структур. И вообще, для чего тут указатели и delete в конце, если это .NET? Строки в .NET и так являются объектами, следовательно, размещаются в куче.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #19 : 14-04-2006 06:04 » 

Есть метод Split(), его и используй. Например, так:
Код:
String[] fields = text.Split(' ');
« Последнее редактирование: 19-12-2007 21:36 от Алексей1153++ » Записан
Misteras2003
Гость
« Ответ #20 : 15-04-2006 15:05 » 

Как сделать массив структуры(struct) и как вносить значения в этот массив Не понял Не понял Не понял:

ref struct QWE
{
   int Number;
   String ^Str;
};
 Улыбаюсь Улыбаюсь Улыбаюсь
Записан
xelos
Гость
« Ответ #21 : 27-04-2006 21:15 » 

а StringBuilder в .NET вообще-то никто не отменял для работы со строками
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #22 : 27-04-2006 23:24 » 

Misteras2003, а зачем пользоваться символом "^" вместо милого сердцу "*" ? (Раз уж они там у тебя одно и то же) ? Улыбаюсь
Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #23 : 28-04-2006 02:42 » 

Алексей1153, а откуда ты знаешь, какой человеку символ милее? Улыбаюсь Может человек на Pascal привык писать.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #24 : 28-04-2006 03:59 » 

Misteras2003, а зачем пользоваться символом "^" вместо милого сердцу "*" ? (Раз уж они там у тебя одно и то же) ? Улыбаюсь
А потому что в managed C++\CLI "*" нету Улыбаюсь В managed C++\CLI "*" заменён на "^" Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #25 : 28-04-2006 15:36 » 

MOPO3, вот это  изверги Отлично

dimka, ну не наю Улыбаюсь может быть
Записан

MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #26 : 28-04-2006 17:41 » 

MOPO3, вот это  изверги Отлично

Согласен Улыбаюсь Если уж С++ то стандартный. Ну а если уж так необходимо под .НЕТ, тогда полюбому С#
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines