- 1
- 2
- 3
- 4
- 5
foreach($nodes as $xm){
$arr[count($arr)] = new StdClass();
$arr[count($arr)-1]->id = $xm->title;
$arr[count($arr)-1]->nid = $xm->id;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+157
foreach($nodes as $xm){
$arr[count($arr)] = new StdClass();
$arr[count($arr)-1]->id = $xm->title;
$arr[count($arr)-1]->nid = $xm->id;
}
+156
class sqlinj
{
...
public $liste=array("=","\'","\"","*","\-","declare","char","set","cast","convert","drop","exec","meta","script","select","truncate","insert","delete","union","update","create","where","join","information_schema","table_schema","into");
...
private function tumsorgular($yapilacak){
switch ($yapilacak){
case "post":
$this->islet=array("POST");
break;
case "get":
$this->islet=array("GET");
break;
case "request":
$this->islet=array("REQUEST");
break;
case "aio":
$this->islet=array("POST","GET","REQUEST");
break;
}
foreach($this->islet as $islem){
eval('foreach($_'.$islem.' as $ad=>$deger){
$_'.$islem.'[$ad]=$deger;
foreach($this->liste as $bul){
$_'.$islem.'[$ad]=str_replace($bul,"\\\".$bul."\\\",$_'.$islem.'[$ad]);
}
}
...
}
[url=http://www.phpclasses.org/browse/file/35305.html]Basic SQL Injection Protection[/url]
Cleanup harmful text from request parameters
Взято с phpclasses.org.
Новый тип говнокода- турецкий(описание: расходится по швам при первой носке)
А чё, ... не попортим так хакнем ;D
+92
var
CommHandle:integer;
DCB:TDCB;
Stat:TComStat;
Kols,TransMask,Errs:DWord;
Ovr:TOverlapped;
s:string;
i:integer;
{Чтение канала n}
function ReadChannel(n:integer):string;
begin
inc(n,32); //код запроса для прибора (это по спецификации прибора)
s:=chr(n); //символ запроса
WriteFile(CommHandle,s[1],length(s),Kols,@Ovr); //оправили этот код в прибор
TransMask:=0; //маска любого события в порте
Ovr.hEvent:=CreateEvent(nil, True, False, nil); //хз
repeat
if not WaitCommEvent(CommHandle, TransMask, @Ovr) then //если приём закончен не до конца, то...
if GetLastError = ERROR_IO_PENDING then WaitForSingleObject(Ovr.hEvent, INFINITE); //при условии "хз" подождать ещё чуть-чуть
ClearCommError(CommHandle,Errs,@Stat); //скинуть длину байт из буфера порта в переменную Stat
Kols:=Stat.cbInQue; //выяснить длину символов
until (Kols=1) or (Kols=14); //закончить, если в канале пусто (1) или данные есть (14)
SetLength(s,Kols); //установить переменную s длиной Kols
ReadFile(CommHandle,s[1],Kols,Kols,@Ovr); //прочитать данные из порта в s, обнулив буфер
if length(s)=1 then ReadChannel:='Пусто'; //дальше просто идёт обработка полученных данных
if length(s)=14 then ReadChannel:=copy(s,5,7);
end;
{Основной код}
for i:=1 to 60 do Value:=ReadChannel(i); //ПОЛУЧИТЬ ДАННЫЕ ИЗ ПОРТА n
Имеется прибор с хранением данных в 60 каналах. Связь осуществляется по RS-232.
Чтобы получить данные, нужно отправить № кода нужного канала. В ответ придут данные этого канала.
Если канал пустой, то приходит 1 байт, если данные есть, то 14 байт.
Создана функция ReadChannel(n) с запросом данных из канала n.
ПРОБЛЕМА:
Прочитать все 60 каналов удаётся иногда 3 раза, иногда 15 раз. Но обязательно когда-нибудь программа зависнет на
WaitCommEvent(CommHandle, TransMask, @Ovr), так ничего и не получив из порта.
Если между командами
WriteFile и WaitCommEvent
поставить sleep(50) //9600 бод = 1200 б/с, то бишь 12 мс на 1 байт
то всё пашет. Но это не дело же привязываться ко времени?
Как избавиться от зависания на WaitCommEvent, чтобы процесс продолжился?
Если прибор не получил байт, из-за чего не ответил, как это проверить? "Данных нет уже 0,5 с, значит и не будет; отправлю этот байт ещё раз".
+79
private double findVar(String vname) throws InterpreterException {
if (!Character.isLetter(vname.charAt(0))) {
handleErr(SYNTAX);
return 0.0; // ?!
}
return vars[Character.toUpperCase(vname.charAt(0))-'A'];
}
+126
private string ReadFile(string filePath)
{
string fileText = string.Empty;
int openAttempts = 0;
try
{
using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding(1252)))
{
fileText = sr.ReadToEnd();
if (!sr.EndOfStream)
{
sr.Close();
fs.Close();
throw new Exception();
}
}
}
}
catch (Exception ex)
{
//Throw an error if the number of attempts is equal to the number of configured retries
if (openAttempts == 20)
throw new Exception(ex.Message);
else
{
openAttempts += 1;
Thread.Sleep(1000); //Put the thread to sleep for the configured amount of time
ReadFile(filePath);
}
}
return fileText;
}
Тут все, и управление исключениями, и бессмысленная рекурсия, и глупые ошибки. Про то, что это можно было заменить на одну строчку я молчу даже.
−87
# -*- coding: utf-8 -*-
import pyaudio
import wave
import sys
import httplib, urllib
import os
import urllib2
import json
import win32clipboard
import locale
import win32con
import win32api
import pythoncom, pyHook
import msvcrt
import time
import random
import thread
import os
encoding = locale.getpreferredencoding(do_setlocale=True)
#while True:
# if msvcrt.kbhit(): # Нажата ли клавиша?
# key = ord(msvcrt.getch()) # Какая клавиша нажата?
# print key
# if key == 13: # если Enter:
# break
# Shift
#Виртуальный код: 160
#Скан-код: 42
#Ascii-код: 0
#==========
# Alt
#Виртуальный код: 164
#Скан-код: 56
#Ascii-код: 0
#==========
# Ctrl
#Виртуальный код: 162
#Скан-код: 29
#Ascii-код: 0
#==========
# z
# Alt+z
#Виртуальный код: 90
#Скан-код: 44
#Ascii-код: 122
#==========
# Ctrl+z
#Виртуальный код: 90
#Скан-код: 44
#Ascii-код: 26
#==========
# Shift+z
#Виртуальный код: 90
#Скан-код: 44
#Ascii-код: 90
#==========
#Ctrl+~ 192 41 0
def OnKeyDown(event):
global record
# если была нажата клавиаша, за
if event.WindowName == None:
wnd = 'None'
else:
wnd = unicode(event.WindowName, 'cp1251')
#print u'Окно: ', wnd
#if event.IsExtended():
# print 'IsExtended'
#if event.IsAlt():
# print 'ALT'
#print u'Виртуальный код: ', event.KeyID
#print u'Скан-код: ', event.ScanCode
#print u'Ascii-код: ', event.Ascii
#print '=========='
#return True
if event.KeyID == 162 and event.ScanCode == 29 and event.Ascii == 0:
if record == 0:
record = 1
stop = [0]
stop[0]=False
thread.start_new_thread(processRecord,(stop,))
#processRecord()
#elif record == 1:
# record = 2
return True # возврат True для посылки события другим обработчикам
def OnKeyUp(event):
global record
Я старался.... =)
+122
internal sealed class FontKeeper
{
private static readonly FontConverter s_converter = new FontConverter();
private static readonly Regex s_font = new Regex(@"^(?<name>\w[\s\w]+);\s*(?<size>\d+)pt\s*(?:;(?<style>.*))?$", RegexOptions.IgnoreCase);
private static readonly Regex s_style = new Regex(@"^\s*style\s*=\s*([\w\s,]+)$", RegexOptions.IgnoreCase);
private const int defaultSize = 14;
public FontKeeper(Font font) : this(s_converter.ConvertToString(font)) { }
public FontKeeper(string fontString)
{
Match m = s_font.Match(fontString);
if (!m.Success)
throw new ArgumentException("Неверный формат строки");
Name = m.Groups["name"].Value.Trim();
int sz;
if (!int.TryParse(m.Groups["size"].Value, out sz))
sz = defaultSize;
Size = sz;
//Флаги стиля
ParseStyle(m.Groups["style"].Value);
}
private void ParseStyle(string value)
{
Match m = s_style.Match(value);
if (!m.Success) return;
string[] styles = m.Groups[1].Value.Split(new[] { ',' });
foreach (var style in styles)
{
try
{
Style |= (FontStyle)Enum.Parse(typeof(FontStyle), style.Trim(), true);
}
catch { }
}
}
public string Name { get; set; }
public int Size { get; set; }
public FontStyle Style { get; set; }
public float FontFactor
{
get { return (float)Size / defaultSize; }
set { Size = (int)(value * defaultSize); }
}
public Font CreateFont()
{
return new Font(Name, Size, Style);
}
}
Небольшой класс для хранения и динамического изменения шрифтов
+87
((JButton) ((JPanel) ((JTabbedPane) jp.getComponent(1)).getComponent(2)).getComponent(1)).setEnabled(false);
((JButton) ((JPanel) ((JTabbedPane) jp.getComponent(1)).getComponent(2)).getComponent(2)).setEnabled(false);
((JScrollPane) ((JPanel) ((JTabbedPane) jp.getComponent(1)).getComponent(2)).getComponent(0)).getViewport().getComponent(0).setEnabled(false);
В этом коде кнопки делаются не активными.
+136
<html>
<head><meta http-equiv="Content-type" content="text/html; charset=UTF-8"></head>
<script type="text/javascript" encoding="UTF-8">
top.location.href = 'http://rghost.ru/10160511';
</script>
</html>
Вот так на ргхосте юзера перекидывают к загруженному файлу.
ЖС отключен? Заголовок Location? Не, не знаем.
+162
<?php
if ($stranica == "ГЛАВНАЯ")
{
echo "<p>ГЛАВНАЯ</p>";
}
else
{
echo "<p><a href='index.php'>ГЛАВНАЯ</a></p>";
}
?>
http://www.master-live.ru/php_links.html
Очередной сеошник учит детей похапе.