Все сообщения от DarkSerj
-
Оффы На Колёсах (No Flood)
Какой топик, я не переживу еще раз возвращаться своим ходом от туда :P Давай все же в парк Горького....
-
Противоположность
Opposites attract ? :)
- Шут
-
Оффы На Колёсах (No Flood)
Народ собирается в Сокольниках, я хочу совместить приятное с полезным, так что, вот.... 13-00 Сокольники, у фонтана!!! Всем быть!! Я беру с собой ролики, все равно народ будет сидеть на месте и пить пиво... а я буду кататься вокруг :)
-
Шут
Я выкладываю ссылку на книгу (около 190 килобайт), мне очень любопытно ваше мнение о ней. На форуме я иногда встречал фразы - "Я посмотрел Евангелион и ВСЕ понял!", у человека казалось бы открывались глаза, он переосмысливал свой взгляд на мир. Хотелось свести все к шутке и заинтересовать, но что-то не получается. Вобщем вот ссылка на книгу, хочется услышать ваше мнение, если конечно ее (книгу) хоть кто-то прочитает ^_^ Книга
-
Мои несколько строк
Лиса, я не могу перебегать дорогу Норо, он на твоего братика уже давно зубы точит... ;)
-
Мои несколько строк
А вот из раннего: /* STR.H - Header by Fantastic Constructions Group (FCG) 24.Oct.1995 * Used in STRING.CPP, DATETIME.H * * PLATFORM: None * CONTENTS: * Composed of class String declaration: * String - base class for string storage classes * Overload operators ( =, ==, >, <, ... ) can be used and very * comfortable. */ #if !defined(_MSTRING_H_) #define CP_1251 1 #define CP_KOI8 2 class MString { protected: char *data; int size; int total; int growsize; public: char operator == (const MString&); char operator == (const char*); char eq(const char*); // compare ignore case char operator != (const MString&); char operator != (const char*); friend char operator == (const char*, const MString&); friend char operator > (const MString&, const MString&); friend char operator > (const char *, const MString&); friend char operator > (const MString&, const char*); friend char operator < (const MString&, const MString&); friend char operator < (const char *, const MString&); friend char operator < (const MString&, const char*); MString Substr(int from,int to) const; int Find(char ch, int from=0) const; public: void ToLower(int cp=0); int IsBeginWith(MString &what); int IsBeginWith(const char *what, int len); const char *Format(char *format, ...); MString(); MString(const MString&); MString(const char *format, ... ); ~MString(); //memory managment void SetSize(int newsize,int growby=-1); inline int GetSize() const {return size;} void InsertAt(int dest,const char *src, int len); void RemoveAt(int pos,int len); inline operator char * () {return data;}; inline operator const char * () const {return data;}; inline const char * CStr() const {return (const char*)data;}; MString& operator = (const char*); MString& operator = (const MString&); MString& operator += (const MString&); MString& operator += (const char*); MString& operator += (const char); char& operator [] (int); void Remove(); void Serialize(MString &s); int Unserialize(const MString &s,int start = 0); }; MString operator + (const MString&, const MString&); MString operator + (const char *, const MString&); MString operator + (const MString&, const char*); #define _MSTRING_H_ #endif
-
Други и недруги на форуме
С некоторыми друзьями и врагов не надо...
-
Мои несколько строк
Если у человека нет вкуса, то его (вкус) надо воспитать... Я подумываю, ради простоты и внятности, начать все ж с более ранних работ...
-
Мои несколько строк
Ну были варианты со статичной таблицей свойств, но этот вариант почему-то не работает. Предположительно ошибка в кодогенерации GCC 4.0. Далее были сложности с приведением типов из базовых классов, если сериализовать свойства самого класса, то проблем нет, а если базового, то там были некоторые сложности с вычислением смещения относительно начала производного класса. Ну это такие, крупные моменты, а так было множество неучтенных моментов, ошибки, и время потраченое на отладку... Если нравиться то могу предложить что-то из раннего....
-
Мои несколько строк
Тебе память изменяет очень сильно, автогенеренного кода здесь только комментарий в начале... Но две недели ушло не на написание, а на придумывание и отработку разных вариантов...
-
Мои несколько строк
Ну вот, не ценят тут полет творческой мысли.... А я, между прочим, на это решение две недели потратил....
-
Мои несколько строк
Вот решил поделиться своим творчеством, не знаю, наверное надо над собой еще работать. Вообщем, критикуйте.... /* * mserializer.h * iAtlasCtl * * Created by __OwnerName__ on 01.02.05. * Copyright 2005 __MyCompanyName__. All rights reserved. * */ #ifndef __MSERIALIZER_H__ #define __MSERIALIZER_H__ #include <common/mstring.h> #include <common/marray.h> #include <common/mhash.h> #include <common/mexception.h> #include <string.h> #include <errno.h> #define BEGIN_SERIALIZER(name) \ struct DefaultSerializer: public BaseSerializer<name> { \ DefaultSerializer():BaseSerializer<name>(#name) { #define END_SERIALIZER }}; #define PROPERTY(Class,Var) Simple(#Var,(&Class::Var)); #define BASE_PROPERTY(Type,Class,Var) Simple(#Var,reinterpret_cast<Type Class::*>(&Class::Var)); #define COLLECTION(Class,Var) Array(#Var,&Class::Var); #define BASE_COLLECTION(Type,Class,Var) Array(#Var,reinterpret_cast<Type Class::*>(&Class::Var)); template <typename StructType> struct FieldAttrubute { MString Name; FieldAttrubute() {} FieldAttrubute(const char *name):Name(name) {} virtual int Read(StructType &data,const MString &s, int start=0) const {return 0;} virtual void Write(StructType &data,MString &s) const {} }; template<typename StructType, typename FieldType> struct FieldBaseAttribute: public FieldAttrubute<StructType> { FieldType StructType::* Ptr; FieldBaseAttribute() {} FieldBaseAttribute(const char *n,FieldType StructType::* p):FieldAttrubute<StructType>(n),Ptr(p) {} virtual void Write(StructType &data,MString &s) const { Serialize(data.*Ptr,s); } virtual int Read(StructType &data,const MString &s, int start=0) const { return Unserialize(data.*Ptr,s,start); } }; template<typename StructType, typename FieldType> struct ArrayAttribute: public FieldAttrubute<StructType> { FieldType StructType::* Ptr; ArrayAttribute() {} ArrayAttribute(const char *n,FieldType StructType::* p):FieldAttrubute<StructType>(n),Ptr(p) {} virtual void Write(StructType &data,MString &s) const { (data.*Ptr).Serialize(s); } virtual int Read(StructType &data,const MString &s, int start=0) const { return (data.*Ptr).Unserialize(s,start); } }; template<typename DataObject> struct BaseSerializer { MArray<FieldAttrubute<DataObject>*,FieldAttrubute<DataObject> *> attr; MString objectname; BaseSerializer(const char* name):objectname(name) {} BaseSerializer(){} ~BaseSerializer() { for(int i=0;i<attr.GetSize();i++) delete attr[i]; } template<typename T> void Simple(const char *name,T DataObject::* ptr) { attr.Add(new FieldBaseAttribute<DataObject,T>(name,ptr)); } template<typename T> void Array(const char *name,T DataObject::* ptr) { attr.Add(new ArrayAttribute<DataObject,T>(name,ptr)); } }; template<typename T> int Unserialize( T &data , const MString &s, int start = 0) { static typename T::DefaultSerializer layout; MString &objectname = layout.BaseSerializer<T>::objectname; MArray<FieldAttrubute<T>*,FieldAttrubute<T> *> &attr = layout.BaseSerializer<T>::attr; int sz; //check type if(s[start] != 'O') throw MException(__FILE__,__LINE__,"Trying to unserialize non-object"); start += 2; MString classname; sz = strtol(&s[start],NULL,0); if(!sz && errno == EINVAL) throw MException(__FILE__,__LINE__,"Invalid classname size representation at position %d [%s]",start,s.CStr()); start = s.Find(':',start); classname = s.Substr(start+2,start+2+sz); if(strncasecmp(classname.CStr(),objectname.CStr(),classname.GetSize()) != 0) throw MException(__FILE__,__LINE__,"Trying to unserialize object [%s] from object [%s]",objectname.CStr(),classname.CStr()); start=s.Find(':',start+2+sz)+1; sz = strtol(&s[start],NULL,0); start = s.Find('{',start)+1; while(sz-- && s[start] != '}') { int i; MString varname; start = Unserialize(varname,s,start); for(i=0;(i < attr.GetSize()) && (strncasecmp(varname.CStr(),attr[i]->Name.CStr(),varname.GetSize()) != 0);i++); if(i == attr.GetSize()) throw MException(__FILE__,__LINE__,"Property [%s] for object not supported",varname.CStr(),classname.CStr()); if(s[start] == 'N') start += 2; else start = attr[i]->Read(data,s,start); } return start+1; } template<typename T> void Serialize(T &data,MString &s) { static typename T::DefaultSerializer layout; MString &objectname = layout.BaseSerializer<T>::objectname; MArray<FieldAttrubute<T>*,FieldAttrubute<T> *> &attr = layout.BaseSerializer<T>::attr; objectname.ToLower(); s += MString("O:%d:\"%s\":%d:{", objectname.GetSize(),objectname.CStr(),attr.GetSize()); for(int i=0;i<attr.GetSize();i++) { MString &varname = attr[i]->Name; s += MString("s:%d:\"%s\";",varname.GetSize(),varname.CStr()); attr[i]->Write(data,s); } s += "}"; } template<> void Serialize(int &value,MString &s); template<> void Serialize(bool &value,MString &s); template<> void Serialize(double &value,MString &s); template<> void Serialize(MString &value,MString &s); template<> int Unserialize<int>(int &value,const MString &s, int start); template<> int Unserialize(bool &value,const MString &s, int start); template<> int Unserialize(double &value,const MString &s, int start); template<> int Unserialize(MString &value,const MString &s, int start); #endif Я знаю, что это не совершенство, надеюсь на разумную критику...
-
Вера и любовь
Vermilion Ну так и было написанно, очередной флуд :blink: Ну и по тематике, еще как говаривал один из героев нашей мультипликации: "Люби себя, чихай на всех, и в жизни ждет тебя успех!"
-
Вера и любовь
Шагающий Экскаватор Отличный развернуты комментарий :) Если честно, то я не понял смысла твоей истории про Трагическую Любовь... Ну да ладно. Мне кажеться что для данной темы это не критично. И, эээ... , ну я эти вопросы поднимал не для того, что бы мне на них отвечали, а для того, что бы каждый нашел ответы для себя. Существует такой способ проведения диспута, своими вопросами подталкивать оппонента к нужным тебе выводам...
-
Вера и любовь
Chudo Ты когда пишешь слово "бог" с большой буквы подразумеваешь кого-то конкретного ;) или убирай скобки или большую букву ;) а то как-то странно выглядит :) Отвечая на поставленный вопрос, я могу верить в бога и не любить его, а на пример бояться.
-
Вера и любовь
Chudo Это ж, простите, чем это они взаимосвязанны? А если, как Nabbe говорит, это все оторвать от контекста... то получится замечательный разговор ни о чем, и главное все участники будут уверенны, что прекрасно понимают друг друга ;) Ну так, для примера: Можешь ли ты верить человеку и при этом не любить его? Верить в бога(любого) и не любить его? Можно ли любить сказки и не верить в них? ну вобщем вариантов масса, в которых даже с семантической точки зрения прослеживается некоторая не адекватность темы ;)
-
Вера и любовь
Как-то оно странно звучит, тебе не кажется что на вкус и цвет фломастер разный? Мне кажется что от перемены мест слагаемых здесь сумма меняется очень сильно? ;) Хм.. чем больше я задумываюсь над такой постановкой вопроса, тем обсурднее он мне кажется, но это сугубо мое мнение...
-
Ведьмы
"Слово «ведьма» происходит от «ведать» – знать и обозначало женщину, знающую больше других, да еще вооруженную чисто женской интуицией. Ведовство – понимание скрытых чувств и мотивов поступков у людей, качество, вызванное тесной и многогранной связью с природой. Это вовсе не злое и безумное начало в женщине, а проницательность. Наши предки изменили это понимание благодаря влиянию Запада в средневековье и христианской религии, взявшей у еврейской дикое, я сказал бы – безумное, расщепление мира на небо и ад и поместившей женщину на адской стороне! А я всегда готов, образно говоря, поднять бокал за ведьм, проницательных, веселых, сильных духом женщин, равноценных мужчинам! " (с) Иван Ефремов "Лезвие Бритвы" И я почему-то с ним полностью солидарен :unsure:
-
Случилось!
А у меня сегодня последний зачет! И все! Первый курс с успехом закончен. Осталось дождаться зачета :)
-
Что вы не любите есть?
На сколько верно сказанно, готов подписаться под каждым словом :lol: Недавно попробовал сырых креветок, не понравилось, но с голодухи... должно быть очень даже ничего :lol:
-
После оффа
Йору безусловно, я буду нежен и аккуратен :lol: Multyashka это была модификация обобщенного закона Ньютона-Архимеда :lol:
-
После оффа
Тело сохраняет равномерную координацию, до тех пор, пока жидкость погруженная в это тело не выведет его из этого состояния. Так что действительно, я очень извиняюсь за свою не доработку, и обещаю в следующий раз закинуть тебя на плече без эксцессов ;)
-
После оффа
Так просто не отделаешься, я буду требовать сатисфакции :) Дракат и Крыс, фотки получились замечательные, прям радостно их рассматривать :)
-
После оффа
Ну что я могу сказать, это было замечательно, сегодня с утра проснулся с улыбкой на лице. Жизнь прекрасна. Ра, тебе отдельное спасибо за содержимое твоего рюкзачка :P это было как раз то чего не хватало :)