Ваши последние 20 строк кода
Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
class XmlContainerSerializer
{
public :
//
// Serializes container
template <typename Container>
static MSXML2::IXMLDOMElementPtr Serialize(const MSXML2::IXMLDOMDocument2Ptr &xmlDocument,
const Container &container, long lItems, const CString &strElementName)
{
MSXML2::IXMLDOMElementPtr xmlElement = xmlDocument->createElement((LPCTSTR)strElementName);
for (long lItem = 0; lItem < lItems; ++lItem)
xmlElement->appendChild(container[lItem].Serialize(xmlDocument));
return xmlElement;
}
//
// Deserializes container. strXPath is the XPath expression
// which selects root node
template <typename Container, typename Type>
static void Deserialize(const MSXML2::IXMLDOMElementPtr &xmlElement, Container &container,
17.03.05 12:26: Перенесено модератором из 'Исходники' — Хитрик Денис
HgLab : Mercurial Server and Repository Management for Windows
Re: Ваши последние 20 строк кода
Нахлобуч wrote:
> Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
BOOST_AUTO_UNIT_TEST(parser)
{
using namespace boost;
using namespace boost::assign; // bring 'operator+=()' into scope
using namespace text_rpc;
request t;
std::stringstream s;
request r1;
r1.call_id = 1;
r1.ns = "profile" ;
r1.function = "add" ;
r1.arguments["id" ] = 0x007;
r1.arguments["first_name" ] = "James" ;
r1.arguments["last_name" ] = "Bond" ;
r1.arguments["additional_info" ] = "Has a license to kill" ;
std::vector<argument_type> v1;
v1 += -1, 0, 1, 1u;
r1.arguments["secret_codes" ] = v1;
s << r1;
s >> t;
std::cout << r1;
std::cout << t;
BOOST_CHECK(lexical_cast<std::string>(r1) == lexical_cast<std::string>(t));
}
--
Maxim Yegorushkin Posted via RSDN NNTP Server 1.9
Re: Ваши последние 20 строк кода
От:
vdimas
Дата: 16.03.05 20:01
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
// predicate expression type
enum ExpressionType {
EXP_COMPARE, EXP_NULL, EXP_LIKE, EXP_BETWEEN, EXP_IN
};
// item of expression
union Expression
switch (ExpressionType) {
case (EXP_COMPARE):
CompareExpression expCompare;
case (EXP_NULL):
NullExpression expNull;
case (EXP_LIKE):
LikeExpression expLike;
case (EXP_BETWEEN):
BetweenExpression expBetween;
case (EXP_IN):
InExpression expIn;
};
// predicate connector
enum PredicateConnect { PRED_AND, PRED_OR };
enum PredicateType { PRED_SIMPLE, PRED_COMPLEX, PRED_EMPTY };
union Predicate
switch (PredicateType) {
case (PRED_SIMPLE):
Expression expression;
case (PRED_COMPLEX):
struct ComplexPredicate {
PredicateConnect connect;
sequence<Predicate> predList;
} predList;
};
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
void VHeap::CommitTopChunk()
{
_nUsedChunk = _freeChunks.front();
_freeChunks.pop_front();
UsedChunk().Commit();
}
void * VHeap::Allocate(size_t size)
{
void * res = NULL;
res = UsedChunk().Allocate(size);
if (res == NULL)
{
if ( _freeChunks.empty()
|| size > UsedChunk().Size() )
{
return NULL;
}
CommitTopChunk();
res = UsedChunk().Allocate(size);
}
return res;
}
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re: Ваши последние 20 строк кода
От:
GregZ
Дата: 17.03.05 04:52
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
#define CMD_DATA_HANDLER(MessageType, func) \
case MessageType::code: \
{ \
VS_STATIC_CHECK(MessageType::type == typeData, CantUseForNonDataType); \
u_long sizeOfData = *reinterpret_cast <u_long*>(msg + sizeof (MessageType)); \
assert(sizeof (MessageType) == size + sizeOfData + sizeof (u_long)); \
if (sizeof (MessageType) == size + sizeOfData + sizeof (u_long)) \
{ \
func( \
reinterpret_cast <MessageType&>(*msg), \
sizeOfData, \
msg + sizeof (MessageType) + sizeof (u_long)); \
} \
break ; \
}
Re: Ваши последние 20 строк кода
От:
Andir
Дата: 17.03.05 05:07
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
:GetMonthString:{
monthNumber |
["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"].Item(monthNumber)
}
@@[
namespace.Topics.SortBy
{
each | DateTime.Now.SpanBetween(each.Created)
}.Snip(3).Collect
{
e |
[
"%small gray%[",
e.Created.Day, " ", GetMonthString(e.Created.Month), " ", e.Created.Year, " года",
"]%% ",
Presentations.Link(federation.LinkMaker.LinkToTopic(e.Fullname), e.Name, e.Summary),
": ",
e.Summary, ".",
Newline
]
}
]@@
С Уважением, Andir!
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
public Hashtable(int capacity, float loadFactor, IHashCodeProvider hcp, IComparer comparer) {
if (capacity < 0)
throw new ArgumentOutOfRangeException("capacity" , Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum" ));
if (!(loadFactor >= 0.1f && loadFactor <= 1.0f))
throw new ArgumentOutOfRangeException("loadFactor" , String.Format(Environment.GetResourceString("ArgumentOutOfRange_HashtableLoadFactor" ), .1, 1.0));
// Based on perf work, .72 is the optimal load factor for this table.
this .loadFactor = 0.72f * loadFactor;
double rawsize = capacity / this .loadFactor;
if (rawsize > Int32.MaxValue)
throw new ArgumentException(Environment.GetResourceString("Arg_HTCapacityOverflow" ));
int hashsize = GetPrime ((int )rawsize);
buckets = new bucket[hashsize];
loadsize = (int )(this .loadFactor * hashsize);
if (loadsize >= hashsize)
loadsize = hashsize-1;
this .hcp = hcp;
this .comparer = comparer;
}
Sincerely Mine ... AlLucky Sly << RSDN@Home 1.1.4 Слушаю болтовню коллег... >>
Aleksandr Sly
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
function outputToHtmlStream(text, stream)
{
// создание объекта для вывода в поток в формате HTML
var writer = new KodeksFormatHTMLWriter(stream);
writer.setHyperlinkConverter(ConverterHyperlink);
writer.setPictureConverter(ConvertImage);
// создание объекта-итератора по тексту документа
var parser = new KodeksFormatParser();
// установка объекта-обработчика событий
parser.setHandler(writer);
// установка объекта-обработчика ошибок
parser.setErrorHandler(writer);
// запуск процесса вывода в HTML
parser.parse(text);
}
... << RSDN@Home 1.1.4 beta 4 rev. 350>>
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
Те которые с плюсом — мои
--- src/fluxbox.cc.orig Mon Jan 17 12:35:52 2005
+++ src/fluxbox.cc Wed Mar 16 07:01:19 2005
@@ -1026,9 +1026,16 @@
if (keyScreen() == 0 || mouseScreen() == 0)
return;
+ static bool needMenu = false;
+ KeySym key = XLookupKeysym(&ke, 0);
switch (ke.type) {
case KeyPress:
+
+ if (key == XK_Super_L || key == XK_Super_R)
+ needMenu = true;
+ else needMenu = false;
+
m_key->doAction(ke);
break;
case KeyRelease: {
@@ -1052,6 +1059,10 @@
}
}
+ if (needMenu && (key == XK_Super_L || key == XK_Super_R)){
+ FbCommands::ShowRootMenuCmd cmd;
+ cmd.execute();
+ }
break;
}
default:
--- src/Keys.cc.orig Fri Nov 19 15:01:37 2004
+++ src/Keys.cc Wed Mar 16 07:00:45 2005
@@ -134,6 +134,12 @@
FbTk::App::instance()->sync(false);
+ // keybindings for RootMenu
+ FbTk::KeyUtil::grabKey(XKeysymToKeycode(
+ FbTk::App::instance()->display(), XK_Super_L), 0);
+ FbTk::KeyUtil::grabKey(XKeysymToKeycode(
+ FbTk::App::instance()->display(), XK_Super_R), 0);
+
//open the file
ifstream infile(filename);
Нет ничего невозможного..
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
Привел всю функчию, не обессудьте
bool iqBuilder::build()
{
QFile file( _file );
if (!file.open(IO_ReadWrite))
{
_logger.log(QString("Could not open file " ) + _file);
file.close();
return false ;
}
QString s;
int line, column;
if (!_xmlDoc->setContent(&file, &s, &line, &column))
{
_logger.log(QString("Xml error: " ) + s + QString(" on line " ) + QString::number(line) + ", column " + QString::number(column));
return false ;
}
QDomElement rootElement = _xmlDoc->documentElement();
try
{
QString tool = "" ;
QString toolName = "" ;
QDomNode toolNode = rootElement.firstChild().firstChild();
while (!toolNode.isNull())
{
QDomElement toolElement = toolNode.toElement();
if (!toolElement.isNull())
{
toolName = toolElement.attribute("name" , "Undefined" );
tool = toolElement.attribute("path" );
_logger.log("<b>" + toolName + "</b>" );
}
QDomNode fileNode = toolNode.firstChild();
while (!fileNode.isNull())
{
QDomElement fileElement = fileNode.toElement();
if (!fileElement.isNull())
{
QString name = fileElement.attribute("name" );
QString path = fileElement.attribute("path" );
QString fileName = fileElement.attribute("file" );
QString lastTime = fileElement.attribute("lasttime" , "0" );
QFileInfo qfinfo = QFileInfo(path + fileName);
QDateTime qLastModified = qfinfo.lastModified();
QString fileTime = qLastModified.toString("yyyyMMddhhmmsszzz" );
_logger.log("\t" + fileName);
if (lastTime == fileTime)
{
_logger.log("\t\tSkipped. File time hasn't changed" );
}
else
{
_logger.log("\t\tProcessing." );
fileElement.setAttribute("lasttime" , fileTime);
QDomNode execNode = fileNode.firstChild();
while (!execNode.isNull())
{
QDomElement execElement = execNode.toElement();
if (!execElement.isNull())
{
QRegExp rx;
QString options = execElement.attribute("options" );
rx.setPattern("\\$\\(name\\)" );
options.replace(rx, name);
rx.setPattern("\\$\\(path\\)" );
options.replace(rx, path);
rx.setPattern("\\$\\(file\\)" );
options.replace(rx, fileName);
while (!_processExited) qApp->processEvents();
_processExited = false ;
_process->clearArguments();
_process->addArgument(tool + " " + options);
if (!_process->start())
{
_logger.log("Could not process: \n" + tool + " " + options);
}
if (!_process->start())
{
_logger.log("Could not process: \n" + tool + " " + options);
}
}
execNode = execNode.nextSibling();
}
}
}
fileNode = fileNode.nextSibling();
}
toolNode = toolNode.nextSibling();
}
} catch (...){
return false ;
}
file.close();
if (file.open( IO_WriteOnly | IO_Truncate ))
{
_logger.log("Writing file..." );
QTextStream qts(&file);
_xmlDoc->save(qts, 4);
file.close();
}
_logger.log("Done." );
return true ;
}
... << RSDN@Home 1.1.4 beta 4 rev. 0>> ... <<Winamp is playing "Kenji Kawai — 07 Kugutsuuta aratayo ni kamutsudo hite">> ...
Re: Ваши последние 20 строк кода
От:
CiViLiS
Дата: 17.03.05 07:44
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
Новый вид флешмоба?
<< RSDN@Home 1.1.4 beta 4 rev. 350>>
"Бог не терпит голой сингулярности" -- Роджер Пенроуз
Re: Ваши последние 20 строк кода
<!-- wave 6 -->
<schedule>
<object>/object/asteroid1-small1-slowest.xml</object>
<begintime>100000</begintime>
<endtime>120000</endtime>
<count>40</count>
<orbitradius>500.0</orbitradius>
<shard>/object/bonus/box1.xml</shard>
<shardcount>10</shardcount>
</schedule>
<schedule>
<object>/object/asteroid1-big1-slowest.xml</object>
<begintime>100000</begintime>
<endtime>120000</endtime>
<count>40</count>
<orbitradius>500.0</orbitradius>
<shard>/object/bonus/capsule1.xml</shard>
<shardcount>10</shardcount>
</schedule>
<schedule>
... << RSDN@Home 1.1.3 stable >>
Re: Ваши последние 20 строк кода
От:
ssm
Дата: 17.03.05 09:12
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
const ICXMTDataTagTextAttrib *queryTag(
ITextModel *iTextModel,
TextIndex &textIndex,
int32 &selectionLength)
{
ASSERT(iTextModel);
K2Vector<ClassID> attributeClasses;
attributeClasses.push_back(kcxmtDataTagBoss);
K2Vector<InDesign::TextRange> textRanges;
textRanges.push_back(InDesign::TextRange(iTextModel, textIndex, selectionLength));
TextAttributeRunIterator iter(
textRanges.begin(), textRanges.end(),
attributeClasses.begin(), attributeClasses.end());
while (iter)
{
const ICXMTDataTagTextAttrib * result =
static_cast <const ICXMTDataTagTextAttrib *>(
iter->QueryByClassID(kcxmtDataTagBoss, ICXMTDataTagTextAttrib::kDefaultIID));
if (result)
{
RangeData rangeData = iter.GetRunRange();
textIndex = rangeData.Start(0);
selectionLength = rangeData.Length();
return result;
}
++iter;
}
return 0;
}
Re[2]: Ваши последние 20 строк кода
От:
ssm
Дата: 17.03.05 09:26
Оценка:
+2
Здравствуйте, butcher, Вы писали:
B>+ if (key == XK_Super_L || key == XK_Super_R)
B>+ needMenu = true ;
B>+ else needMenu = false ;
исключительно в целях отладки и волею индуса архитектора
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
5 {
#факсы - краткая выписка
set repeat 0
set date [GetString "$path\\r_putdate.wav" 5000 3]
set faxtype 0
set language "ru"
set faxfilename "vipiska.fax"
file delete $faxfilename
if { [source "scripts\\faxes.tcl"] == "0" } {
PlayFile [syntez "<$path\\r_missingquery.wav><$path\\r_meinmenu.wav>"] 0
} else {
#send fax
output "$path\\r_pressfax.wav" 1
if { [sendfax 0 "" $faxfilename] == "SUCCESS" } {
dbg "Факс отправлен успешно"
}
file delete $faxfilename
set confmenuloop 0
}
incr timout 5000
}
Курить я буду, но пить не брошу.
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
function main ()
local w = mappy.getValue(mappy.MAPWIDTH)
local h = mappy.getValue(mappy.MAPHEIGHT)
if (w == 0) then
mappy.msgBox ("Flip horizontal", "You need to load or create a map first", mappy.MMB_OK, mappy.MMB_ICONINFO)
else
mappy.copyLayer(mappy.getValue(mappy.CURLAYER),mappy.MPY_UNDO)
local y = 0
while y < h do
local x = 0
while x < w/2 do
local bleft = mappy.getBlock (x, y)
local bright = mappy.getBlock (w-x-1, y)
mappy.setBlock (x, y, bright)
mappy.setBlock (w-x-1, y, bleft)
x = x + 1
end
y = y + 1
end
mappy.updateScreen()
end
end
function main ()
local w = mappy.getValue(mappy.MAPWIDTH)
local h = mappy.getValue(mappy.MAPHEIGHT)
if (w == 0) then
mappy.msgBox ("Flip horizontal", "You need to load or create a map first", mappy.MMB_OK, mappy.MMB_ICONINFO)
else
mappy.copyLayer(mappy.getValue(mappy.CURLAYER),mappy.MPY_UNDO)
local y = 0
while y < h do
local x = 0
while x < w/2 do
local bleft = mappy.getBlock (x, y)
local bright = mappy.getBlock (w-x-1, y)
mappy.setBlock (x, y, bright)
mappy.setBlock (w-x-1, y, bleft)
x = x + 1
end
y = y + 1
end
mappy.updateScreen()
end
end
... << RSDN@Home 1.1.3 stable >>
Re[2]: Ваши последние 20 строк кода
От:
Esef
Дата: 17.03.05 09:37
Оценка:
g.setStrokeStyle(Graphics.DOTTED);
g.setColor(Settings.LEVEL_INFO_COLOR);
g.drawLine(0, Settings.LEVEL_INFO_HEIGHT, Settings.SCREEN_WIDTH, Settings.LEVEL_INFO_HEIGHT);
g.setStrokeStyle(Graphics.SOLID);
for (int i = 0; i < 2; i++)
{
g.drawLine((i + 1) * Settings.SCREEN_WIDTH / 3, 2,
(i + 1) * Settings.SCREEN_WIDTH / 3, Settings.LEVEL_INFO_HEIGHT - 2);
}
iconsFramer.drawFrame(g, 0, Settings.SCREEN_WIDTH / 3 + 2,
(Settings.LEVEL_INFO_HEIGHT - iconsFramer.getFrameHeight()) / 2);
if (fisher.getBaitCount() > 0)
{
iconsFramer.drawFrame(g, fisher.getBaitType() + 1, Settings.SCREEN_WIDTH * 2 / 3 + 2,
(Settings.LEVEL_INFO_HEIGHT - iconsFramer.getFrameHeight()) / 2);
}
String str = String.valueOf(fisher.getNeedFishes() - fisher.getCatchedFishes());
Game.smallFont.drawText(str, Settings.SCREEN_WIDTH * 2 / 3 - 2 - Game.smallFont.stringWidth(str),
(Settings.LEVEL_INFO_HEIGHT - Game.smallFont.getCharHeight()) / 2,
true , g);
str = String.valueOf(fisher.getBaitCount());
Game.smallFont.drawText(str, Settings.SCREEN_WIDTH - 2 - Game.smallFont.stringWidth(str),
(Settings.LEVEL_INFO_HEIGHT - Game.smallFont.getCharHeight()) / 2,
true , g);
str = timeToStr(currentTime, null );
Game.smallFont.drawText(str, (Settings.SCREEN_WIDTH / 3 - Game.smallFont.stringWidth(str)) / 2,
(Settings.LEVEL_INFO_HEIGHT - Game.smallFont.getCharHeight()) / 2, true , g);
Re: Ваши последние 20 строк кода
От:
WoldemaR
Дата: 17.03.05 09:38
Оценка:
bool Compositor::IsAncestor(const Document* pDocument)const
{
const Document* pParent = static_cast <const Document*>(this );
while (pParent)
{
if (pParent == pDocument)
return true ;
pParent = pParent->GetParent();
}
return false ;
}
Document* Compositor::GetRoot()
{
Document* pDocument = static_cast <Document*>(this );
while (pDocument->GetParent())
pDocument = pDocument->GetParent();
return pDocument;
}
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
using System;
namespace Ranet.Cooperation.DataTransformer
{
/// <summary>
/// A helper class for testing parameters.
/// </summary>
public sealed class Error
{
/// <summary>
/// Throws ArgumentException when character in the range 0x0 to 0x20, and the characters in the range 0xFFFE and 0xFFFF.
/// </summary>
/// <param name="value">char value.</param>
public static void ThrowIsInvalidChar(char value )
{
if (value > 0xFFFD)
throw new ArgumentException("Invalid Unicode." );
else if (value < 0x20 && value != '\t' & value != '\n' & value != '\r' )
throw new ArgumentException("Invalid Xml Characters." );
}
/// <summary>
/// Throws ArgumentException when value is null or value isn't validType.
/// </summary>
/// <param name="value">test object.</param>
/// <param name="validType">valid type for test object.</param>
/// <param name="paramName">parameter name for ArgumentException.</param>
public static void ThrowIsNullOrInvalidType(object value , Type validType, string paramName)
{
ThrowIsNull(value , paramName);
System.Type valueType = value .GetType();
if (!valueType.Equals(validType))
throw new ArgumentException(String.Format("Received '{1}' type, but expected '{0}' type." , validType, valueType), paramName);
}
/// <summary>
/// Throws ArgumentNullException when string value is null or empty.
/// </summary>
/// <param name="value">string value.</param>
/// <param name="paramName">parameter name for ArgumentNullException.</param>
public static void ThrowIsNullOrEmpty(string value , string paramName)
{
// check for null
ThrowIsNull(value , paramName, null );
// check for empty
if (value .Length == 0)
throw new ArgumentException("string is empty" , paramName);
}
/// <summary>
/// Throws ArgumentNullException when value is null or empty string.
/// </summary>
/// <param name="value">test object.</param>
/// <param name="paramName">parameter name for ArgumentNullException.</param>
public static void ThrowIsNull(object value , string paramName)
{
ThrowIsNull(value , paramName, null );
}
/// <summary>
/// Throws ArgumentNullException when value is null or empty string.
/// </summary>
/// <param name="value">test object.</param>
/// <param name="paramName">parameter name for ArgumentNullException.</param>
/// <param name="message">text message for ArgumentNullException.</param>
public static void ThrowIsNull(object value , string paramName, string message)
{
if (value == null )
{
if (message == null )
throw new ArgumentNullException(paramName);
else
throw new ArgumentNullException(paramName, message);
}
}
}
}
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
Н>[ccode]
У тебя там ошибка.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Вселенная бесконечна как вширь, так и вглубь.
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить