Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.12;
Скачать: CL | DM;

Вниз

Наименование объектов   Найти похожие ветки 

 
Style ©   (2003-05-27 12:38) [0]

Когда программист работает над проектами, он должен правильно называть свои компоненты чтобы потом не запутаться
т.е. не Form1 а Frm_NetConnections и т.д

но иногда мне влом пользоваться английским языком и я пишу подобное:

if(Trim(lk_chuvak.DisplayValue) = "") then
begin
MessageBox(handle,"Не выбранно поле Ф.И.О","Внимание",MB_OK or MB_ICONERROR);
lk_chuvak.SetFocus;
exit;
end;

Как вы к этому относитесь бывает у вас такое ?? :))


 
Vint ©   (2003-05-27 12:51) [1]


Имхо, лучше писать побольше коментариев на русском, типа эта процедурка для того то, переменные в ней для того то, возращает то то и т.д. и вставлять их всюду где только можно - хуже не будет! :)

а то через месяц перерыва в работе над каким нибудь проектом повесишся искать, что это и откуда и зачем... ;)


 
Palladin ©   (2003-05-27 12:53) [2]

нет... даже если я не знаю как выразить сущность объекта на английском я полезу в словарь и найду...


 
Style ©   (2003-05-27 13:07) [3]

Vint// Ну коментарии это само сабой.. Ж8)

Palladin >> Ну в основном я пишу тоже по английски.. но иногда бывают причуды.. :) ну в основном такие лукапы я называю как

lk_people а не lk_chuvak :)

// Ну просто бывает такое :))


 
Игорь Шевченко ©   (2003-05-27 13:09) [4]

Матрин Фаулер - рефакторинг или улучшение существующего кода - рулез фарева. Там и про комментарии и про наименования.


 
VAleksey ©   (2003-05-27 13:28) [5]

Жуткое дело писать русским языком в английской раскладке.
Подумай о тех (и о себе в том числе), кому это читать придется рано или поздно.
ЗЫ
А для примера того к чему приводит такой подход можешь посмотреть описание и имена полей главной таблицы 2НДФЛ. Это программа, которая автоматически формирует файл для подачи сведений в налоговую по подоходному налогу.


 
Style ©   (2003-05-27 13:38) [6]

Можно сказать я даже прикалуюсь так, вот взял единственный лукап назвал так! вот эта процедура целиком

procedure TFrm_NewAccount.btn_okClick(Sender: TObject);

var OldID: double; //Старый ID для вставки или Update FlagOper=1
begin
qry_lkaccount.CLose;
qry_lkaccount.ParamByName("BankAccountID").AsFloat := StrToIntDef(ed_ACode.Text,-1);
qry_lkaccount.Open;

if(qry_lkaccount.RecordCount <= 0) then
begin
ShowMessage("Неверный код счета банка!");
ed_acode.SetFocus;
exit;
end;

if(Trim(ed_num.Text) = "") then
begin
MessageBox(handle,"№ счета не может быть пустым","Внимание",MB_OK or MB_ICONERROR);
ed_num.SetFocus;
exit;
end;

if(Trim(ed_acode.Text) = "") then
begin
MessageBox(handle,"Код счета банка не выбран!","Внимание",MB_OK or MB_ICONERROR);
ed_acode.SetFocus;
exit;
end;

if(Trim(lk_chuvak.DisplayValue) = "") then
begin
MessageBox(handle,"Не выбранно поле Ф.И.О","Внимание",MB_OK or MB_ICONERROR);
lk_chuvak.SetFocus;
exit;
end;

if(Trim(lk_department.DisplayValue) = "") then
begin
MessageBox(handle,"Не выбран отдел","Внимание",MB_OK or MB_ICONERROR);
lk_department.SetFocus;
exit;
end;

if(Trim(lk_joblist.DisplayValue) = "") then
begin
MessageBox(handle,"Не выбран предмет оплаты!","Внимание",MB_OK or MB_ICONERROR);
lk_joblist.SetFocus;
exit;
end;

if(Trim(ed_summ.Text) = "") then
begin
MessageBox(handle,"Сумма к оплате не введена!","Внимание",MB_OK or MB_ICONERROR);
ed_summ.SetFocus;
exit;
end;

if(ed_date.Date = 0) then
begin
MessageBox(handle,"Дата выписки не введена!","Внимание",MB_OK or MB_ICONERROR);
ed_date.SetFocus;
exit;
end;


 
Игорь Шевченко ©   (2003-05-27 13:41) [7]

В Recycle Bin


 
Style ©   (2003-05-27 13:46) [8]

Игорь Шевченко © >> Зачем же так.. этож просто пример.. Код старый приходится переписывать.. Вот сижу сейчас копаюсь.. Речь идет о названиях имен компонентов.


 
stone ©   (2003-05-27 13:52) [9]

Может немного не в тему, но, ИМХО, в данном случае лучше запретить доступ к btn_ok, пока не будут выполнены все условия, чем выдавать сообщения об ошибках. К тому же это сильно сократит количество кода.


 
Style ©   (2003-05-27 13:56) [10]

К количеству кода в процедуре BTN_OKСClick

