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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2007, 06:26   #1
RoZi
Пользователь
 
Аватар для RoZi
 
Регистрация: 25.11.2007
Сообщений: 27
По умолчанию Несовпадение с датой

не получается кусочек программки. должно реализовываться: Несовпадение с датой в одном из форматов: дд/мм/гг, дд-мм-гг, дд.мм.гг., программка находит только первый знак разделения т.е '/', '-'
или '.' а второй не хочет и что-то наделала что при последнем else тоде выдает ошибку.. Помогите пожалуйста.

Код:
 x:=edit1.Text ;
 p:=length(x);
        if p=8 then
            if r=Pos('/',x) then
                if (r=3) and (r=6)then
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0) else
            if s=Pos('-',x) then
                if (s=3) and (s=6)then
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0) else
            if k=Pos('.',x) then
                if (k=3) and (r=6)then
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0)
        else

   {Messagedlg('Пароль не верный!',mtInformation,[mbOK],0);}
  if Edit1.Text=Edit2.Text
  then
    user.password:=edit1.text;
    AssignFile(Data, 'data.dat');
    reset(Data);
    Seek(Data,PosSeek);
    Write(data,user);
    CloseFile(Data);
    Messagedlg('Пароль изменен!',mtInformation,[mbOK],0);
    close
    end;
    end
 else
 Messagedlg('Пароль и подтверждение пароля не совпадают!',mtInformation,[mbOK],0);
end;
end;
RoZi вне форума Ответить с цитированием
Старый 26.11.2007, 07:02   #2
Cantana
форвард
Форумчанин
 
Аватар для Cantana
 
Регистрация: 03.08.2007
Сообщений: 130
По умолчанию

Цитата:
Сообщение от RoZi Посмотреть сообщение

Код:
 x:=edit1.Text ;
 p:=length(x);
        if p=8 then
            if r=Pos('/',x) then
                if (r=3) and (r=6)then
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0) else {ошибка здесь else надо убрать}
            if s=Pos('-',x) then
                if (s=3) and (s=6)then
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0) else {ошибка здесь else надо убрать}
            if k=Pos('.',x) then
                if (k=3) and (r=6)then
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0)
        else

   {Messagedlg('Пароль не верный!',mtInformation,[mbOK],0);}
  if Edit1.Text=Edit2.Text
  then
    user.password:=edit1.text;
    AssignFile(Data, 'data.dat');
    reset(Data);
    Seek(Data,PosSeek);
    Write(data,user);
    CloseFile(Data);
    Messagedlg('Пароль изменен!',mtInformation,[mbOK],0);
    close
    end;
    end
 else {тут проверь begin end количества}
 Messagedlg('Пароль и подтверждение пароля не совпадают!',mtInformation,[mbOK],0);
end;
end;
я в коментарии добавил посмотри
dela ne v dengax a v yego kolichestve
Cantana вне форума Ответить с цитированием
Старый 26.11.2007, 07:32   #3
RoZi
Пользователь
 
Аватар для RoZi
 
Регистрация: 25.11.2007
Сообщений: 27
По умолчанию

Код:
 x:=edit1.Text ;
 p:=length(x);
        if p=8 then
            if r=Pos('/',x) then
                if (r=3) and (r=6)then   {здесь проблема. после and не читает, читает только r=3 и перескакивает дальше}
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0);  {здесь проблема не в else тут все нормально}
            if s=Pos('-',x) then
                if (s=3) and (s=6)then
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0) ;
            if k=Pos('.',x) then
                if (k=3) and (r=6)then
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0);
дальше все вроде нормально во второй части просто begin удалила пока эксперементировала, вернула его обратно и все нормально.
RoZi вне форума Ответить с цитированием
Старый 26.11.2007, 07:46   #4
Cantana
форвард
Форумчанин
 
Аватар для Cantana
 
Регистрация: 03.08.2007
Сообщений: 130
По умолчанию

смотри тут r одновременно не можеть быт и 3 и 6 можеть там надо or ставить ?
dela ne v dengax a v yego kolichestve
Cantana вне форума Ответить с цитированием
Старый 26.11.2007, 08:52   #5
RoZi
Пользователь
 
Аватар для RoZi
 
Регистрация: 25.11.2007
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Cantana Посмотреть сообщение
смотри тут r одновременно не можеть быт и 3 и 6 можеть там надо or ставить ?
в том-то и дело что мне надо одновременно чтоб выполнялись эти условия... или это можно как-то по другому реализовать??? (Несовпадение с датой в одном из форматов: дд/мм/гг, дд-мм-гг, дд.мм.гг.)
RoZi вне форума Ответить с цитированием
Старый 26.11.2007, 09:26   #6
Cantana
форвард
Форумчанин
 
Аватар для Cantana
 
Регистрация: 03.08.2007
Сообщений: 130
По умолчанию

а MaskEdit попробуй
и я все же не понял как r сразу можеть быть равно 3 и 6 сразу

если ты хочеш проверить позицию / то добав еше один параметр
dela ne v dengax a v yego kolichestve

Последний раз редактировалось Cantana; 26.11.2007 в 09:29.
Cantana вне форума Ответить с цитированием
Старый 26.11.2007, 11:29   #7
Cantana
форвард
Форумчанин
 
Аватар для Cantana
 
Регистрация: 03.08.2007
Сообщений: 130
По умолчанию

Цитата:
Сообщение от RoZi Посмотреть сообщение
Код:
 x:=edit1.Text ;
 p:=length(x);

        if p=8 then
            r:=Pos('/',x); {здесь надо присваивать еше одному параметру позицию второй /}
        if (r=3) and (r=6)then   {здесь проблема. после and не читает, читает только r=3 и перескакивает дальше}
                Messagedlg('Пароль не верный!',mtInformation,[mbOK],0);  {здесь проблема не в else тут все нормально}
можеть это поможет
dela ne v dengax a v yego kolichestve
Cantana вне форума Ответить с цитированием
Старый 26.11.2007, 11:42   #8
RoZi
Пользователь
 
Аватар для RoZi
 
Регистрация: 25.11.2007
Сообщений: 27
По умолчанию

там на второй форме на кнопке ок
Вложения
Тип файла: rar безопасность.rar (22.0 Кб, 12 просмотров)
RoZi вне форума Ответить с цитированием
Старый 26.11.2007, 12:22   #9
Cantana
форвард
Форумчанин
 
Аватар для Cantana
 
Регистрация: 03.08.2007
Сообщений: 130
По умолчанию

вот исходник
Вложения
Тип файла: rar 2.RAR (26.6 Кб, 8 просмотров)
dela ne v dengax a v yego kolichestve
Cantana вне форума Ответить с цитированием
Старый 26.11.2007, 12:24   #10
RoZi
Пользователь
 
Аватар для RoZi
 
Регистрация: 25.11.2007
Сообщений: 27
Радость

спс сейчас посмотрю
RoZi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с датой xDjarx БД в Delphi 38 02.05.2009 14:21
Работа с датой Aleksandr Общие вопросы Delphi 12 29.09.2008 14:01
Работа с датой Dunpeal Общие вопросы Delphi 5 15.05.2008 12:05
Работа с датой [RR]Reaction Общие вопросы Delphi 3 07.04.2008 21:52
Манипуляции с датой и временем. Tatyana БД в Delphi 16 29.06.2007 19:19