- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
var
Form1: TForm1;
i:integer; // глобальные переменные - "общие"
CritSec:TCriticalSection; // объект критической секции
implementation
{$R *.dfm}
procedure ThreadFunc;
begin
while (i<100000) do
begin
CritSec.Enter; // открываем секцию
i:=i+1; //увеличиваем i
Form1.Label1.Caption:=IntToStr(i); //из потока к элементам формы нужно обращаться через имя формы
CritSec.Leave; // закрываем
end;
endthread(0); // красиво выходим из потока.
end;
procedure TForm1.Button1Click(Sender: TObject);
var tid1,tid2,id:longword;
begin
i:=0;
tid1:=beginthread(nil,0,Addr(ThreadFunc),nil,0,id); //запускаем функцию ThreadFunc в потоке
tid2:=beginthread(nil,0,Addr(ThreadFunc),nil,0,id); //в tid2 присваиваем Идентификатор потока, который пригодится позже.
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CritSec:=TCriticalSection.Create; // создаём объект критической секции, на всё время работы программы
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
CritSec.Free; // разрушаем
end;
end.
Уебище, блять, лесное.
http://grabberz.com/showthread.php?t=24619
brutushafens 14.05.2014 15:33 # +1
bormand 14.05.2014 15:41 # 0
> beginthread
Это же винапишная функция, просто ее в кривом регистре записали?
brutushafens 14.05.2014 15:57 # +1
bormand 14.05.2014 16:03 # +1
И это плохо :( Нечувствительность к регистру развращает людей.
brutushafens 14.05.2014 16:08 # −1
bormand 14.05.2014 16:09 # +4
Потому что GetLogicalDriveStrings или get_logical_drive_strings читаются на порядок легче, чем getlogicaldrivestrings. Тебя же не напрягает в русском языке писать пробелы между словами?
3.14159265 14.05.2014 17:27 # +1
Не. Людей развращают ide.
А case-sensitive это просто сишкоблядское говно, экономия на спичках в парсере.
bormand 14.05.2014 17:33 # +1
Ну вот с IDE обычно все-таки пишут в том же регистре, как и оригинал. Т.к. автодополнение.
> сишкоблядское говно, экономия на спичках в парсере
Идеально, имхо, было бы совместить достоинства sensitive и insensitive - запретить писать идентификаторы, отличающиеся только регистром букв, и одновременно с этим запретить писать идентификаторы в неправильном регистре:
3.14159265 14.05.2014 17:36 # +1
Об том и речь. ИДЕ мешают любителям case-sensitive запоминать в каком регистре то что они хотели написать.
>запретить писать идентификаторы, отличающиеся только регистром букв, и одновременно с этим запретить писать идентификаторы в неправильном регистре
ЕМПИН, VB сам преобразовывал к тому регистру в котором объявлена переменная. То есть написал сверху
Dim SomeShit as Byte И везде ниже, когда кодер писал переменную someshit, someSHit итп, она автоматически превращалась в нужный регистр. Естественно он это видел.
bormand 14.05.2014 17:38 # +2
А хуле там запоминать? Есть же соглашения о именованиях, и их не так уж и много. Никто в нормальном коде не пишет AbSTraCtFacTorY.
3.14159265 14.05.2014 17:39 # 0
Эти соглашения противоречат:
>>запретить писать идентификаторы, отличающиеся только регистром букв
Пример ниже:
>AbsractFactory - класс
>absractFactory - инстанс
bormand 14.05.2014 17:41 # +1
Нинужно, т.к. тупой копипаст имени класса ничего не говорит о назначении переменной:
3.14159265 14.05.2014 17:41 # 0
Согласен, это типичный DRY.
Но такого ж кода полно.
И именно IDE автоматически подставляют такие ничего не значащие переменные!
bormand 14.05.2014 17:47 # +1
Дык откуда им знать, чего я хочу в этот Point положить, и какие объекты будет запиливать вот эта абсрактная фабрика? Мысли читать они пока не научились... Все-таки первый раз имя переменной надо написать самому.
3.14159265 14.05.2014 17:48 # 0
bormand 14.05.2014 17:53 # +1
Да тут скорее трабла не в том, когда сам пишешь, а в тулзах в духе "запили мне функцию по ее вызову", "наебашь мне геттеров, сеттеров и конструктор" или "вот этот код вынеси в функцию". Вот они очень любят придумывать говёные имена, которые потом приходится рефакторить.
Abbath 14.05.2014 21:58 # 0
guest 26.09.2014 06:18 # −1
guest 30.09.2014 20:43 # −1
roman-kashitsyn 15.05.2014 11:04 # +4
ок, предложи нормальные имена, говорящие о назначении переменной, для объектов классов IndexWriter, Connection, etc. Максимум, что можно для них сделать - сократить до writer и conn.
Всегда есть общий код в вакууме, вся польза которого как раз в том, что он ничего не знает о назначении переменных. Половина библиотеки хаскеля так написана (только там имена небось ещё шикарней - x и xs).
Что теперь делать, добавлять префикс T для индикации типа? ;)
bormand 15.05.2014 13:54 # 0
Ну в паскале с его регистронезависимостью так и делали. Никого это особо не напрягало.
Еще можно было бы разнести неймспейсы переменных и типов, как в жабе, чтобы все-таки разрешить писать SomeClass someClass. Но тогда всякие sizeof() не смогут работать.
kipar 14.05.2014 17:59 # +3
3.14159265 14.05.2014 18:02 # 0
HttpRequest vs URLEncoder.
bormand 14.05.2014 18:04 # 0
kipar 15.05.2014 11:16 # 0
bormand 14.05.2014 17:44 # +1
У VB, емнип, вообще жестокий рестайлинг был. Вроде бы он и отступы сам делал как надо, даже если ты писал их не так, и пробелы втыкал вокруг операторов... Нынешние IDE нервно курят в сторонке...
3.14159265 14.05.2014 17:46 # 0
> и пробелы втыкал вокруг операторов
Такое было, да. Ну и заебись - удобно ж. Главное что это можно было отключить.
brutushafens 14.05.2014 18:03 # 0
3.14159265 14.05.2014 17:33 # +1
AbsractFactory absractFactory = new AbsractFactory();
brutushafens 14.05.2014 18:03 # 0
3.14159265 14.05.2014 18:07 # 0
Первый же гкод в разделе Java.
http://govnokod.ru/15977
MuleClient client = new MuleClient(muleContext);
MuleMessage message =
Я более чем уверен что muleContext имеет тип MuleContext.
guest 14.05.2014 20:38 # +1
guest 20.05.2014 17:27 # 0
guest 11.07.2015 17:03 # 0
Сишнофреник, Паскалю похуй на твой регистр. ПРограммисты Паскаля не заморачиваются маструбацией с регистрами, строками, памятью и указателями , когда пишут код.
labutinpa 15.05.2014 02:53 # 0
Какое описание? Там весь код - одна сплошная ошибка...
labutinpa 15.05.2014 02:50 # 0
Lure Of Chaos 16.05.2014 12:41 # +1
guest 26.09.2014 05:38 # −1
guest 30.09.2014 20:45 # −1