Форум: "Потрепаться";
Текущий архив: 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.008 c