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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2012, 18:43   #1
shananina-katya
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 16
Вопрос количество попыток входа в систему

Добрые люди, помогите пожалуйста! Подскажите, что не так. После трех попыток входа пользователя в систему, необходимо вывести сообщение об ошибке и закрыть программу (в делфи).
Код:
for i:=0 to vhod.Count - 1 do
  if vhod.Strings[i] <> Edit5.Text+'-'+Edit2.Text then
  begin
  popitki:=popitki+1;
  if popitki > 3 then
  begin
  ShowMessage('Вы попытались войти в систему 3 раза!');
  Close;
  end;
  end;
где, соответственно Edit5.Text - это логин, а Edit2.Text - пароль. так же изначально переменной popitki было присвоено значение -1

ну а если не знаете, как исправить, то предложите свой вариант, как организовать только три попытки входа)

Последний раз редактировалось ACE Valery; 12.04.2012 в 21:27.
shananina-katya вне форума Ответить с цитированием
Старый 12.04.2012, 19:03   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
В событии создания формы: c:=0;
В событии нажатия кнопки:
	if vhod.Strings[i] <> Edit5.Text+'-'+Edit2.Text then
		inc(c);
	if c=3 then
	begin
		ShowMessage('Вы попытались войти в систему 3 раза!');
		Close;
	end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 12.04.2012 в 19:06.
BDA вне форума Ответить с цитированием
Старый 12.04.2012, 19:11   #3
shananina-katya
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 16
По умолчанию

спасибо, но все равно не работает
shananina-katya вне форума Ответить с цитированием
Старый 12.04.2012, 19:16   #4
shananina-katya
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 16
По умолчанию

выдает ошибку, что индекс списка вне границ
shananina-katya вне форума Ответить с цитированием
Старый 12.04.2012, 19:30   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Правильно
Что за индекс i (который я забыл выкинуть)? Для чего он нужен?
Приведите больший кусок кода.

Точнее, что такое vxod.strings?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.04.2012, 19:41   #6
shananina-katya
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 16
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);   // кнопка войти
var
   vhod:TStringList;
   data:TStringList;
   i:integer;
   dt: TDateTime;
begin
  dt:=now;
  data:=TStringList.Create;
  data.LoadFromFile('data1.dat');
  data.Add('Логин = '+Edit5.Text+ ';' + 'День и Время ='+DateTimeToStr(dt));
  data.SaveToFile('data1.dat');
  vhod:=TStringList.Create;
  vhod.LoadFromFile('data.dat');
  vhod.SaveToFile('data.dat');

  for i:=0 to vhod.Count - 1 do
  if vhod.Strings[i] = Edit5.Text+'-'+Edit2.Text then
  begin
   ShowMessage('Вы успешно авторизовались под: '+Edit5.Text+';'+'Время входа:'+DateTimeToStr(dt));
   Form2.show;
    exit;
  end;

  for i:=0 to vhod.Count - 1 do
  if vhod.Strings[i] <> Edit5.Text+'-'+Edit2.Text then
  begin
  popitki:=popitki+1;
  if popitki > 3 then
  begin
  ShowMessage('Вы попытались войти в систему 3 раза, попробуйте авторизоваться позднее!');
  Close;
  end;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 popitki:=-1;
end;
такой достаточно?)
ну а vhod.strings это как раз переменная вбирающая в себя логин и пароль)

Последний раз редактировалось ACE Valery; 13.04.2012 в 14:03.
shananina-katya вне форума Ответить с цитированием
Старый 12.04.2012, 19:45   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Окей, теперь понятно.
Объясните, зачем вам нужны эти 2 стриглиста (data и vxod)?

Наверное, вы хотите организовать лог пользователей (с попытками захода) и список для входа (разрешенные логины и пароли)?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 13.04.2012, 08:09   #8
shananina-katya
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 16
По умолчанию

data и vhod это переменные прикрепленные к файлу, а вот второй вопрос я не очень поняла)
shananina-katya вне форума Ответить с цитированием
Старый 13.04.2012, 08:21   #9
shananina-katya
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 16
По умолчанию

стучите мне лучше в аську 412993756, там и пообщаемся)
shananina-katya вне форума Ответить с цитированием
Старый 14.04.2012, 21:24   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Выложу сюда получившийся код. Вдруг кого-то заинтересует. Или ошибки поисправляете .
Вложения
Тип файла: zip Project1.zip (19.5 Кб, 13 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скриншот экрана до входа пользователя в систему Meffiks Общие вопросы Delphi 0 05.12.2011 12:48
Подсчет попыток запуска программы Jetro Общие вопросы Delphi 1 27.12.2010 17:25
Несколько попыток конекта к базе....., затем эксепшн sputnick Общие вопросы .NET 5 19.08.2010 12:29
Автоматическое подключение после входа в систему (телефон-компьютер, Linux) Alex Cones Операционные системы общие вопросы 1 22.09.2009 22:20
Контроль входа в систему Arigato Secured Arigato Софт 13 11.11.2008 15:59