- 1
- 2
- 3
- 4
- 5
<div style="display:none;">
<script type="text/javascript">
(function(w, c) {................................})(window, "yandex_metrika_callbacks");
</script>
</div>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+141
<div style="display:none;">
<script type="text/javascript">
(function(w, c) {................................})(window, "yandex_metrika_callbacks");
</script>
</div>
А ты скрываешь свои скрипты?
+141
private function toZeroIfNotSet($param) {
if (isset($param)) {
return $param;
} else {
return 0;
}
}
на старом проекте)
+141
api.outboxStatus = function(params){
angular.forEach($rootScope.outbox, function(outbox, i){
if( outbox._id == params.outbox._id )
$rootScope.$apply(function(){
$rootScope.outbox[i] = params.outbox;
});
});
}
// -----------
шаблон
<tr ng-repeat="item in fOutbox = (outbox | filter:filterOutbox())">
+141
LoggerSngl::instance()->Trace("Заходим под семафор.");
QPRFQueueSemaphoreSngl::instance()->Lock(); //Гыгы.
{
LoggerSngl::instance()->Trace("Зашли под семафор.");
CSingleLock lock(QPREFQueueMutexSngl::instance().get(), TRUE);
LoggerSngl::instance()->Trace("Получение задачи из очереди...");
qprfTask = std::dynamic_pointer_cast<QPRFTask>(_tasks.front());
_tasks.pop();
LoggerSngl::instance()->TraceFmt("Получили задачу из очереди. Остаток длины %d.", _tasks.size());
}
if (qprfTask->isFinishTask())
{
CoUninitialize();
release_chckxml_lib();
qprfTask->semaphore()->Unlock();
_endthreadex(0);
}
+141
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
BitBtn1->Enabled=false;
String KolDaysInMonth=MonthDays[IsLeapYear(Edit1->Text.ToInt())][ComboBox1->ItemIndex];//кол-во дней в месяце выбранного года
String TimeOT="cast('"+String(ComboBox1->ItemIndex+1)+".01."+Edit1->Text+" 00:00:00' as datetime)";
String TimeDO="cast('"+String(ComboBox1->ItemIndex+1)+"."+KolDaysInMonth+"."+Edit1->Text+" 23:59:59' as datetime)";
String BTWOTDO="BETWEEN "+TimeOT+" and "+TimeDO;
AnsiString NomZav="";
AnsiString NomPar="";
//заявки
ADOQuery1->Close(); //and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and nomopr IN (select distinct nomoprl from kompar.dbf where deleted=0 and nompar IN (select distinct nompar from kompar.dbf where deleted=0 and datzaob NOT "+BTWOTDO+")))
ADOQuery1->SQL->Clear(); //and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and dakote NOT "+BTWOTDO+")
ADOQuery1->SQL->Add("select distinct nomzav from ochzav.dbf where deleted=0 and dakote "+BTWOTDO+" and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and dakote>"+TimeDO+") and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and nomopr IN (select distinct nomoprl from kompar.dbf where deleted=0 and datzaob IS NULL)) and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and nomopr IN (select distinct nomoprl from kompar.dbf where deleted=0 and nompar IN (select distinct nompar from kompar.dbf where deleted=0 and nomoprl IN (select distinct nomopr from ochzav.dbf where deleted=0 and dakote IS NULL))))");
ADOQuery1->Open();
if (!ADOQuery1->Eof) {//если что то нашлось
while (!ADOQuery1->Eof) {
NomZav=NomZav+"'"+ADOQuery1->FieldByName("nomzav")->AsString.Trim()+"',";
ADOQuery1->Next();
}
NomZav=NomZav.Delete(NomZav.Length(),1);//обрезаем запятую на конце
//партии
ADOQuery1->Close();
ADOQuery1->SQL->Clear(); //and nompar NOT IN (select distinct nompar from kompar.dbf where deleted=0 and datzaob NOT "+BTWOTDO+")
ADOQuery1->SQL->Add("select distinct nompar from kompar.dbf where deleted=0 and nompar IN (select distinct nompar from kompar.dbf where deleted=0 and nomoprl IN (select distinct nomopr from ochzav.dbf where deleted=0 and nomzav IN ("+NomZav+")))");
ADOQuery1->Open();
if (!ADOQuery1->Eof) {//если что то нашлось
while (!ADOQuery1->Eof) {
NomPar=NomPar+"'"+ADOQuery1->FieldByName("nompar")->AsString.Trim()+"',";
ADOQuery1->Next();
}
NomPar=NomPar.Delete(NomPar.Length(),1);//обрезаем запятую на конце
}
}
if (NomZav.Trim().Length()==0||NomPar.Trim().Length()==0) {
ShowMessage("Не найденно завершённых заявок и партий за "+ComboBox1->Text+" "+Edit1->Text+" года");
BitBtn1->Enabled=true;
Abort();
}
if (Application->MessageBoxA(AnsiString("Вы действительно хотите удалить все завершённые заявки и партии за "+ComboBox1->Text+" "+Edit1->Text+" года?\n\n"
"Завершённые заявки: "+NomZav+"\nЗавершённые партии: "+NomPar).c_str(),"Удаление завершённых заявок и партий",MB_YESNO)==IDYES) {
//удаление партий из ochpar.dbf
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("update ochpar.dbf set deleted=1 where deleted=0 and nompar IN ("+NomPar+")");
ADOQuery1->ExecSQL();
//удаление партий из kompar.dbf
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("update kompar.dbf set deleted=1 where deleted=0 and nompar IN ("+NomPar+")");
ADOQuery1->ExecSQL();
//удаление заявок из ochzav.dbf
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("update ochzav.dbf set deleted=1 where deleted=0 and nomzav IN ("+NomZav+")");
ADOQuery1->ExecSQL();
ShowMessage("Удаление партий и заявок за "+ComboBox1->Text+" "+Edit1->Text+" года завершено успешно");
}
BitBtn1->Enabled=true;
}
+141
AnsiString SQLAdderFictDel(TADOQuery * QueryForTry,/*для неотображаемых операций*/
TADOQuery * QueryForOpen,/*для отображаемых операций*/ AnsiString TableName,/*имя таблицы*/ AnsiString Deleted,/*имя поля "признак удаления"*/
AnsiString AutoInc,/*автоинкримент(уникальное в представлении СУБД)*/ AnsiString SQL_TestOnUnique,/*уникальные поля в представлении пользователя(одно или несколько, если таковых нет, то им будет являться автоинкримент(уникальное в представлении СУБД("and id = "+id_который_под_курсором)))*/
AnsiString SQL_Insert_Fields,/*имена полей, в которые надо внести значения*/ AnsiString SQL_Insert_Values,/*вносимые значения*/
AnsiString SQL_Update_Str,/*имена полей и вносимые значения*/ AnsiString CursorRec,/*значение уникального поля под курсором("0", если ToUpdating == false)*/ AnsiString Order,/*упорядочивание*/
bool ToUpdating,/*true, если используется для update*/ bool CursorToAddUpdRec,/*true, если нужно поместить курсор на добавленную запись(только если уникальное поле(в представлении СУБД) - автоинкримент)*/ bool ReturnRealFutureID)/*true, если нужно вернуть значение ID, которое будет добавлено в следующий раз*/
{
AnsiString ValToLocate,/*значение уникального поля будущей записи*/ DP;/*формирование значения уникального поля(либо первое попавшееся удалённое, либо под курсором)*/
if (CursorToAddUpdRec==true&&ToUpdating==false)//ПОИСК ЗНАЧЕНИЯ УНИКАЛЬНОГО ПОЛЯ БУДУЩЕЙ ЗАПИСИ
{
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("select "+AutoInc+" from "+TableName+" where "+Deleted+" = 1 order by "+AutoInc+" asc");//отображаем то, что получилось
QueryForTry->Open();
if (QueryForTry->Eof)
{
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("select max("+AutoInc+") from "+TableName+" where "+Deleted+" = 0");//отображаем то, что получилось
QueryForTry->Open();
ValToLocate=QueryForTry->Fields[0][0]->AsString.ToIntDef(0)+1;
}
else ValToLocate=QueryForTry->Fields[0][0]->AsString.ToInt();
}
else if (CursorToAddUpdRec==true&&ToUpdating==true) ValToLocate=CursorRec;
if (ToUpdating)
{//удаление выделенного поля
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("update "+TableName+" set deleted = 1 where "+AutoInc+" = "+CursorRec);
QueryForTry->ExecSQL();
}
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("select distinct "+Deleted+" from "+TableName+" where "+Deleted+" = 0 "+SQL_TestOnUnique);//проверка на уникальность(есть ли запись со значениями соответствующих полей?)
QueryForTry->Open();
if (!QueryForTry->Eof)
{//если тест на уникальность провален(такая запись уже есть)
if (ToUpdating)
{//восстановление поля, удалённого при выделении
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("update "+TableName+" set deleted = 0 where "+AutoInc+" = "+CursorRec);
QueryForTry->ExecSQL();
}
MessageDlg("Такая запись уже существует!",mtWarning,TMsgDlgButtons()<<mbOK,0);
return ".FAIL.";
}
else
{//проверяются поля с фильтром удаления("удалённые")
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("select distinct "+AutoInc+" from "+TableName+" where "+Deleted+" = 1");//выбрать поля в которых есть признак отсутствия информации(удалённые) и соответствующее им уникальное поле
QueryForTry->Open();
if (!QueryForTry->Eof)
{//если есть поля с фильтром удаления("удалённые")
if (ToUpdating) DP=CursorRec;//для обновления выбирается запись с тем же самым уникальным полем
else DP=QueryForTry->Fields[0][0]->AsString;//для добавления выбирается первая попавшаяся запись с признаком удаления
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("update "+TableName+" set "+Deleted+" = 0, "+SQL_Update_Str+" where "+AutoInc+" = "+DP);//отменить удаление для поля, присвоить ему значения
QueryForTry->ExecSQL();
}
else
{//если нет полей с фильтром удаления, то вставляем как в обычном SQL
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("insert into "+TableName+" ("+SQL_Insert_Fields+","+Deleted+") values("+SQL_Insert_Values+",0)");//SQL вставка
QueryForTry->ExecSQL();
}
QueryForOpen->Close();//отображение и сортировка
QueryForOpen->SQL->Clear();
QueryForOpen->SQL->Add("select * from "+TableName+" where "+Deleted+" = 0 "+Order);//отображаем то, что получилось
QueryForOpen->Open();
if (CursorToAddUpdRec)
{//установка курсора на добавленное значение
TLocateOptions Options;
Options<<loCaseInsensitive<<loPartialKey;
QueryForOpen->Locate(AutoInc,ValToLocate,Options);
}
if (ReturnRealFutureID)//ПОИСК ЗНАЧЕНИЯ УНИКАЛЬНОГО ПОЛЯ БУДУЩЕЙ ЗАПИСИ
{
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("select "+AutoInc+" from "+TableName+" where "+Deleted+" = 1 order by "+AutoInc+" asc");//отображаем то, что получилось
QueryForTry->Open();
if (QueryForTry->Eof)
{
QueryForTry->Close();
QueryForTry->SQL->Clear();
QueryForTry->SQL->Add("select max("+AutoInc+") from "+TableName+" where "+Deleted+" = 0");//отображаем то, что получилось
QueryForTry->Open();
ValToLocate=QueryForTry->Fields[0][0]->AsString.ToIntDef(0)+1;
}
else ValToLocate=QueryForTry->Fields[0][0]->AsString.ToInt();
}
else if (ReturnRealFutureID==false&&CursorToAddUpdRec==false) return ".WIN.";
return ValToLocate;
}
}
+141
$page = strtoupper($_SERVER['REQUEST_URI']);
if (strpos($page, "%D0%A2%D0%BE%D0%BF10")){
echo "<li class=\"active\"><a href=\"/%D0%A2%D0%BE%D0%BF10\">Топ-10</a></li>";
} else {
echo "<li><a href=\"/%D0%A2%D0%BE%D0%BF10\">Топ-10</a></li>";
}
if (strpos($page, "%D0%A2%D1%80%D0%B0%D1%84%D0%B8%D0%BA")){
echo "<li class=\"active\"><a href=\"/%D0%A2%D1%80%D0%B0%D1%84%D0%B8%D0%BA\">Трафик</a></li>";
} else {
echo "<li><a href=\"/%D0%A2%D1%80%D0%B0%D1%84%D0%B8%D0%BA\">Трафик</a></li>";
}
if (strpos($page, "%D0%9B%D0%B8%D0%B4%D0%B5%D1%80")) {
echo "<li class=\"active\"><a href=\"/%D0%9B%D0%B8%D0%B4%D0%B5%D1%80\">Лидер</a></li>";
} else {
echo "<li><a href=\"/%D0%9B%D0%B8%D0%B4%D0%B5%D1%80\">Лидер</a></li>";
}
...а кроме того, в данном случае strtoupper бесполезен
+141
$phsms = '';
for($p=0;$p<strlen($phonesms);$p++)
if(intval($phonesms[$p]) >= 0) $phsms = $phsms.intval($phonesms[$p]);
preg_match('/.*(9[0-9]{2})([0-9]{7})/', $phsms, $match2);
$phsms = $match2[1].$match2[2];
Валидируем телефоны.
+141
#include <stdio.h>
#include <dstring.h>
#include <iostream>
#include <fstream>
#include <sysmac.h>
#include <System.hpp>
class ImpFromTxt
{
AnsiString S1; //переменная для выбранного текста из файла
AnsiString buf; //буферная переменная для записи необходимых слов
public:
AnsiString Import(const char* Aftr, int Chislo=0, ...)
{ //^число слов после которых необходимо вычленить слова
// using namespace std;
size_t count=0; //Число символов в файле
char S; //для подсчета символов
const char* word_before = "Точка: "; //слово, после которого необходимо выделить слово
/*Просто считаем число символов*/
ifstream f(Aftr);
while (!f.eof())
{
f.get(S);
count++;
}
f.close();
/*Добавляем текст в переменную*/
char *S2=new char [count]; //Выделяем память по определенному числу символов
for (int i=0;i<count;i++) S2[i]=NULL; //Очищаем строку от хлама
ifstream f2(Aftr); //создаем поток для работы с файлом
int i=0; //куроср на текущий символ (как номер буквы в слове)
while (!f2.eof()) //Проходим ао файлу
{
f2.get(S2[i]); //Записываем симыол за символом
i++; //передвинули курсор для записи следующего символа
}
f2.close(); //закончили работу с файлом
S1 = S2;
// cout<<S2<<endl; //Теперь переменная char[] содержит текст из файла
delete []S2; //освобождаем память
/**************************************/
switch (Chislo) //цикл для выбора количества видов слов
{ //слова будут собираться в буферной переменной
//для возвращения в основную программу
case 2:
break;
case 1: { // TX;
while (S1.Pos(word_before))
{
char buf1[100]= " ";
int j=0;
i=(S1.Pos(word_before)) ? (S1.Pos(word_before)+strlen(word_before)) : 0;
int M = S1.Pos(word_before); //индекс первой буквы Т в первом нахождении слова Точка
int L = S1.Length(); //длинна всего текста
if (i)
while (S1[i] != '\n')
{
buf1[j]=S1[i];
j++;
i++;
}
buf1[strlen(buf1)] = '\r';
buf1[strlen(buf1)] = '\n';
buf += buf1;
//buf = buf.Insert((S1.SubString(S1.Pos("Точка:")+8,5)),(S1.Pos("Точка:")+8));
S1 = S1.SubString(S1.Pos(word_before)+strlen(buf1)-1+strlen(word_before),S1.Length()-(S1.Pos(word_before)+strlen(word_before)+strlen(buf1)-2));
//-1 и -2 в этом присваивании поставлены для компенсации добавленных лишних символов \r \n
L = S1.Length();
}
}
break;
case 3:
break;
default:
;
}
return buf;
}
};
Класс парсит текстовый файл вида
Точка: Инфа 1
Точка: Инфа 2
Точка: Инфа ...
Точка: Инфа n
доставая инфу, находящуюся после лексемы "Точка: ".
Нет, код писался не специально, чтобы потешить кого-то на этом сайте. Это из реального рабочего проекта.
+141
public static final long SECOND = 1000;
public static final long MINUTE = 1000 * 60;
public static final long HOUR = MINUTE * 60;
public static final long DAY = HOUR * 24;
public static final long WEEK = DAY * 7;
public static final long MONTH = DAY * 30;
public static final long SEMIANNUAL = DAY * 183;
public static final long YEAR = DAY * 365;