powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Окно авторизации Delphi
18 сообщений из 43, страница 2 из 2
Окно авторизации Delphi
    #39485563
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valli_vasia> Ну у меня вопрос один как этот код доработать
valli_vasia> чтобы он писал в Lebel1 фамилию того кто авторизовался.

Ну вот запрос который я выше поправлял -
select np from users where login = :login and password = :psw

Потом проверяешь if ADOQuery.RecordCount > 0 then
Label.Caption := ADOQuery.FieldByName('np').asString;

P.S. Книжки штудируй.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485565
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Потом проверяешь if ADOQuery.RecordCount > 0 then
> Label.Caption := ADOQuery.FieldByName('np').asString;

else, соответственно, raise Exception.Create('Логин/пароль неверные')
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485593
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам> Потом проверяешь if ADOQuery.RecordCount > 0 then
> Label.Caption := ADOQuery.FieldByName('np').asString;

else, соответственно, raise Exception.Create('Логин/пароль неверные')


raise ELoginError.Create...

Я, как Рикки-Тики-Тави со змеями, борюсь с теми, кто использует Exception, не создавая от него наследников. Хрен потом отфильтруешь в вызывающем коде.
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485599
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
schiГаджимурадов Рустам> Потом проверяешь if ADOQuery.RecordCount > 0 then
> Label.Caption := ADOQuery.FieldByName('np').asString;

else, соответственно, raise Exception.Create('Логин/пароль неверные')


raise ELoginError.Create...

Я, как Рикки-Тики-Тави со змеями, борюсь с теми, кто использует Exception, не создавая от него наследников. Хрен потом отфильтруешь в вызывающем коде.

и нафига на каждый чих наследников создавать ?
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485640
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorschiпропущено...


raise ELoginError.Create...

Я, как Рикки-Тики-Тави со змеями, борюсь с теми, кто использует Exception, не создавая от него наследников. Хрен потом отфильтруешь в вызывающем коде.

и нафига на каждый чих наследников создавать ?

А чтобы потом отфильтровывать свои от EAccessViolation.
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485649
Жышы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schidefecatorпропущено...


и нафига на каждый чих наследников создавать ?

А чтобы потом отфильтровывать свои от EAccessViolation.
А разве EAccessViolation - не класс-наследник?

И для чего их отфильтровывать? Чтобы прибивать EAccessViolation?
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485658
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖышыА чтобы потом отфильтровывать свои от EAccessViolation.А разве EAccessViolation - не класс-наследник?

И для чего их отфильтровывать? Чтобы прибивать EAccessViolation? Предполагаю, что одна из причин - не вываливаться в отладчик под IDE на каждый чих эксепшен.
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485673
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DimonkaЖышыпропущено...
А разве EAccessViolation - не класс-наследник?

И для чего их отфильтровывать? Чтобы прибивать EAccessViolation? Предполагаю, что одна из причин - не вываливаться в отладчик под IDE на каждый чих эксепшен.

чтобы не вываливаться, надо делать так, чтобы они в коде не возникали.
А если возникли, то разбираться и устранять
Имхо
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485678
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schi> raise ELoginError.Create...

Спорить не буду, пусть будет так.
Просто это очень далеко от уровня ТСа.
Ему до этого ещё расти и расти.
На сейчас ему нужно просто
работающий код научиться писать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485687
Жышы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonkaЖышыпропущено...
А разве EAccessViolation - не класс-наследник?

И для чего их отфильтровывать? Чтобы прибивать EAccessViolation? Предполагаю, что одна из причин - не вываливаться в отладчик под IDE на каждый чих эксепшен.

Хорошо бы узнать у самого коллеги schi...
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485692
Жышы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorDimonkaпропущено...
Предполагаю, что одна из причин - не вываливаться в отладчик под IDE на каждый чих эксепшен.

чтобы не вываливаться, надо делать так, чтобы они в коде не возникали.
А если возникли, то разбираться и устранять
Имхо

Разные случаи бывают. Например, наш разлюбимый фастрепорт генерирует имена компонентов без проверки на существование такого же, ловит эксцепшн и модифицирует имя, пока не нарвется на свободное...
Сие выливается в нервный тик у девелоперов, которые в дизайнтайме выполняют копипасте элементов отчета...
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485703
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖышыDimonkaпропущено...
Предполагаю, что одна из причин - не вываливаться в отладчик под IDE на каждый чих эксепшен.

Хорошо бы узнать у самого коллеги schi...

Сам коллега исповедует принцип: не обрабатывай то, чего не можешь обработать, описанный тут:

http://delphikingdom.ru/asp/viewitem.asp?catalogid=1392#SubSubHeader_2_6_11
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485722
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамПотом проверяешь if ADOQuery.RecordCount > 0 then
ИМХО, так феншуйнее проверять

Код: pascal
1.
if not (ADOQuery.BOF and ADOQuery.EOF) then
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485727
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд> ИМХО, так феншуйнее проверять

Я бы не сказал, хотя это дело вкуса.
Но опять же, автору (и не только)
это будет менее понятно и наглядно.

Код должен легко читаться и быть
понятен с первого раза. Желательно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485751
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КвейдГаджимурадов РустамПотом проверяешь if ADOQuery.RecordCount > 0 then
ИМХО, так феншуйнее проверять

Код: pascal
1.
if not (ADOQuery.BOF and ADOQuery.EOF) then



Феншуйнее (и читабельнее) проверять

Код: pascal
1.
if not ADOQuery.IsEmpty then
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485752
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiКвейдпропущено...
ИМХО, так феншуйнее проверять

Код: pascal
1.
if not (ADOQuery.BOF and ADOQuery.EOF) then



Феншуйнее (и читабельнее) проверять

Код: pascal
1.
if not ADOQuery.IsEmpty then



Правда not в условном операторе читабельности не добавляет
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485780
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Против IsEmpty не возражаю, хотя он всё равно в RecordCount вырождатся.

schi> Правда not в условном операторе читабельности не добавляет

Да нормально смотрится. "Если не пусто". В крайнем случае,
комильфобельности для, можно then-else местами поменять,
хотя это будет неправильнее и не по Макконнелллу, IIRC.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Окно авторизации Delphi
    #39485781
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖышыНапример, наш разлюбимый фастрепорт генерирует имена компонентов без проверки на существование такого же, ловит эксцепшн и модифицирует имя, пока не нарвется на свободное...
Сие выливается в нервный тик у девелоперов, которые в дизайнтайме выполняют копипасте элементов отчета...Такие девелоперы ССЗБ. А подход стандартный
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure TComponent.SetName(const NewName: TComponentName);
begin
  if FName <> NewName then
  begin
    if (NewName <> '') and not IsValidIdent(NewName) then
      raise EComponentError.CreateResFmt(@SInvalidName, [NewName]);
    if FOwner <> nil then
      FOwner.ValidateRename(Self, FName, NewName) else
      ValidateRename(nil, FName, NewName);
    SetReference(False);
    ChangeName(NewName);
    SetReference(True);
  end;
end;
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Окно авторизации Delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]