- 1
labelViewData.CreateTextPainterAccordingAllowedBoundsForLabels
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
labelViewData.CreateTextPainterAccordingAllowedBoundsForLabels
По Макконнеллу. Название метода должно отражать всю его суть и даже немножко деталей реализации. Ну как немножко, почти все.
−1
#/bin/bash
gen()
{
rnd=$RANDOM
let length=rnd%25
rnd=$RANDOM
let one=rnd%10
one=$(echo $one|tr 0-9 A-Z)
text=$one
while [ "$length" -gt 0 ]; do
rnd=$RANDOM
let one=rnd%10
one=$(echo $one|tr 0-9 a-z)
text=$text$one
let length-=1
done
echo "Новый ник: $text"
}
while true;do
gen
sleep 1
done
Генератор ников который реально иногда выдает четкие ники
−1
<CustomTimePicker
ref={ref => {
if (!ref || this.moved || this.handled)
return;
this.handled = true;
ref.picker.addEventListener('click', () => {
if (this.moved)
return;
setTimeout(() => {
const panel = ref.panelInstance;
if (!panel || !panel._reactInternalInstance)
return;
const node = panel._reactInternalInstance._renderedComponent._hostNode.parentNode.parentNode.parentNode;
this.moved = true;
this.refs.container.appendChild(node);
ref.picker.click();
ref.picker.click();
}, 0);
});
}}
showSecond={false}
value={this.props.value || moment()}
className="timepicker"
onChange={(e) => this.handleChange(e)}
format={this.format}
use12Hours
/>
−1
TServerThread = class(TThread)
private
procedure DoReadData;
protected
ThreadOwner: TIPCServer;
procedure Execute; override;
constructor Create(AThreadOwner: TIPCServer);
destructor Destroy; override;
public
end;
Мы кодили, кодили и наконец накодили!
0
import java.util.*;
public class Main
{
public static void main(String[] args)
{
two s = new two(25);
s.get();
}
}
class one
{
private int a;
one(int a)
{
this.a = a*2;
}
void get()
{
System.out.println(a);
}
}
class two extends one
{
void get()
{
get();
}
two(int a)
{
super(a);
}
}
Когда пытаешься вызвать функцию подкласса из класса
0
procedure TForm1.ProcListAdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
var
TP:TprocessInfo;
xColor: TColor;
xRect: TRect;
xBitmap: TBitmap;
I, L, R: Integer;
begin
DefaultDraw:=False;
TP:=TProcessInfo(Item.SubItems.Objects[0]);
if (Item.Selected) then
begin
if Sender.Focused then
begin
if (FItemAtCursor <> -1) and (Item.Index = FItemAtCursor) then
xColor:=clNavy
else
xColor:=$00C56A31;
end
else
xColor:=$00D8E9EC
end
else
begin
if (TP.New<2) or (TP.Terminated<2) or (TP.Hidden) then
begin
if ShowDangerousProcesses then
if TP.Hidden then
xColor:=$00DBDBDB;
if ShowNewProcesses then
if TP.New <2 then
xColor:=$001DEB2D;
if ShowTerminatedProcesses then
if TP.Terminated < 2 then
xColor:=$001D2DEB;
end
else
if (Item.Index mod 2 = 1) then
xColor:=RGB(245,245,255)
else
xColor:=clWindow;
end;
Sender.Canvas.Brush.Color:=xColor;
DefaultDraw:=True;
if (Item.Selected) and Sender.Focused
then Sender.Canvas.Font.Color:=clWindow
else Sender.Canvas.Font.Color:=clWindowText;
Sender.Canvas.FillRect(Item.DisplayRect(drLabel));
DefaultDraw:=True;
Exit;
xRect:=Item.DisplayRect(drLabel);
Sender.Canvas.TextRect(xRect,xRect.Left+2,xRect.Top,Item.Caption);
for I:=0 to TListView(Sender).Columns.Count-1 do
begin
if TListView(Sender).Columns[TListView(Sender).Columns[I].ID].Width<=0 then Continue;
if (I=0) and (TListView(Sender).Columns[I].ID <> 0) then
begin
xRect.Left:=0;
xRect.Right:=xRect.Left+TListView(Sender).Columns.Items[TListView(Sender).Columns[I].ID].Width-1;
Sender.Canvas.FillRect(xRect);
Sender.Canvas.TextRect(xRect,xRect.Left+2,xRect.Top,Item.SubItems[TListView(Sender).Columns[I].ID-1]);
end
else
begin
if I>0 then
begin
xRect.Left:=xRect.Right+1;
xRect.Right:=xRect.Left+TListView(Sender).Columns.Items[TListView(Sender).Columns[I].ID].Width-1;
Sender.Canvas.FillRect(xRect);
if TListView(Sender).Columns[I].ID >0 then
Sender.Canvas.TextRect(xRect,xRect.Left+5,xRect.Top,Item.SubItems[Pred(TListView(Sender).Columns[I].ID)])
else
begin
L:=(Item.DisplayRect(drIcon).Right-Item.DisplayRect(drIcon).Left)+6;
Sender.Canvas.TextRect(xRect,xRect.Left+L,xRect.Top, Item.Caption)
end;
end;
end;
end;
Sender.Canvas.Brush.Color:=clWindow;
Sender.Canvas.FillRect(Item.DisplayRect(drIcon));
if Item.ImageIndex=-1 then Exit;
xBitmap:=TBitmap.Create;
TListView(Sender).SmallImages.GetBitmap(Item.ImageIndex,xBitmap);
ListView - великий и ужасный! - в режиме OwnerDraw.
Писал диспетчер процессов. Когда я разрешил прятать столбцы и включил свойство FullDrag, моя жизнь круто изменилась.
−1
public function sendChat ($msg) {
if($this->isLogged()){
if($this->checkAd($this->sql($msg)) !== '' || $this->checkAd($this->sql($msg))[0] !== ' '){
$q = $this->db->row("SELECT * FROM `chat` WHERE `user` = '".intval($_SESSION['steamid'])."' ORDER BY `id` DESC LIMIT 1");
if($q->time+1 <= time()){
if($q->text != $this->checkAd($this->sql($msg))) {
$r = $this->db->query("INSERT INTO `chat` (`user`,`text`,`time`) VALUES ('".intval($_SESSION['steamid'])."', '".$this->sql($this->checkAd($msg))."', ".time().")");
return json_encode(array("success" => true,));
} else {
return json_encode(array("success" => false, "msg" => "flood"));
}
} else {
return json_encode(array("success" => false, "msg" => "flood"));
}
} else {
json_encode(array("success" => false, "msg" => "null_msg"));
}
} else {
return json_encode(array("success" => false, "msg" => "not_auth"));
}
}
−2
from threading import Thread
from time import sleep
for i in range(4):
print(type(i))
def f(i):
if int(i) == 1:
print('i=',i)
elif i == 2:
print('i=',i)
elif i == 3:
print('i=', i)
t = Thread(target=f, args=(i,))
t.start()
sleep(1)
print(i)
0
OleDbCommand command = new OleDbCommand("select * from Прейскурант where ID = 1", bd);
OleDbDataReader dataReader1 = command.ExecuteReader();
string st;
dataReader1.Read();
int i = 0;
while (i < dataReader1.FieldCount)
{
st = dataReader1.GetValue(i).ToString();
switch (i)
{
case 0:
textBox1.Text = st;
break;
case 1:
textBox2.Text = st;
break;
case 2:
textBox3.Text = st;
break;
case 3:
textBox4.Text = st;
break;
case 4:
textBox5.Text = st;
break;
case 5:
textBox6.Text = st;
break;
case 6:
textBox7.Text = st;
break;
case 7:
textBox8.Text = st;
break;
case 8:
textBox9.Text = st;
break;
case 9:
textBox10.Text = st;
break;
case 10:
textBox11.Text = st;
break;
case 11:
textBox12.Text = st;
break;
case 12:
textBox13.Text = st;
break;
case 13:
textBox14.Text = st;
break;
case 14:
textBox15.Text = st;
break;
}
i++;
}
dataReader1.Close();
bd.Close();
Заполнение текстбоксов WinForms данными из бд. Пацан на 4-м курсе.
−1
for (int i = 0; i < WorkedVerts.count(); i++)
{
int R0 = (i + Offset0) % WorkedVerts.count();
int R1 = (i + Offset1) % WorkedVerts.count();
int R2 = (i + Offset2) % WorkedVerts.count();
XA << WorkedVerts.at(R0).Position;
XB << WorkedVerts.at(R1).Position;
XC << WorkedVerts.at(R2).Position;
}
PrepareDataPointers(XA, XB, XC);
Inset_Cuda(InputData0, InputData1, InputData2, OutputData, XA.count(), -Amount);
for (int x = 0; x < XA.count(); x++)
{
if (fabs(OutputData[x].x) < 0.0001f && fabs(OutputData[x].y) < 0.0001f && fabs(OutputData[x].z < 0.0001f))
{
int Start = x;
int Start1 = (x + (XA.count() - 1)) % XA.count();
QVector3D StartVec = QVector3D(OutputData[Start1].x, OutputData[Start1].y, OutputData[Start1].z);
QVector3D EndVec = StartVec;
int End = 0;
while (true)
{
End = Start++;
if (fabs(OutputData[End].x) > 0.0001f && fabs(OutputData[End].y) > 0.0001f && fabs(OutputData[End].z > 0.0001f))
{
EndVec = QVector3D(OutputData[End].x, OutputData[End].y, OutputData[End].z);
break;
}
}
QVector3D OffsetX0 = WorkedVerts.at(Start).Position - StartVec;
QVector3D OffsetX1 = WorkedVerts.at(End).Position - EndVec;
QVector3D Mid2 = OffsetX0 + (OffsetX1 - OffsetX0) * 0.5f;
OutputData[x].x = Mid2.x();
OutputData[x].y = Mid2.y();
OutputData[x].z = Mid2.z();
}
}
int VertsCounter = SharedVerts.count();
for (int i = 0; i < WorkedVerts.count(); i++)
{
SharedVertex NewVert;
int Count3 = WorkedVerts.count();
int index = (i + (Count3 - 1)) % Count3;
NewVert.Position = QVector3D(OutputData[index].x, OutputData[index].y, OutputData[index].z);
NewVert.Index = VertsCounter++;
SV2 << NewVert;
}
Код нахождения копии контура вершин с оффсетом.