- 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
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
Procedure TfMain.CheckButtonsStatus;
begin
// Если есть кто-то в персональной очереди, то возобновить активна
if (dMain.PersonalQueueQuery.RecordCount > 0) then
TImageButton(mButtons[6]).mlabel.Enabled := true
else
TImageButton(mButtons[6]).mlabel.Enabled := False;
// 'приглашен', 3, 'оповещен', 4, 'оповещен', 5, 'прием начат')
if (dMain.StateQuery.FieldValues['state'] = 'свободно') then
begin
TImageButton(mButtons[0]).mlabel.Enabled := False;
TImageButton(mButtons[1]).mlabel.Enabled := False;
if dMain.CommonQueueQuery.RecordCount > 0 then
TImageButton(mButtons[2]).mlabel.Enabled := true
else
TImageButton(mButtons[2]).mlabel.Enabled := False;
TImageButton(mButtons[3]).mlabel.Enabled := False;
TImageButton(mButtons[4]).mlabel.Enabled := False;
TImageButton(mButtons[5]).mlabel.Enabled := False;
OperPopupMenu.Items[0].Enabled := False;
end;
if (dMain.StateQuery.FieldValues['state'] = 'приглашен') or
(dMain.StateQuery.FieldValues['state'] = 'оповещен') then
begin
TImageButton(mButtons[0]).mlabel.Enabled := true;
TImageButton(mButtons[1]).mlabel.Enabled := False;
TImageButton(mButtons[2]).mlabel.Enabled := False;
TImageButton(mButtons[3]).mlabel.Enabled := true;
TImageButton(mButtons[4]).mlabel.Enabled := False;
TImageButton(mButtons[5]).mlabel.Enabled := False;
TImageButton(mButtons[6]).mlabel.Enabled := False;
if (dMain.StateQuery.FieldValues['state'] = 'приглашен') then
OperPopupMenu.Items[0].Enabled := False
else
OperPopupMenu.Items[0].Enabled := true;
end;
if (dMain.StateQuery.FieldValues['state'] = 'прием начат') then
begin
TImageButton(mButtons[0]).mlabel.Enabled := False;
TImageButton(mButtons[1]).mlabel.Enabled := true;
TImageButton(mButtons[2]).mlabel.Enabled := False;
TImageButton(mButtons[3]).mlabel.Enabled := False;
TImageButton(mButtons[4]).mlabel.Enabled := true;
TImageButton(mButtons[5]).mlabel.Enabled := true;
TImageButton(mButtons[6]).mlabel.Enabled := False;
OperPopupMenu.Items[0].Enabled := False;
end;
end;
На работе достался проект, состоящий чуть менее чем полностью из подобных высеров.
странно, вроде только первокуры не понимают в булевый тип
>работа
хладная притча, отрок
Пишешь функцию
DoSomething(GameUnit: TGameUnit)
и не надо ничего придумывать, чтобы имя переменной не совпало с именем типа.
ясно
В PL/1 даже ключевые слова языка не были зарезервированы, поэтому допускался код:
set set set
Краткий список вещей, которые можно делать в Java, тут: http://govnokod.ru/java
DoForGameUnit(GameUnit: GameUnit)
Придумать нормальные названия дельфины не в состоянии. Под водой тяжело думается. Давление на глубине большое. Плющит.
Ну вы видели их:
Form1
TForm1
Edit1
и тд в коде.
Язык не дисциплинирует.
Яд с собой в сумочке не носишь? Гном штоле? Тебе в пору поставить аватарку дельфина.
Дельфипроблема?
Чего это я вдруг Roll?
TTroll же!
А то и TFat32Troll
DoForGameUnit(aGameUnit: GameUnit)
DoForGameUnit(GameUnit: GameUnit_type)
В C++ скомпилируется объявление int int;?
А все внутренние поля начинать с f? Нет, неудобно, так как название типа пишется реже, чем имя переменной.
> GameUnit: GameUnit_type
Некрасиво, дольше набирать. Плюс только один - исключается тавтология названия типа с названием переменной на букву T, например
Roll: TRoll;
Troll: TTroll; // ошибка
Но это случается редко, со мной только один раз.
Я бы запретил одно и то же слово писать в разных местах разным регистром. И запретил бы объявлять разные имена, отличающиеся только регистром.
А вы прямо комитет стандартизации дельфи. Действуйте тогда.
>Регистропроблемы.
Ага, а создал их Вирт, а Борланд перенёс эти проблемы в свой язык. И вы ещё считаете, что это не дельфинопроблемы?
Нет, но мой ник вы знаете и хорошо.