Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2007, 15:51   #1
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию Проверка текста без учета регистра

Код:
var
login:string;
begin
      ...
      if login = EdtUser.Text then
      ...
Привет всем! Подскажите, как выполнить проверку чтобы не учитывался регистр??
John_chek вне форума Ответить с цитированием
Старый 07.06.2007, 16:02   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

lowercase и хранить "эталон" тоже в нижнем регистре?
pu4koff вне форума Ответить с цитированием
Старый 07.06.2007, 16:03   #3
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

если дело в строках, то у каждого символа свой код!
предлагаю посимвольно сравнивать, и проверять код нижнего регистра и вышшэго!
думаю розберёшся
Вобщем пишы процэдуру!
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 07.06.2007, 16:06   #4
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию

Дело вот в чем! Я храню в ini файле логин и пароль, который пользователь сам может менять в нутри проги. Только вот при регистрации нужно точно помнить регистр, хотя это не суть важно для меня, да и для пользователей. Короче вот полная процедура:
Код:
procedure TFreg.BitBtn1Click(Sender: TObject);
var iniFileName:String;
login:string;
pass:string;
begin
      iniFileName := ExtractFilePath(application.exename)+'\'+ dm.IniPS.IniFileName;
      with TiniFile.Create(iniFileName) do try
      login := ReadString('Connect','Login','1');
      pass := ReadString('Connect','Pass','1');
      finally
      Free;
      end;
      if login = EdtUser.Text then
        begin
        if pass = EdtPsw.Text then
          begin
          ModalResult := 6;
          end
        else
          begin
          MessageDlg('Пароль введен не верно!', mtError, [mbOK], 1);
          end
        end
      else
        begin
        MessageDlg('Имя пользователя введено не верно!', mtError, [mbOK], 1);
        end
end;
Далее при открытии главформы я проверяю, если ModalResult = 6, то счастье
John_chek вне форума Ответить с цитированием
Старый 07.06.2007, 16:27   #5
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
lowercase и хранить "эталон" тоже в нижнем регистре?
А если напишут логин кирилицей?? Да и не хочу этим ограничивать!
Хотя нашел еще одну функцию: AnsiLovewCase, щас попробую

Последний раз редактировалось John_chek; 07.06.2007 в 16:31.
John_chek вне форума Ответить с цитированием
Старый 07.06.2007, 16:35   #6
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию

Все вопрос отпал, спасибо, разобрался!
John_chek вне форума Ответить с цитированием
Старый 07.06.2007, 16:43   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

AnsiLowerCase вроде тоже не работает с кириллицей
Кажись есть ф-ция WideUpperCase

if WideUpperCase(login) = WideUperCase(EdtUser.Text) then..

И пофиг тогда в каком регистре логин хранить, хоть так В@сЯ ПУпКин
пыщь
JTG вне форума Ответить с цитированием
Старый 07.06.2007, 17:56   #8
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию

Цитата:
Сообщение от JTG Посмотреть сообщение
AnsiLowerCase вроде тоже не работает с кириллицей
Кажись есть ф-ция WideUpperCase

if WideUpperCase(login) = WideUperCase(EdtUser.Text) then..

И пофиг тогда в каком регистре логин хранить, хоть так В@сЯ ПУпКин
Нет эта функция возвращает исходную строку, в кот. все заглавные буквы заменены на строчные с учетом кодировки windows (т.е. с учетом кириллицы) - Это цитата из справочника!
Короче в iniфайл записал с этой функцией и читаю тоже сней, и все работает
John_chek вне форума Ответить с цитированием
Старый 08.06.2007, 08:50   #9
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

хоть к нижнему.. хоть к верхнему -
а вот если бы не было готовой функции ?
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка – является ли раскладка клавиатуры правильной для вводимого текста Xandr Общие вопросы Delphi 7 02.11.2007 09:25
Отмена учета регистра Македонский Общие вопросы Delphi 7 12.09.2007 09:41
Locate без учета регистра символов _SERGEYX_ БД в Delphi 2 09.08.2007 09:52
Надо разработать базу данных. Для учета карт-экспресс оплаты, платежей и т.д. Coolern Помощь студентам 1 12.06.2007 23:56
Запись регистра xak2 Общие вопросы Delphi 4 07.05.2007 22:18