Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
bool Notifications::CAlertsDlg::TryToCleanupAlerts( NotificationsStorage& storage, Notifications::NotificationSPtr const & nt,
const unsigned long count )
{
if ( !count ) return true ;
const size_t storageSize = storage.Size();
NotificationSPtr const & begin = storage[ storageSize - count ];
//new alert is older than that we want to delete?
if ( begin->Date() < nt->Date() )
{
LogDebug<< _T("[SA]: Limit exceeded. Killing last " ) << count << _T(" alerts..." ) <<endl;
if ( !FilterByID_ && !IsInSearchMode() )
{
unsigned int deletedInUI = CAlertsDlg::KillLastNthAlertsFromUI( uiAlertsList_, count );
ATLASSERT( count == deletedInUI );
}
NotificationsStorage::iterator begin, end;
storage.GetLastNth( count, begin, end );
if ( storage.Collection().end() != begin )
{
for ( NotificationsStorage::iterator it = begin ; it != end ; ++it )
{
NotificationSPtr const & curr = it->second;
if ( curr->BodyID() )
BodyToNtMapping_.erase( curr->BodyID() );
if ( curr->SourceID() )
{
NotificationsStorage& as = SourceToNtsMapping_[ curr->SourceID() ];
as.Erase( it->second );
}
if ( curr->MessageID() )
{
const MessageIDs::const_iterator duplicateItems = MessageIDs_.find( curr->MessageID() );
if ( MessageIDs_.end() != duplicateItems )
{
std::vector<NotificationSPtr> const & nts = duplicateItems->second;
for ( size_t i = 0 ; i < nts.size() ; ++i )
{
NotificationsStorage& as = SourceToNtsMapping_[ nts[i]->SourceID() ];
as.Erase( nts[i] );
}
}
MessageIDs_.erase( curr->MessageID() );
}
// we can't just delete last nth alerst because we can stay in AS filter
// so there can be no exact mapping from storage to UI. Ugly ;(
if ( FilterByID_ && !IsInSearchMode() )
{
//clean alert in UI in case we have filtering by AS
DeleteFromUI(curr);
}
if ( curr->ClusterID() )
{
const Clustering::ClusterPtr cluster = ClusteringInfo_.GetByID( curr->ClusterID() );
if ( cluster )
{
for ( SourceToNtsMapping::iterator sit = SourceToNtsMapping_.begin() ; sit != SourceToNtsMapping_.end() ; ++sit )
{
Utils::DeleteAllByClusterID( sit->second, cluster->ID() );
}
ClusteringInfo_.Erase( cluster->ID() );
}
}
}
storage.Clear(begin, end);
}
return true ;
}
//do not delete alerts and do not add new
return false ;
}
Re[4]: Ваши последние 20 строк кода
От:
Злость
Дата: 16.04.07 10:43
Оценка:
Здравствуйте, poilk, Вы писали:
[skip]
K>>
P>ну ладно, для тех, кто не понял:
P>P>dim a[5,4];
P>a[1,1]=1
P>a[1,2]=2
P>a[1,3]=3
P>a[1,4]=4
P>a[2,1]=5
P>a[2,2]=6
P>a[2,3]=7
P>a[2,4]=8
P>a[3,1]=9
P>a[3,2]=10
P>a[3,3]=11
P>a[3,4]=12
P>a[4,1]=13
P>a[4,2]=14
P>a[4,3]=15
P>a[4,4]=16
P>a[5,1]=17
P>a[5,2]=18
P>a[5,3]=19
P>a[5,4]=20
P>
)) a(i,j) = (i-1)*N+j [M,N]
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
/*
Ñòðàíèöà îò÷åòà î çàãðóçêàõ
*/
PROCEDURE loads_info_frame_workflow_log
IS
f UTL_FILE.file_type;
CURSOR loads
IS
SELECT id, id_load, description, start_time, end_time
FROM mdtb_workflow_log
ORDER BY ID ASC ;
BEGIN
f :=
UTL_FILE.fopen (UPPER (report_directory_name),
LOWER (report_page_filename
|| html_file_extention),
'w');
UTL_FILE.put
(f,
'<html> <head> <title></title> </head> <body> <table >
<tr>
<th>ID</th> <th>Íîìåð çàãðóçêè</th> <th>Îïèñàíèå</th> <th>Âðåìÿ íà÷àëà</th> <th>Âðåìÿ îêîí÷àíèÿ</th>
</tr>');
FOR r IN loads
LOOP
UTL_FILE.put (f,
'<tr> <td>'
|| r.ID
|| '</td> <td>'
|| r.id_load
|| '</td> <td>'
|| r.description
|| '</td> <td>'
|| r.start_time
|| ' </td> <td>'
|| r.end_time
|| '</td> </tr>');
END LOOP;
UTL_FILE.put (f, '</table > </body> </html>');
UTL_FILE.fflush (f);
UTL_FILE.fclose (f);
EXCEPTION
WHEN OTHERS
THEN
IF UTL_FILE.is_open (f)
THEN
UTL_FILE.fclose (f);
END IF ;
RAISE;
END ;
/*
Ïðîöåäóðà çàïóñêà ãåíåðàöèè îò÷åòà î ðàáîòå
*/
PROCEDURE start_workflow_report
IS
BEGIN
main_frame_report_workflow_log;
loads_num_frame;
loads_info_frame_workflow_log;
END ;
То что меня не убивает, делает меня умнее.
Re[2]: Ваши последние 20 строк кода
От:
8bit
Дата: 17.04.07 14:03
Оценка:
Здравствуйте, yxiie, Вы писали:
Y>Y> <!-- wave 6 -->
Y> <schedule>
Y> <object>/object/asteroid1-small1-slowest.xml</object>
Y> <begintime>100000</begintime>
Y> <endtime>120000</endtime>
Y> <count>40</count>
Y> <orbitradius>500.0</orbitradius>
Y> <shard>/object/bonus/box1.xml</shard>
Y> <shardcount>10</shardcount>
Y> </schedule>
Y> <schedule>
Y> <object>/object/asteroid1-big1-slowest.xml</object>
Y> <begintime>100000</begintime>
Y> <endtime>120000</endtime>
Y> <count>40</count>
Y> <orbitradius>500.0</orbitradius>
Y> <shard>/object/bonus/capsule1.xml</shard>
Y> <shardcount>10</shardcount>
Y> </schedule>
Y> <schedule>
Y>
Clash'N Slash III
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
try
{
CPhoneMaskFilter::CPhoneMaskInfo bestMaskInfo = g_PhoneMaskFilter->value.SelectBestMatchInfo(mask);
// CallBallancer
//TODO: вынести в отдельную процедуру
std::list<CGroupFactory::CGroupData*> tmpGroupList = bestMaskInfo.get_GroupList();
for (std::list<CGroupFactory::CGroupData*>::iterator it = tmpGroupList.begin(); it != tmpGroupList.end(); ++it)
{
if (!(*it)->Accept())
{
//TODO: вынести в отдельную процедуру
Msg.Name = L"DROP_CALL" ;
pConnector->WriteTo(From, Msg, NULL);
LOGW(MP_CRITICAL, L"Call was rejected by CallBallancer" );
return ;
}
}
//TODO: check for managed blacklist
// посылаем сообщение диспетчеру на запуск скрипта
Msg.Name = L"TA2D_RUNSCRIPT" ;
Msg[L"FileName" ] = bestMaskInfo.get_ScriptName().c_str();
Msg[L"MonitorDisplayedName" ] = bestMaskInfo.get_MonitorDisplayName().c_str();
Msg[L"RunRequestID" ] = (LONGLONG) rand() | rand()<<16 | rand()<<32 | rand()<<48;
// здесь в сообщении заменяется адрес отправителя
// ставится адрес телсервера, инициирующего запуск скрипта
// это является нарушением принципов адресации в системе роутеров
// по возможности следует исправить алгоритм взаимодействия
// системы телсервер - транзитагент - диспетчер
// тяжкое наследие кривого дизайна, который приходится поддерживать
// аналогичные косяки наблюдаются и у других сообщений
pConnector->WriteFromTo(From, CLIENT_ADDRESS::Any(), Msg, NULL);
}
catch (std::exception&e)
{
LOG(MP_CRITICAL, e.what());
//TODO: send alarm
}
catch (...)
{
//TODO: send alarm
}
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[2]: Ваши последние 20 строк кода
От:
Dair
Дата: 17.04.07 16:05
Оценка:
B>LIBS = $(CLIB) $(SLIB)
B>LIBD= -L$(QT_LIB)
А зачем писать Makefile самому, если есть Qt и qmake?
Re[3]: Ваши последние 20 строк кода
От:
8bit
Дата: 17.04.07 16:36
Оценка:
Здравствуйте, 8bit, Вы писали:
8>Clash'N Slash III
упс... на год то я и не глянул
Re: Ваши последние 20 строк кода
public class FilterChain
{
private List<Filter> filters = new List<Filter>();
private int currentPos = -1;
public void NextFilter(MQMessage request, MQMessage response)
{
currentPos ++;
if (currentPos >= 0 && currentPos < filters.Count)
{
Filter filter = filters[currentPos];
filter.DoFilter(request, response, this );
}
}
}
Re[2]: Ваши последние 20 строк кода
Здравствуйте, Andir, Вы писали:
Н>>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
A>[code]
A>:GetMonthString:{
A> monthNumber |
A> ["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"].Item(monthNumber)
A>}
Что-то вспомнилось:
< $andman > $months = array("Нулябрь", "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
А у вас тоже есть нулевой месяц или вы тупо вычитаете единичку?
Re[13]: Ваши последние 20 строк кода
а я уже давно код не пишу, надоело. скоро забуду как это делается и забуду свой родной дотнет.
один только эскуэль — многоэтажные запросы, пээль эскуэль и транзакт иногда. Навело на мысль что надо поддерживать навыки.
Re: Ваши последние 20 строк кода
От:
ironwit
Дата: 20.04.07 07:36
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
//opc прочитать данные по свежезагруженным приборам.
cl := AllGroup[I1].DeviceList[I2].GetChannelsList;
if Assigned(cl) then
begin
for I3 := 0 to cl.Count - 1 do
begin
try
st.Add(aDeviceList[I2].DispName + '\' + worksbd.GetStCodeByDevID(AllGroup[I1].DeviceList[I2].ID) +
'.' + cl[I3].Accept(OV).Items[0].DispName);
finally
end ;
end ;
FreeAndNil(cl);
end ;
все это только для
procedure IPZ6806.ListItemIDs(List: TItemIDList);
var
I: integer;
begin
for I := 0 to st.Count - 1 do
try
list.AddItemID(st[I], [iaRead], varInteger)
except
end ;
end ;
... << RSDN@Home 1.2.0 alpha rev. 0>>
Я не умею быть злым, и не хочу быть добрым.
Re[4]: Ваши последние 20 строк кода
От:
ironwit
Дата: 20.04.07 07:48
Оценка:
Здравствуйте, БСС, Вы писали:
БСС>Здравствуйте, DuШes, Вы писали:
DШ>>имхо...нечитаемый язык...
БСС>Да, это точно... Есть така штука — Trace Mode (трассовая мудя в простонародии)
соболезнования
я этой заразе по орс данные с приборов отдаю. лучше б я сдох
тут чуть ниже кусок кода из того самого сервера
... << RSDN@Home 1.2.0 alpha rev. 0>>
Я не умею быть злым, и не хочу быть добрым.
Re: Ваши последние 20 строк кода
От:
sanyo
Дата: 20.04.07 18:39
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
CHK(m_pGraphBuilder->AddFilter(pVideoCapture, L"Video capture source" ));
pPropertyBag.Release();
//Create and add transform filter to graph
CHK(pRotate.CoCreateInstance(CLSID_Transform));
CHK(m_pGraphBuilder->AddFilter(pRotate, L"Rotate Filter" ));
//Find callback interfave and set callbuck function
CHK(pRotate->QueryInterface(IID_IFCallback,(void **)&m_cFilter));
CHK(m_cFilter->SetCallback(1,&BufferCallBack));//Set Callback
m_cFilter->SetDevName(m_DevName, m_wres, m_hres);
CHK(pNull.CoCreateInstance(CLSID_VideoRenderer));
CHK(m_pGraphBuilder->AddFilter(pNull, L"NULL REND" ));
//Find pins
IPin *vPin;
CHK(pNull->EnumPins(&pEnum));
CHK(pEnum->Next(1, &vPin, NULL)); // NullRend pin
IPin *vcPin;
CHK(pRotate->EnumPins(&pEnum));
CHK(pEnum->Next(1, &vcPin, NULL)); // rotate input Pin
m_rotInPin=vcPin;
CHK(pEnum->Next(1, &vcPin, NULL)); //rotate output Pin
m_rotOuPin=vcPin;
//Connecting pins
CHK(ConnectPins());
...
и т.д
Re: Ваши последние 20 строк кода
InstallJournal()
{
INSTALL_STEP=$1
INSTALL_STEP_DESCRIPTION=$2
shift
shift
if [ 0 -eq "$NOSKIP" ] && InstallJournal_Contains "$INSTALL_STEP" ; then
OutputVerbosely "Skipping step '$INSTALL_STEP_DESCRIPTION', it has been done eariler."
else
$INSTALL_STEP
if [ 1 -eq "$NOSKIP" ]; then
return 0
fi
if [ ${INSTALLATION_ABORTED} = 1 ]; then
:
elif HaveErrors; then
:
else
InstallJournal_Commit $INSTALL_STEP
fi
fi
}
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
void CDSelRecipientState::InitMenu(const TRect& aRect)
{
GUIManagerPtr iGUIManager = iApp->iGuiManager;
iContainer = iGUIManager->CreateContainer(1, aRect);
m_GUIObject = iContainer;
iContainer->SetClientRect(iApp->iClientSize);
svector<TContact>::iterator it = iApp->iContacts.begin(), end = iApp->iContacts.end();
for (int i = 10; it != end; ++it, ++i)
{
TString str = it->m_NickName;
str.Append(_L(" (" ));
str.Append(m_PhoneNumber);
str.Append(_L(")" ));
GUIObjectPtr item = iGUIManager->CreateCheckBox(i, aRect, str, false );
item->SetAttach(ref_ptr<TContactInfo>(new TContactInfo(it->m_NickName, it->m_Id)));
iContainer->InsertItem(item);
}
iMenu.push_back(MenuItem(100, LOCSTR("OK" ), Functor(this , &OnOK)));
iMenu.push_back(MenuItem(101, LOCSTR("CANCEL" ), Functor(this , &OnCancel)));
iMenu.push_back(MenuItem(102, LOCSTR("SELECT_ALL" ), Functor(this , &OnSelectAll)));
}
void CDSelRecipientState::OnOK()
{
size_t nCount = iContainer->GetItemsCount();
for (size_t i = 0; i < nCount; ++i)
{
GUIObjectPtr obj = iContainer->GetItem(i);
IGUICheckBox* check_box = cd_dynamic_cast<IGUICheckBox>(obj.get());
if ( check_box && check_box->IsChecked() )
{
TContactInfo* info = cd_dynamic_cast<TContactInfo>(obj->GetAttach().get());
if (info)
m_Result->m_Contacts.push_back(ref_ptr<TContactInfo>(info));
}
}
m_Result->m_result = true ;
}
Нужно разобрать угил.
Re: Ваши последние 20 строк кода
Здравствуйте, Нахлобуч, Вы писали:
если без скобок ровно 20 строк
public class dav_test
{
[Test]
public void test_bug_20886()
{
test_data_folders td_folders = massert.prepare_comparision_folders( "test_bug_20886" , true );
using ( new subsystems_factory.scoped( typeof ( ILogger ), console_full_logger.logger ) )
using ( new current_datetime_setter( new DateTime( 2007, 2, 2, 13, 13, 13, DateTimeKind.Utc ) ) )
{
file_info f = files.get_file( "rsdn.pdf" );
f.is_review_enabled = true ;
f.save();
acrobat_review acr1 = new acrobat_review( "rev 1" , "rev_1_profile" , "meta" , "kozel" );
details.do_propfind( f, users.reviewer_1.id, acr1, td_folders, counter );
}
}
class details
{
public static void do_propfind( file_info f, int user_id, acrobat_review id, test_data_folders td_folders, case_counter count )
{
test_application app = new test_application();
using ( new user_context( user_id, id ) )
using ( new request_response() )
{
request_controller.current.propfind( user_agent.ie, f );
run_request( app );
massert.AreEqual( 207, response_controller.current.status_code );
massert.write_res_and_assert( new test_data_files( td_folders, count.next() + "u" + user_id + "_prop_find.xml" ), read_and_format( app.Response.OutputStream) );
massert.write_res_and_assert( new test_data_files( td_folders, count.next() + "u" + user_id + "_acrobat_review.txt" ), user_context.current.acrobat_review );
}
}
}
}
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re: Ваши последние 20 строк кода
От:
Oich
Дата: 11.05.07 12:00
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
/*###############################################################################################*/
Procedure GetProductsMovements(
aTemplateSerno PGL.Integer,
aTabIndicator Char,
aAccNumber Varchar2,
oProductsMovements Out Sys_Refcursor
)
Is
-- Author : *********
-- Created : 25/04/2007
-- Purpose : Return the list of the Allowed Products for the "Change Product" action
-- Version : 3.05.00.00
Begin
Open oProductsMovements For
Select
p.PSerno ProductSerno,
v.Value ProductName
From
mProfileValues v
Inner Join Products p On Trim(p.Name) = Trim(v.Value) And p.AppliesToAccount Is Not Null
Where
v.Item = 'product' And v.TabIndicator = 'A' And v.MProfileSerno = aTemplateSerno And
Iss_Account.Check_Number_Range(Trim(aAccNumber), p.PSerno) = 1;
Exception
When Others Then
UTIL_LOGGING.ADD_TO_ERRLOG('WEB_CUSTOMER_SERVICES', 'GetProductsMovements');
Raise;
End GetProductsMovements;
/*###############################################################################################*/
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Ваши последние 20 строк кода
От:
anidal
Дата: 11.05.07 15:35
Оценка:
Здравствуйте, Oich, Вы писали:
static long MES_CHANGE_PAR_handler (void *This, void* data)
{
ID10055_INTERFACE *pThis=*(ID10055_INTERFACE **)This;
MESSAGE_QUERY_EL* pmes=(MESSAGE_QUERY_EL*)data;
PARAM_NODE *pnode;
fastmemcpy(&pnode,pmes->data,sizeof(PARAM_NODE *));
/*Ишем по PNODE*/
unsigned long j;
PARAM_NODE *ppar;
for (long i=0;i<MIN(pThis->params,ID10055_NUM_OF_ACT_PAR);i++){
ppar=pThis->act_par.my_param[i];
if (!ppar) break; //Дошли до конца
if (pnode==ppar) { //Нашли
j=pThis->act_par.chanell[i];
PARAMETER_DESCRIPTOR *pdesc=ParseParameter(pnode,NULL);
AddParInINI(pThis,pdesc,&j);
}
}
return 0;
}
Re: Ваши последние 20 строк кода
От:
seafresh
Дата: 11.05.07 15:52
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>Просто ради интереса — кто чего делает. 20 строк, надеюсь коммерческой тайны не составляют
#define MMX_ONE_PIXEL_STRING \
__asm sub REG_SOURCE_BUFFER, REG_STRIDE_BUFFERS \
__asm movq MMXREG_TEMP1, [ REG_SOURCE_BUFFER - 2 ] \
__asm add REG_SOURCE_BUFFER, REG_STRIDE_BUFFERS \
__asm pmaddwd MMXREG_TEMP1, MMXREG_STRING1_MASK \
__asm movq MMXREG_TEMP2, [ REG_SOURCE_BUFFER - 2 ] \
__asm pmaddwd MMXREG_TEMP2, MMXREG_STRING2_MASK \
__asm paddd MMXREG_TEMP1, MMXREG_TEMP2 \
__asm movq MMXREG_TEMP2, [ REG_SOURCE_BUFFER + REG_STRIDE_BUFFERS - 2 ] \
__asm pmaddwd MMXREG_TEMP2, MMXREG_STRING3_MASK \
__asm paddd MMXREG_TEMP1, MMXREG_TEMP2 \
__asm movq MMXREG_TEMP2, MMXREG_TEMP1 \
__asm psrlq MMXREG_TEMP2, 32 \
__asm paddd MMXREG_TEMP1, MMXREG_TEMP2 \
__asm packssdw MMXREG_TEMP1, MMXREG_TEMP1 \
__asm pmaddwd MMXREG_TEMP1, MMXREG_KOEFF_MULL_RES \
__asm psrad MMXREG_TEMP1, SHIFT_FOR_BASE_KOEFF_MULL_FOR_SVERTKA \
__asm packssdw MMXREG_TEMP1, MMXREG_TEMP1 \
__asm psllq MMXREG_TEMP1, 48 \
__asm psrlq MMXREG_TEMP4, 16 \
__asm por MMXREG_TEMP4, MMXREG_TEMP1 \
__asm add REG_SOURCE_BUFFER, 2
pxor MMXREG_TEMP4, MMXREG_TEMP4;
MMX_ONE_PIXEL_STRING;
MMX_ONE_PIXEL_STRING;
MMX_ONE_PIXEL_STRING;
MMX_ONE_PIXEL_STRING;
Государство должно защищать свободу и право, в этом его оправдание.
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить