Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.009 c
4-35127
sLMolox
2003-04-12 09:46
2003.06.12
Как изменить дату создания директории???


14-35065
copyr25
2003-05-22 19:40
2003.06.12
---|Ветка была без названия|---


1-34869
OlegNOE
2003-05-31 11:02
2003.06.12
MDI интерфейс


8-34932
Маришка
2003-02-28 08:52
2003.06.12
MPlayer


1-34777
vvvvv
2003-06-02 11:33
2003.06.12
Как запретить onMouseWheel?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский