powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / IDE для C++/C
21 сообщений из 46, страница 2 из 2
IDE для C++/C
    #34533211
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий Широков wrote:

> Вполне конфортно себя чувствую под Linux после MSVS. Есть
> - Eclipse + C/C++ Development Tools by QNX,
> - KDeveloper - отличный интегратор стандартных средств make, ctags,
> gdb, doxygen и т.д.
> - NetBeans + С/C++ Plugin (тот же набор что и в Eclipse).
>
Я не хочу сваливаться опять в обсуждение и сравнение сред разработки, просто
KDevelop не поддерживают все те фишки, которые мне нужны были от среды
(полная работа без мыши, например), а Eclipse зверски тормозит и использует
загромождающий пространство интерфейс. NetBeans ещё не смотрел, но
склоняюсь к мысли, что лучше всего все-таки "блокнот"+файл менеджер...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
IDE для C++/C
    #34562801
Stub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Barchenko автор
Как мне средой сделать проперти? Чтоб он на field поставить getter и setter?


Клацнуть правой на поле Refactor->EncapsulateField
Более того пробежит по всему коду и предложит прямое обращение к полю заменить пропертью.
Что то я это на плюсах в VS2005 не надыбал. В шарпе это конечно есть.
...
Рейтинг: 0 / 0
IDE для C++/C
    #34567109
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
...
Можно посмотреть DevCPP, MinGW Studio, Anjuta, Codeblocks (NightlyBuilds),
Emacs, vim и прочие. Хотя рекомендую текстовый редактор+файл менеджер.
...


а я вот еще знаю:
Zeus for Windows C/C++ IDE

CPPIDE: An IDE for C++

+ хорошая страница Quality C++ IDE
...
Рейтинг: 0 / 0
IDE для C++/C
    #34569222
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как мне средой сделать проперти? Чтоб он на field поставид getter и setter?[/quot]

пользуйтсь Borland Builder - там проперти - часть С++. Никакими макросами изобреть не надо.

Код: plaintext
1.
  TXelm * getProject(void);
  __property TXelm *Project = {read=getProject, nodefault};
...
Рейтинг: 0 / 0
IDE для C++/C
    #34569257
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандартом не предусмотрено
...
Рейтинг: 0 / 0
IDE для C++/C
    #34569889
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пару лет назад баловался.
Сделал класс property (правда, инициализировать Get и Set приходилось в конструкторе)

Идея заключалась в том, что у класса были перегружены операции присваивания и приведения типа (cast), при отработке вызывались методы класса-владельца.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
//---------------------------------------------------------------------------
#include <windows.h>
#pragma hdrstop

#include "property.h"
//---------------------------------------------------------------------------

class CConsoleWnd
{
private:
    void setCaption(char* NewCaption);
	char* getCaption(){return NULL;};
public:
    __property_rw<char*,CConsoleWnd> Caption;

    CConsoleWnd()
    {
		Caption.Assign(this, getCaption,setCaption); // Linking
	}
};
//''''''''''''''''''''''''''''''''''
void CConsoleWnd::setCaption(char* NewCaption)
{
	SetConsoleTitle(NewCaption);
}
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
	CConsoleWnd MyWin;
	MyWin.Caption = "Hallo, my name is Simon";
	//char * Test   = MyWin.Caption;
    return  0 ;
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
// property.h

// PROPERTY-Interface (like VB,Delphi,C++Builder)
// FOR : MS Visual C++

// Copyright by Simon Kroik (2002)

#ifndef _PROPERTY_H__SimonKroik_
#define _PROPERTY_H__SimonKroik_
//--------------------------------------------------------------------
#ifdef _DEBUG
#include <stdio.h>
#include <windows.h>
#include <typeinfo.h>
#endif

