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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2009, 11:07   #1
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию ошибка в коде с сохранением в файл в Delphi

Здравствуйте, столкнулся с маленькой проблемкой. Вот код проверки логина и пароля:
Код:
var
   f,f1: TextFile;
   pass,log: String;
begin
  CanClose:=false;
  AssignFile(f,extractfilepath(paramstr(0))+'pass');
  Reset(f);
  while not Eof(f) do begin
    Readln(f,log);
    Readln(f,pass);
    if (edLog.Text=log) and (lowerCase(edPass.Text)=pass) then begin
      CanClose:=true;
      break;
      if (cbSavePass.Checked=True) then begin //не выполняется это условие
        AssignFile(f1,extractfilepath(paramstr(0))+'SavePass');
        Rewrite(f1);
        Writeln(f1,edLog.Text);
        Writeln(f1,edPass.Text);
        CloseFile(f1);
      end;
    end;
  end;
  CloseFile(f);
  if not CanClose then begin
    ShowMessage('Неправельный логин или пароль!!!');
    edLog.Text:='';
    edPass.Text:='';
  end;
end;
Всё запускается и работает без ошибок. Проблема заключается в том, что если в CheckBox стоит галачка, программа должна сохранять данные в другой файл. Этого не происходит, почему не понимаю....
TaYgA вне форума Ответить с цитированием
Старый 22.11.2009, 14:43   #2
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Код:
var
   f,f1: TextFile;
   pass,log: String;
begin
  CanClose:=false;
  AssignFile(f,extractfilepath(paramstr(0))+'pass');
  Reset(f);
  while not Eof(f) do begin
    Readln(f,log);
    Readln(f,pass);
    if (edLog.Text=log) and (lowerCase(edPass.Text)=pass) then begin
      CanClose:=true;
      break;         <----------------Так сами цикл прерываете
      if cbSavePass.Checked then begin //можно так написать
        AssignFile(f1,extractfilepath(paramstr(0))+'SavePass');
        Rewrite(f1);
        Writeln(f1,edLog.Text);
        Writeln(f1,edPass.Text);
        CloseFile(f1);
      end;
    end;
  end;
  CloseFile(f);
  if not CanClose then begin
    ShowMessage('Неправельный логин или пароль!!!');
    edLog.Text:='';
    edPass.Text:='';
  end;
end;
dr.Chas вне форума Ответить с цитированием
Старый 22.11.2009, 15:15   #3
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Когда вы уже слово "правильно" правильно научитесь писать?
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 22.11.2009, 19:35   #4
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию

russian-stalker, самого уже начало раздражать Надеюсь, когда выучу раскладку клавиатуры, тогда и перестану ошибаться... Спасибо, всё работает...
TaYgA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись содержимого STL::multimap в файл с сохранением пар nimizida Общие вопросы C/C++ 4 29.09.2009 17:03
Delphi+Excel ошибка в коде Tirendus БД в Delphi 5 31.08.2009 10:47
Помогите с сохранением вектора в файл slonik123 Общие вопросы C/C++ 0 15.05.2009 17:48
Ошибка с сохранением файла на съёмном носителе в Office XP Torvald64 Microsoft Office Word 1 29.12.2008 20:50
Ошибка в коде hacknet Компоненты Delphi 12 07.12.2008 14:23