Просто нужно было создать форму в быстром порядке и я особо не стал работать над интерфейсом.. У нас вообще принято дизаблить все. Что бы юзверь вообще ничего не мого сделать пока правильно не заполнит нужные поля!

Теперь приходится переписывать.




 
Style ©   (2003-05-27 13:57) [11]

В смысле не заполнив заполнив JobList и он не перейдет к ed_sum.



 
Юрий Зотов ©   (2003-05-27 14:33) [12]

> Что бы юзверь вообще ничего не мого сделать пока правильно не
> заполнит нужные поля!

Это не всегда хорошо. Возможна ситуация, когда бедняга юзверь будет сидеть и думать, что же он такого обязательного еще не заполнил, что кнопка ему недоступна.

А если проверка идет при нажатии кнопки, то все проще - юзверь жмет на нее и получает сообщение - "Не введено то-то". После чего фокус сам устанавливается на нужный контрол.


 
Style ©   (2003-05-27 14:53) [13]

Вот и думай что лучше... ??? :(( Сначала один Мастер меня в корзину отправил другой достал :)






 
Style ©   (2003-05-27 15:03) [14]

Вот на всякий случай СКРИНШОТ формы http://www.nmk.ru/bank.jpg

Ну кого же слушать???


 
VAleksey ©   (2003-05-27 15:07) [15]

1) Спроси у пользователя, не ошибешся.
2) Сделай отдельную процедуру, которая бкдет проверять правильность ввода.


 
stone ©   (2003-05-27 15:14) [16]

Я так понимаю на форме должны быть заполнены ВСЕ поля. Или нет?


 
Style ©   (2003-05-27 15:14) [17]

VAleksey © >>
Да одному юзверю нравится так другому так.. Их вообще не поймеш на то они и Юзвери :)

А процедуро то отдельную я уже сделал.


 
Style ©   (2003-05-27 15:16) [18]

stone © >> Есть поля не обходимые для заполнения а есть нет..





 
stone ©   (2003-05-27 15:17) [19]

Тогда лучше как Юрий Зотов © (27.05.03 14:33)


 
Style ©   (2003-05-27 15:19) [20]

Ну т.е. то же что я и сделал только в отдельной процедуре дабы не увиличивать код Btn_OkClick()


 
VAleksey ©   (2003-05-27 15:37) [21]


> Style © (27.05.03 15:14)

Тогда сам попробуй набрать с десяток таких шаблонов. ИМХО достаточно будет понять как удобно :).


 
handra ©   (2003-05-27 15:39) [22]

Style, 2 совета:
- фокус на котрол ставь перед выдачей сообщения
- кнопка "ОК" должна быть справа от "Отмена"; и вместе они находятся в левом нижнем углу


 
Style ©   (2003-05-27 15:42) [23]

VAleksey © >> Ну вообще мне не нравится самому метод ограничения юзверя путем Enable/Disable..
Во превых если что то придется менять на форме предется все эти зависимости переписывать что если я там что-то изменил то тепоказать те скрыть.. Вот это уже геморой..
Во вторых то что говорил Юрий Зотов..

Поэтому я оставлю все как было.


 
nikkie ©   (2003-05-27 15:49) [24]

а когда передвинешь кнопку "отмена" направо, то слева будет много места, где можно положить лейбл красного цвета и показывать сообщения об ошибках в нем. имхо так удобнее - 1. не раздражают выскакивающие сообщения 2. текст ошибки не пропадает, можно читать снова и снова...

хорошо бы кнопку OK дефолтной сделать - но вероятно у тебя Enter как Tab работает? ;)

а чтобы не плодить кучу однообразного кода - можно написать процедурку, проверяющую что 1 поле заполнено и выдающую ошибку если что не так. но такой вариант мне не очень нравится. имхо, лучше вынести проверку в отдельную процедуру, которая будет кидать Exception в случае ошибки. в Btn_OKClink напишешь try...except и покажешь messagebox или в лейбле.


 
nikkie ©   (2003-05-27 15:50) [25]

кстати, скриншоты форм лучше в gif делать - и места меньше займут и выглядеть лучше будут.


 
Style ©   (2003-05-27 15:57) [26]

nikkie © Ухх... уж что-что дык про графику мне не надо что в чем делать :) Если я на скорую руку не оптимизировав картинку сохранил.. :)

Для форм - вопросов нет лучше ГИФ т.к. можно оптимизтировать к примеру до 4 цветов... А если это картинка размером 800 на 600 то наверно выгоднее будет в JPEG!

http://www.nmk.ru/bank.gif

Пожалуйста.. Лучше наверное не сделать.. Ну если только loosy чуть прибавить..




Страницы: 1 вся ветка

Текущий архив: 2003.06.12;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.012 c
1-34830
Mishenka
2003-06-01 21:33
2003.06.12
Как разбить полное имя файла на путь, имя и расширение???


1-34793
Mik
2003-05-29 11:43
2003.06.12
Минимизация формы SDI-приложения


11-34767
SPeller
2002-09-20 01:48
2003.06.12
KOL & MCK 1.49 !


1-34809
Gimer
2003-06-02 17:09
2003.06.12
Rorate TImage with JPEG


1-34896
Лесник
2003-05-31 23:49
2003.06.12
Счетчик