void PropertyAssertMsg(char * PropertyName, 
					   const char * _TName, 
					   const char * _ContainerClassName, 
					   bool WasDefined)
{
	#ifdef _DEBUG
		if (!WasDefined)
		{
			char Msg[ 100 ];
			sprintf(Msg,"%s\n\n"
						"There is no function related \n"
						"to property-type : <%s> \n"
						"for class : <%s>.\n",
						PropertyName,_TName,_ContainerClassName);
			MessageBox(NULL,Msg,"Property. Alarm-Message", MB_OK|MB_ICONWARNING );
		}
	#endif
}

//--------------------------------------------------------------------
// Property with "Read-Only" - Interface
template <class _T, class _ContainerClass> class __property_r
{
	typedef _T  (_ContainerClass:: * TGetFunc)(void);
private:
	_ContainerClass* pClient;
    TGetFunc getVal;
	bool HaveLinkedGet;
public:
	__property_r()
	{
		HaveLinkedGet=false;
	}
	//''''''''''''''''''''''''
	void Assign(_ContainerClass *SC,
				TGetFunc get_f)
	{
		pClient=SC;
		getVal=get_f;
		HaveLinkedGet=true;
	}
    //''''''''''''''''''''''''
	operator _T() 
    {
		PropertyAssertMsg("__property_r",
			typeid(_T).name(),
			typeid(_ContainerClass).name(),
			HaveLinkedGet);
        return (pClient->*getVal)();
    }
};
//--------------------------------------------------------------------
// Property with "Write-Only" - Interface
template <class _T, class _ContainerClass> class __property_w
{
	typedef void  (_ContainerClass:: * TSetFunc)(_T);
private:
	_ContainerClass* pClient;
    TSetFunc setVal;
	bool HaveLinkedSet;
public:
	__property_w()
	{
		HaveLinkedSet=false;
	}
	//''''''''''''''''''''''''
	void Assign(_ContainerClass *SC, 
				TSetFunc set_f)
	{
		pClient=SC;
		setVal=set_f;
		HaveLinkedSet=true;
	}
    //''''''''''''''''''''''''
    __property_w<_T,_ContainerClass>& operator = (_T Val)
    {
		PropertyAssertMsg("__property_w",
							typeid(_T).name(),
							typeid(_ContainerClass).name(),
							HaveLinkedSet);
		(pClient->*setVal)(Val); 
        return *this;
    }
};
//--------------------------------------------------------------------
// Property with "Read-Write" - Interface
template <class _T, class _ContainerClass> class __property_rw
{
	typedef _T  (_ContainerClass:: * TGetFunc)(void);
	typedef void  (_ContainerClass:: * TSetFunc)(_T);
private:
	_ContainerClass* pClient;
    TSetFunc setVal;
    TGetFunc getVal;
	bool HaveLinkedGet;
	bool HaveLinkedSet;
public:
	__property_rw()
	{
		HaveLinkedGet=false;
		HaveLinkedSet=false;
	}
	//''''''''''''''''''''''''
	void Assign(_ContainerClass *SC,
				TGetFunc get_f,
				TSetFunc set_f)
	{
		pClient=SC;
		getVal=get_f;
		setVal=set_f;
		HaveLinkedGet=true;
		HaveLinkedSet=true;

	}
	//''''''''''''''''''''''''
	void Assign(_ContainerClass *SC,
				TSetFunc set_f,
				TGetFunc get_f)
	{
		pClient=SC;
		getVal=get_f;
		setVal=set_f;
		HaveLinkedGet=true;
		HaveLinkedSet=true;
	}
	//''''''''''''''''''''''''
	operator _T() 
    {
		PropertyAssertMsg("__property_rw",
							typeid(_T).name(),
							typeid(_ContainerClass).name(),
							HaveLinkedGet);
        return (pClient->*getVal)();
    }
    //''''''''''''''''''''''''
    __property_rw<_T,_ContainerClass>& operator = (_T Val)
    {
		PropertyAssertMsg("__property_rw",
							typeid(_T).name(),
							typeid(_ContainerClass).name(),
							HaveLinkedSet);
		(pClient->*setVal)(Val); 
        return *this;
    }
};
//--------------------------------------------------------------------
#endif
...
Рейтинг: 0 / 0
IDE для C++/C
    #34570143
Фотография TPAKTOPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем вам C++ Builder не нравится ?
...
Рейтинг: 0 / 0
IDE для C++/C
    #34570159
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TPAKTOPA wrote:

> А чем вам C++ Builder не нравится ?
Насколько помню (6я версия):
Нельзя с клавиатуры быстро переключатся между вкладкой header и source.
Нужно лезть за мышью. Плюс конфигурабельность низкая. Предполагает только
Debug и Release компиляцию (т.е. два профиля с галочками). Потом. 6я версия
требовала, чтобы проекты находились в папке Projects каталога с Builder'ом,
иначе линковка не работала.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
IDE для C++/C
    #34570262
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErVПотом. 6я версия
требовала, чтобы проекты находились в папке Projects каталога с Builder'ом,
иначе линковка не работала. Не, это гон )) - нормально компилится и линкуется если проекты лежат в любом месте, есть проблемы, если они лежат на сети, а не на локальом диске, но тоже можно победить. Вот с переключением между сорсом и хидером действительно есть неудобство, но ведь идеальных сред не бывает, верно?
...
Рейтинг: 0 / 0
IDE для C++/C
    #34570315
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych wrote:

> Не, это гон ))
Не, это не гон. Сколько раз ставил, всегда так было. Кстати, не я один на
это натыкался...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
IDE для C++/C
    #34570575
f i xit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ErV
egorych wrote:

> Не, это гон ))
Не, это не гон. Сколько раз ставил, всегда так было. Кстати, не я один на
это натыкался...
Posted via ActualForum NNTP Server 1.4

кривая инсталяшка наверное. сколько раз ставил, всегда работало.
...
Рейтинг: 0 / 0
IDE для C++/C
    #34570630
Тынц.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ErV
TPAKTOPA wrote:

> А чем вам C++ Builder не нравится ?
Насколько помню (6я версия):
Нельзя с клавиатуры быстро переключатся между вкладкой header и source. Нужно лезть за мышью.
Ctrl+F6 почти во всех раскладках
ErVПлюс конфигурабельность низкая. Предполагает только
Debug и Release компиляцию (т.е. два профиля с галочками).
bcc32pch или GExperts - в обоих есть удобные решения. Настраивай сколько нужно, как глобальные конфигурации, так и на уровне отдельного проекта.
К тому же можно прикрутить ещё пару плагинов с кучей всяких удобностей для редактора, навигации, визуального дизайна и т.п. И это только в 6-ке, а уже Cogswell вот-вот выйдет на рынок.
ErV
Потом. 6я версия
требовала, чтобы проекты находились в папке Projects каталога с Builder'ом,
иначе линковка не работала.
Posted via ActualForum NNTP Server 1.4
Ни разу не сталкивался с такой проблемой. Да и вообще проблем особых не было, может быть какие-нибудь несущественные для меня мелочи. А вот изначально предвзятое отношение к среде (не в Вашем случае) встречал не раз...
...
Рейтинг: 0 / 0
IDE для C++/C
    #34570855
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f i xit wrote:
> кривая инсталяшка наверное. сколько раз ставил, всегда работало.
Тынц. wrote:
>Ни разу не сталкивался с такой проблемой.
аналогичная
проблема
.
Мне не попадался дистр, в котором этого глюка не было. Возможно, он
существоавал потому, что я не всегда использую пути (для программы) по
умолчанию. Сколько раз билдер ставил, натыкался на этот глюк и сносил.
(Хотя одно время облизывался на билдера как возможную удобную замену дельфи
+ с возможностями C++ и механизмом property..)

>Ctrl+F6 почти во всех раскладках
Странно, прозевал, наверное.

>GExperts
Знаю, хорошая вещь была, использовал с Delphi 5. Однако сейчас уже
насобачился на gmake+kate, пока все устраивает.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
IDE для C++/C
    #34573856
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел неплохой список сред разработки
...
Рейтинг: 0 / 0
IDE для C++/C
    #34580803
Stub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LepsikКак мне средой сделать проперти? Чтоб он на field поставид getter и setter?

пользуйтсь Borland Builder - там проперти - часть С++. Никакими макросами изобреть не надо.

Код: plaintext
1.
  TXelm * getProject(void);
  __property TXelm *Project = {read=getProject, nodefault};
[/quot]

Кроссплатформность в топку.
...
Рейтинг: 0 / 0
IDE для C++/C
    #34580835
Stub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NetBeans CDT посмотрел конешно умеет делать то что не умеет VC++ 2005. Но все же лишний раз уверился что плюсы сложны для машинного анализа.
...
Рейтинг: 0 / 0
IDE для C++/C
    #34582279
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только что вышла Sun Studio 12 x86, sparc версии, как для Solaris, так и для Linux. Сам планирую переходить на неё с 11. Но ГУЙ на этом конечно не попишешь, а так ну оччень мощная штука, рекомендую...
...
Рейтинг: 0 / 0
IDE для C++/C
    #34582368
vitalek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stub LepsikКак мне средой сделать проперти? Чтоб он на field поставид getter и setter?

пользуйтсь Borland Builder - там проперти - часть С++. Никакими макросами изобреть не надо.

Код: plaintext
1.
  TXelm * getProject(void);
  __property TXelm *Project = {read=getProject, nodefault};

Кроссплатформность в топку.

Неа, не в топку:). Сегодня был на семинаре CodeGear. Удалось выпытать, что в Highlander'е(BDS2007) ожидается поддержка Unicode в VCL, поддержка многоядерных процессоров, 64 bit и (!)возможность кросс-компиляции из C++ Builder/Delphi под Linux(Mas OS X?).
...
Рейтинг: 0 / 0
IDE для C++/C
    #34583538
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitalekвозможность кросс-компиляции из C++ Builder/Delphi под Linux(Mas OS X?).с вайном, что ли?
...
Рейтинг: 0 / 0
IDE для C++/C
    #34583551
Stub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitalek Stub LepsikКак мне средой сделать проперти? Чтоб он на field поставид getter и setter?

пользуйтсь Borland Builder - там проперти - часть С++. Никакими макросами изобреть не надо.

Код: plaintext
1.
  TXelm * getProject(void);
  __property TXelm *Project = {read=getProject, nodefault};

Кроссплатформность в топку.

Неа, не в топку:). Сегодня был на семинаре CodeGear. Удалось выпытать, что в Highlander'е(BDS2007) ожидается поддержка Unicode в VCL, поддержка многоядерных процессоров, 64 bit и (!)возможность кросс-компиляции из C++ Builder/Delphi под Linux(Mas OS X?).

не думал что CPLX кто то юзает серьезно. ХМ
...
Рейтинг: 0 / 0
IDE для C++/C
    #34586027
vitalek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo vitalekвозможность кросс-компиляции из C++ Builder/Delphi под Linux(Mas OS X?).с вайном, что ли?

Причём тут вайн? Работаем в IDE под Windows, при компиляции указываем целевую платформу и на выходе получаем экзешник в соответствующем формате. Как я понимаю, это будет что-то типа проекта crosskylix для Delphi, который примерно так и работает.
А собственно, почему бы и нет? Кроссплатформенный RTL в распоряжении CodeGear имеется(ещё от Kylix 3 остался). Освежить до соответствия современным дистрибутивам - и вперёд и с песней. Так что это вовсе не фантастика, как кажется на первый взгляд:)
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / IDE для C++/C
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]