Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.03.2008, 19:03
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию Пользователи

Уважаемые,

Проблема в следующем:
В моей программе требуется создать "Вход и регистрацию пользователей"
На форме имеется:
box_username {Edit для ввода имени}
box_userpassword {Edit для ввода пароля}
cb_regmark {CheckBox при установке галочки регистрируем пользователя}
btn_userstart_ok {Button для входа или регистрации пользователя}
btn_userstart_cancel {Button для выхода}
Ресурсы:
Папка Users которая хранит внутрение папки пользователей
пример ..users\пользователь1
Файл пароля date.ejd который хранит пароль пользователя
путь к файлу-паролю : users\пользователь1\date.edj
Ответить с цитированием
  #2  
Старый 28.03.2008, 20:05
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Че сделать то надо?
Регистрацию?
Или вход?
Или получать и сохранять имена с паролями?
Или все сразу?
Пароли зашифрованы или нет?
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.

Последний раз редактировалось The Shadow, 28.03.2008 в 20:08.
Ответить с цитированием
  #3  
Старый 28.03.2008, 22:46
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Пример:
открывается форма..на ней 2 поля edit
1-имя пользователя
2-пароль

2 кнопки -вход и выход
чекбокс-регистрировать или нет

если галочка на cb_regmark поставил пользователь то регистрировать нового пользователя , если не поставил то входить, но проверять на наличие уже такого пользователя..
Пароли пока что не шыфровал, еще рано, надо основу построить.
Не буду мелочиться ловите код, но почему то он у меня пашет..старый случайно удалил..
Код:
unit unit_userstart;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, XPMan, StdCtrls;

type
  Tfrm_userstart = class(TForm)
    Image1: TImage;
    Label1: TLabel;
    box_username: TEdit;
    Label2: TLabel;
    box_userpassword: TEdit;
    btn_userstart_ok: TButton;
    btn_userstart_cancel: TButton;
    cb_regmark: TCheckBox;
    XPManifest1: TXPManifest;
    message: TLabel;
    procedure btn_userstart_cancelClick(Sender: TObject);
    procedure btn_userstart_okClick(Sender: TObject);
    procedure cb_regmarkClick(Sender: TObject);
    procedure Image1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_userstart: Tfrm_userstart;

implementation

uses unit_main;

{$R *.dfm}

procedure Tfrm_userstart.btn_userstart_cancelClick(Sender: TObject);
begin
close;
end;

procedure Tfrm_userstart.btn_userstart_okClick(Sender: TObject);
var
f:textfile;
fs:tstringlist;
s:string;
begin
{ПРОВЕРКА НА РЕГИСТРАЦИЮ}
if cb_regmark.Checked=true then
begin
  {ПРИ РЕГИСТРАЦИИ ПРОВЕРЯЕМ НА НАЛИЧИЕ ТАКОГО ЖЕ ПОЛЬЗОВАТЕЛЯ}
  {$I-}mkdir('users\'+box_username.Text);{$I+}
  if ioresult=0 then
    begin
  {СОЗДАЕМ ДИРЕКТОРИЮ И ФАЙЛЫ ДЛЯ ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ}
    assignfile(f,'users\'+box_username.Text+'\data.ejd');
    rewrite(f);
    closefile(f);
  {ЗАБИВАЕМ ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ}
    fs:=tstringlist.Create;
    fs.LoadFromFile('users\'+box_username.Text+'\data.ejd');
    fs.Strings[fs.Count-1]:=box_userpassword.text;
    assignfile(f,'users\'+box_username.Text+'\worklist.ejd');
    rewrite(f);
    closefile(f);
    frm_userstart.Visible:=false;
    frm_main.visible:=true;
    end
  else
    begin
  {ВЫДАЕМ СООБЩЕНИЕ О НАЛИЧИЕ В ПАПКАХ ПРОГРАММЫ ТАКОГО ПОЛЬЗОВАТЕЛЯ}
    message.Caption:='=Ошибка==========='+#13+'Такой пользователь уже '+#13+'существует';
    box_username.Text:='';
    box_userpassword.Text:='';
    end;
end
else
  begin
  {АВТОРИЗУЕМ ПОЛЬЗОВАТЕЛЯ}
if (box_username.text='') or (box_userpassword.text='') then
    message.Caption:='=Ошибка============='+#13+'Имя пользователя или пароль '+#13+'не действительны'
else
  begin
      {$I-}mkdir('users\'+box_username.Text);{$I+}
      if ioresult<>0 then
          message.Caption:='=Ошибка============='+#13+'Имя пользователя или пароль '+#13+'не действительны'
      else
        begin
          fs:=TstringList.Create;
          fs.LoadFromFile('users\'+box_username.Text+'\data.ejd');
          if fs.Strings[1]=box_userpassword.Text then
            begin
              frm_userstart.Visible:=false;
              frm_main.visible:=true;
            end
          else
            begin
              message.Caption:='=Ошибка============='+#13+'Имя пользователя или пароль '+#13+'не действительны';
            end;
        end;
  end;
  end;
end;
procedure Tfrm_userstart.cb_regmarkClick(Sender: TObject);
begin
if btn_userstart_ok.Caption<>'Регистрация' then
btn_userstart_ok.Caption:='Регистрация'
else
btn_userstart_ok.Caption:='Войти';
end;
procedure Tfrm_userstart.Image1Click(Sender: TObject);
begin

end;

end.

Aristarh Dark:не забываем использовать тэги
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:31.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter