-
+66
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
//Функция перевода с std::string в System::String; .netFramework 3.5
String^ stringToString(string str)
{
TextBox^ strS=gcnew TextBox;
strS->Clear();
string cmps="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя";
TextBox^ cmpS=gcnew TextBox;
cmpS->Text="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя";
for(int i=0;i<str.size();i++)
{
for(int j=0;j<cmps.size();j++)
{
if(str[i]==cmps[j])strS->Text=strS->Text+cmpS->Text->Substring(j,1);
}
}
return strS->Text;
}
он работает :)))
idec,
03 Марта 2010
-
+73.5
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
//...
}
}
}
if(found) break;
}
}
aStr=wcstok(NULL,m_cmdSEP);
}
}
}
}
}
}
else NoDeviceErrorActive(1);
}
}
}
else NoDeviceErrorActive(1);
}
}
}
}
}
//...
Кусочек функции, сегодня наткнулся, сама функция занимает 540 строк, все методы класса -- 8000 =). И форматирование оригинальное -- не табами, а двумя пробелами =) . Мне нужно было просто посмотреть, как этот класс одну штуку делает, и я теперь сижу счастливый и думаю, как хорошо, что не мне этот код поддерживать =)
ISith,
03 Марта 2010
-
+144.9
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
bool userNameChanged = true;
bool passwordChanged = true;
if(userNameChanged)
{
// какие-то операции
}
if(passwordChanged)
{
// ещё какие-то операции
}
Вот ещё один код от нашего шефа-индуса...
Highlander,
27 Февраля 2010
-
+60.9
- 1
return ((Dirty = (Buff = ((uint8 *)realloc (Buff, BuffLen = new_len))) !=0));
sagol,
26 Февраля 2010
-
+144.9
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
class SmoothingModeManager
{
public:
SmoothingModeManager(Context* context, Gdiplus::SmoothingMode mode = Gdiplus::SmoothingModeHighQuality);
virtual ~SmoothingModeManager();
protected:
Context* context_;
};
////////////////////////
SmoothingModeManager::SmoothingModeManager(Context* context, Gdiplus::SmoothingMode mode)
: context_(context)
{
context_->getCanvas()->SetSmoothingMode(mode);
}
SmoothingModeManager::~SmoothingModeManager()
{
context_->getCanvas()->SetSmoothingMode(Gdiplus::SmoothingModeNone);
}
Инициализируем класс и контекст со сглаживанием до конца метода.
Altravert,
26 Февраля 2010
-
+45.6
- 1
return (hWnd) ? (bool)ShowWindow(hWnd, (state) ? SW_NORMAL : SW_HIDE) : false;
Я долго пытался понять, что я имел ввиду.
Altravert,
24 Февраля 2010
-
+59
- 1
- 2
- 3
- 4
- 5
- 6
QByteArray icqMessage::convertToByteArray(const quint8 &d)
{
QByteArray packet;
packet[0] = d;
return packet;
}
Обнаружено в сорцах qutim'а. Про memcpy разработчики, видимо, не слышали, также, как и про метод append() в классе QByteArray.
А еще не совсем понятно, зачем функции для конвертирования байт-эррэев в цифры и обратно объявлены и реализованы В КАЖДОМ файле, где используются. Про #include файла, в котором один раз можно реализовать все функции, разработчики, наверное, тоже слышали мельком.
RankoR,
23 Февраля 2010
-
+65.5
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
BOOL needToCenter = NO;
float touchedDistance = [self getTouchedDistance];
if(movedFromX < movedToX)
{
if(!isIncreased)
{
needToCenter = YES;
}
}
else
{
if(!isIncreased)
{
needToCenter = YES;
}
}
ohoncharuk,
22 Февраля 2010
-
+69.5
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
#include <iostream>
using namespace std;
class MyException
{
public:
MyException(char *msg) { m_msg = msg; }
~MyException(){}
char *GetError(){return m_msg;}
protected:
char *m_msg;
};
int main()
{
int *buffer;
try
{
buffer = new int[255];
if (buffer == NULL)
{
MyException *exception =
new MyException("Memory allocation failed!");
throw exception;
}
else
delete buffer;
}
catch (MyException *exception)
{
char *msg = exception->GetError();
cout << msg << endl;
}
return 0;
}
Книга "Использование Viusal C++" Кейт Грегори. Глава 24 о предотвращении утечек памяти и работе с исключениями.
ccoder,
20 Февраля 2010
-
+65.7
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
template <class T>
struct SLinkedListNode
{
public:
SLinkedListNode* m_pPrev; ///< Pointer to previous node.
SLinkedListNode* m_pNext; ///< Pointer to next node.
int Initialize();
int Finalize();
};
...
struct SWaiterNode : public SLinkedListNode<SContainerNode>, public SLinkedListNode<SWaiterListNode>
{
...
// container node
struct SContainerNode
{
// no members needed yet (just for masking SLinkedListNode type)
};
// container
struct SContainer
{
public:
SLinkedListNode<SContainerNode>* m_pObjects;
сначала делаем тимплейтный класс, параметр которого никому не нужен, а потом делаем заглушку для этого параметра.
нормально.
kubrinsky,
19 Февраля 2010