![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ошибка в программе [D7]
adjeda © (2013-05-09 01:02:00)Помогите пожалуйста исправить ,только начала изучение Delphi
При нажатии на кнопку вход в Combobox не могу добавить выпадающий список уже зарегистрированных пользователей и вторая проблема,если пароль или логин не верный не выдает сообщения об ошибке.
procedure TForm1.Button1Click(Sender: TObject);
var
dir,login,password : string;
a,i: integer;
dostup: boolean;
begin
dostup:= true;
getdir (0,dir);
dir:=dir+'\Regedit.txt';
Memo1.Lines.LoadFromFile(dir);
a:=Memo1.Lines.Count;
for i:=0 to a-1 do
begin
login:=copy(Memo1.Lines[i],0,pos(':',Memo1.Lines[i])-1);
password:=copy(Memo1.Lines[i],pos(':',Memo1.Lines[i])+1,length(Memo1.Lines[i]));
if (Combobox1.Text=login) And (Edit2.Text=password) then
end;
if dostup = true then
Form4.show;
if dostup = false then
label6.caption('Неверный логин или пароль');
end;
Kilkennycat (2013-05-10 20:40:00) [21]
> Писатель (10.05.13 20:32) [8]
зачем?
Писатель (2013-05-10 20:32:00) [22]Пора уже перейти на старшую версию, например D2010, а лучше на ХЕ4.
Kilkennycat (2013-05-10 20:19:00) [23]
> в программе предполагаются,уже зарегистрированные пользователи
> ,которых в последcтвии можно выбрать из выпадающего меню
> Combobox
ну, это тоже несложно.
для простоты объявим глобальный TStringList:
var
aut : TStringList;
в событии создании формы onCreate:
var
dir : string;
begin
aut := TStringList.Create;
getdir(0,dir);
aut.LoadFromFile(dir+'\Regedit.txt');
Combobox1.Items.Assign(aut.Names); // заполнили комбобокс логинами
end;
в событии закрытия формы onClose:
aut.free;
ну и обработка проверки логина и пароля сократится:
begin
if aut.Values[Combobox1.Text] = Edit2.Text then
Form4.show;
else
label6.caption('Неверный логин или пароль');
end;
adjeda (2013-05-10 19:09:00) [24]Открыла исходники в Delphi 2010?
Delphi 2007 .Пытаюсь сама во всем разобраться,преподавателей и подсказчиков нет,и то некоторые укоряют по поводу жуткости или не жуткости кода,начнем с того ,что я еще не разбираюсь ,что к чему,вот потихоньку прорвемся.
adjeda (2013-05-10 19:04:00) [25]Kilkennycat Спасибо большое ,а то я тут пока разберусь ,что к чему,у нас немного ускоренное обучение и ничего толком не успеваешь !
> При нажатии на кнопку вход в Combobox не могу добавить выпадающий-
"Это по поводу того ,что в программе предполагаются,уже зарегистрированные пользователи ,которых в последcтвии можно выбрать из выпадающего меню Combobox/
Жутко код оформлен.- вам виднее,я только начинаю изучение,и если Вам хочется сделать замечание,его можно написать в виде подсказки,что же исправить ,чтобы он не был такой жуткий___)))))
Писатель (2013-05-09 20:42:00) [26]Aвторизацию надо делать немного иначе. Открыла исходники в Delphi 2010?
Kilkennycat (2013-05-09 06:51:00) [27]
> свойство TStringList.Values:
напомню, не допускает наличия в паре "имя=значение" пробелов
Kilkennycat (2013-05-09 06:48:00) [28]используй вместо загрузки в TMemo список TStringList.
тогда текстовый файл можно оформить в виде
login1=password1
login2=password2
login3=password3
и обработка его будет через свойство TStringList.Values:
var
dir : string;
aut : TStringList;
begin
aut := TStringList.Create;
getdir(0,dir);
aut.LoadFromFile(dir+'\Regedit.txt');
if aut.Values[Combobox1.Text] = Edit2.Text then
Form4.show;
else
label6.caption('Неверный логин или пароль');
aut.Free;
end;
> При нажатии на кнопку вход в Combobox не могу добавить выпадающий
> список
непонятно
turbouser (2013-05-09 01:40:00) [29]Жутко код оформлен.
с первого взгляда -
dostup := (Combobox1.Text=login) And (Edit2.Text=password);
if dostup then
Break;