- 1
- 2
- 3
- 4
- 5
- 6
byte[] buf = new byte[8192];
int len = 0;
while ((len = is.read(buf))>0)
{
requestString += new String(buf, 0, len, "UTF-8");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+75
byte[] buf = new byte[8192];
int len = 0;
while ((len = is.read(buf))>0)
{
requestString += new String(buf, 0, len, "UTF-8");
}
Пока никто не кормил туда настоящий UTF-8. Только ascii.
+151
// $reg_date = "12.12.2007 15:41";
$this->reg_date = strptime($reg_date, "%d.%m.%Y %H:%M");
// и теперь обратно. Казалось бы, все просто, ан нет!
$rd = $this->reg_date;
$reg_date = mktime($rd['tm_hour'], $rd['tm_min'], 0, $rd['tm_mon']+1, $rd['tm_mday'], 1900+$rd['tm_year']); //как это???
$reg_date = strftime("%d.%m.%Y %H:%M", $reg_date);
// нормально, у strptime и strftime порядок аргументов разный
// $r_date == "12.12.2007 15:41"
Попытался написать на PHP простенькую штуку, глаза на лоб полезли от того как там делаются элементарнейшие вещи. Скажите, что все можно сделать проще и я просто плохо читал документацию!
+168
void __fastcall TForm1::ShowBits(unsigned char data)
{
if(data&0x1)ImBit0->Canvas->Brush->Color=0x0000FF00;
else ImBit0->Canvas->Brush->Color=clRed;
ImBit0->Canvas->FillRect(TRect(0,0,ImBit0->Width,ImBit0->Height));
if(data&0x2)ImBit1->Canvas->Brush->Color=0x0000FF00;
else ImBit1->Canvas->Brush->Color=clRed;
ImBit1->Canvas->FillRect(TRect(0,0,ImBit1->Width,ImBit1->Height));
if(data&0x4)ImBit2->Canvas->Brush->Color=0x0000FF00;
else ImBit2->Canvas->Brush->Color=clRed;
ImBit2->Canvas->FillRect(TRect(0,0,ImBit2->Width,ImBit2->Height));
if(data&0x8)ImBit3->Canvas->Brush->Color=0x0000FF00;
else ImBit3->Canvas->Brush->Color=clRed;
ImBit3->Canvas->FillRect(TRect(0,0,ImBit3->Width,ImBit3->Height));
if(data&0x10)ImBit4->Canvas->Brush->Color=0x0000FF00;
else ImBit4->Canvas->Brush->Color=clRed;
ImBit4->Canvas->FillRect(TRect(0,0,ImBit4->Width,ImBit4->Height));
if(data&0x20)ImBit5->Canvas->Brush->Color=0x0000FF00;
else ImBit5->Canvas->Brush->Color=clRed;
ImBit5->Canvas->FillRect(TRect(0,0,ImBit5->Width,ImBit5->Height));
if(data&0x40)ImBit6->Canvas->Brush->Color=0x0000FF00;
else ImBit6->Canvas->Brush->Color=clRed;
ImBit6->Canvas->FillRect(TRect(0,0,ImBit6->Width,ImBit6->Height));
if(data&0x80)ImBit7->Canvas->Brush->Color=0x0000FF00;
else ImBit7->Canvas->Brush->Color=clRed;
ImBit7->Canvas->FillRect(TRect(0,0,ImBit7->Width,ImBit7->Height));
}
Отображение состояния битов байта
+171
static void tm_to_systemtime(const tm* pTime, LPSYSTEMTIME pSysTime )
{
time_t timeT = mktime((tm*)pTime);
FILETIME fTime = {0},lTime = {0};
LONGLONG ll = Int32x32To64(timeT, 10000000) + 116444736000000000;
fTime.dwLowDateTime = (DWORD) ll;
fTime.dwHighDateTime = ll >>32;
FileTimeToLocalFileTime(&fTime,&lTime);
FileTimeToSystemTime(&lTime,pSysTime);
}
static std::string GetDateTimeString(const tm& activ)
{
SYSTEMTIME sysTime = {0};
tm_to_systemtime(&activ,&sysTime);
char str[256];
//format to <YYYYMMDDHHMMSS>
sprintf_s(str,sizeof(str),"%04d%02d%02d%02d%02d%02d",sysTime.wYear,sysTime.wMonth,sysTime.wDay,sysTime.wHour,sysTime.wMinute,sysTime.wSecond);
return std::string(str);
}
далеко не самый скучный способ отформатировать ::tm в виде YYYYMMDDHHmmss
+161
template<typename T,typename FIELD_T>
struct type_has_field{
typedef char yes_type;
struct no_type{char padding[8];};
template<class U>
static yes_type check_sig1(
U*,
FIELD_T(U::*)=&U::field // !!!Most importantly!!!
);
template<class U>
static no_type check_sig1(...);
static const bool value=sizeof(check_sig1<T>(0))==sizeof(yes_type);
};
http://www.gamedev.ru/code/forum/?id=152200
+163
#include <stdio.h>
const int (&getArray())[10] {
static int tmp[10] = {1,2,3,4,5,6,7,8,9,10};
return tmp;
}
void foo(const int (&refArr)[10])
{
size_t size = sizeof(refArr); // returns 10*sizeof(int)
printf ("Array size: %d\r\n", size);
}
int main() {
foo(getArray());
printf ("%d", getArray()[0]);
for (size_t i=1; i<sizeof(getArray())/sizeof(getArray()[0]); ++i)
printf (",%d", getArray()[i]);
return 0;
}
http://codepad.org/rPl6b7IS
c++ страшный язык :)
Извращения на тему: http://heifner.blogspot.com/2005/06/c-reference-to-array.html
+159
protected function readConfig($configPath) {
$ini = parse_ini_file($configPath);
foreach ($ini as $key => $value) {
$config[$key] = $value;
}
return $config;
}
+147
if ($a = 1) {
...бла-бла-бла
}
−99
Dim byteOut(64) As Byte
Dim i As Integer
Try
byteOut(0) = Len(outCName) + 5 'number bytes in output message
byteOut(1) = &H0 'should be 0 for NXT
byteOut(2) = &H80 '&H0 = reply expected &H80 = no reply expected
byteOut(3) = &H9 'Send Bluetooth
byteOut(4) = &H0 'Box Number - 1
byteOut(5) = Len(outCName) + 1 'message size with null terminator
For i = 1 To Len(outCName) 'copy bytes into output array
byteOut(i + 5) = Asc(Mid(outCName, i, 1))
Next
byteOut(Len(outCName) + 6) = &H0 'add null terminator
SerialPort1.Write(byteOut, 0, Len(outCName) + 7) 'send message
Catch ex As Exception
MsgBox(ex.ToString)
End Try
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Try
byteOut(0) = Len(outWState) + 5 'number bytes in output message
byteOut(1) = &H0 'should be 0 for NXT
byteOut(2) = &H80 '&H0 = reply expected &H80 = no reply expected
byteOut(3) = &H9 'Send Bluetooth
byteOut(4) = &H1 'Box Number - 1
byteOut(5) = Len(outWState) + 1 'message size with null terminator
For i = 1 To Len(outWState) 'copy bytes into output array
byteOut(i + 5) = Asc(Mid(outWState, i, 1))
Next
byteOut(Len(outWState) + 6) = &H0 'add null terminator
SerialPort1.Write(byteOut, 0, Len(outWState) + 7) 'send message
Catch ex As Exception
MsgBox(ex.ToString)
End Try
<..ещё один раз..>
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Try
byteOut(0) = Len(outWindC) + 5 'number bytes in output message
byteOut(1) = &H0 'should be 0 for NXT
byteOut(2) = &H80 '&H0 = reply expected &H80 = no reply expected
byteOut(3) = &H9 'Send Bluetooth
byteOut(4) = &H3 'Box Number - 1
byteOut(5) = Len(outWindC) + 1 'message size with null terminator
For i = 1 To Len(outWindC) 'copy bytes into output array
byteOut(i + 5) = Asc(Mid(outWindC, i, 1))
Next
byteOut(Len(outWindC) + 6) = &H0 'add null terminator
SerialPort1.Write(byteOut, 0, Len(outWindC) + 7) 'send message
Catch ex As Exception
MsgBox(ex.ToString)
End Try
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Try
byteOut(0) = Len(outHum) + 5 'number bytes in output message
byteOut(1) = &H0 'should be 0 for NXT
byteOut(2) = &H80 '&H0 = reply expected &H80 = no reply expected
byteOut(3) = &H9 'Send Bluetooth
byteOut(4) = &H4 'Box Number - 1
byteOut(5) = Len(outHum) + 1 'message size with null terminator
For i = 1 To Len(outHum) 'copy bytes into output array
byteOut(i + 5) = Asc(Mid(outHum, i, 1))
Next
byteOut(Len(outHum) + 6) = &H0 'add null terminator
SerialPort1.Write(byteOut, 0, Len(outHum) + 7) 'send message
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Говнокод почти трёхлетней давности. Понадобилось мне посмотреть, как я реализовывал "общение" по блютусу с Mindstorms NXT, и напоролся на вот это...
+154
function sajax_get_common_js() {
global $sajax_debug_mode;
global $sajax_request_type;
global $sajax_remote_uri;
$t = strtoupper($sajax_request_type);
if ($t != "GET" && $t != "POST")
return "// Invalid type: $t.. \n\n";
ob_start();
?>
// remote scripting library
// (c) copyright 2005 modernmethod, inc
var sajax_debug_mode = <?php echo $sajax_debug_mode ? "true" : "false"; ?>;
var sajax_request_type = "<?php echo $t; ?>";
function sajax_debug(text) {
if (sajax_debug_mode)
alert("RSD: " + text)
}
function sajax_init_object() {
sajax_debug("sajax_init_object() called..")
var A;
try {
A=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
A=new ActiveXObject("Microsoft.XMLHTTP");
} catch (oc) {
A=null;
}
}
if(!A && typeof XMLHttpRequest != "undefined")
A = new XMLHttpRequest();
if (!A)
sajax_debug("Could not create connection object.");
return A;
}
function sajax_do_call(func_name, args) {
var i, x, n;
var uri;
var post_data;
uri = "<?php echo $sajax_remote_uri; ?>";
if (sajax_request_type == "GET") {
if (uri.indexOf("?") == -1)
uri = uri + "?rs=" + escape(func_name);
else
uri = uri + "&rs=" + escape(func_name);
for (i = 0; i < args.length-1; i++)
uri = uri + "&rsargs[]=" + escape(args[i]);
uri = uri + "&rsrnd=" + new Date().getTime();
post_data = null;
} else {
post_data = "rs=" + escape(func_name);
for (i = 0; i < args.length-1; i++)
post_data = post_data + "&rsargs[]=" + escape(args[i]);
}
x = sajax_init_object();
x.open(sajax_request_type, uri, true);
if (sajax_request_type == "POST") {
x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}
x.onreadystatechange = function() {
if (x.readyState != 4)
return;
sajax_debug("received " + x.responseText);
var status;
var data;
status = x.responseText.charAt(0);
data = x.responseText.substring(2);
if (status == "-")
alert("Error: " + data);
else
args[args.length-1](data);
}
x.send(post_data);
sajax_debug(func_name + " uri = " + uri + "/post = " + post_data);
sajax_debug(func_name + " waiting..");
delete x;
}
<?php
$html = ob_get_contents();
ob_end_clean();
return $html;
}
Из PHPList
PHP и JS в перемешку.
Это печально...