Помощь - Поиск - Пользователи - Календарь
Полная версия: опять программа пароль
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
ASD_9
Помогите пожалуйста нужно что бы вместо цифр '123' было ***.
unsure.gif Мне уже помогали но я не смог сделать.

вот прога

program parol;
uses crt;
const password:string = '123';

var y:integer;
passwordstring:string;
Procedure PasswordWindow ;
Begin
TextBackGround (Black);
TextColor (White);
ClrScr;
gotoxy(27,10);

write('ЙНННННННННННННННННННННННННН»');
gotoxy (27,12);
write('є є');
gotoxy (27,13);
write('є є');
gotoxy (27,14);
write('є є');
gotoxy(27,11);
write('є є');
gotoxy(27,15);
write('ИННННННННННННННННННННННННННј');

End;


BEGIN

clrscr;
Y := 3;
Repeat
ClrScr;
PasswordWindow;
gotoxy(34,10);
write('Введите пароль');
if (y=3) or (y=2) then
begin
gotoxy(29,14);
writeln ('У вас осталось 'y' попытки');
end;
if y=1 then
begin
gotoxy(29,14);
writeln ('у вас осталось 'y' попытка');
end;
gotoxy(36,12);
readln (passwordstring);
if passwordstring <> Password Then
Begin
TextColor (Red);
gotoxy(33,12);
Write ('непрвильно');
y:=y-1;
End;
If PasswordString = Password Then
Begin
TextColor (Green);
gotoxy(34,12);
Write ('правильно');
End;

Readkey;
Until (PasswordString = Password) Or (Y = 0);

If Y = 0 Then
exit;
end.
nikita182
Цитата(ASD_9 @ 22.05.2007 23:05) *


If Y = 0 Then
exit;




зачем тебе этот кусок? прога и без него на выходе.



насколько я понял ты пытаешься ввести пароль с 3х попыток?
ASD_9
Цитата(nikita182 @ 23.05.2007 1:09) *

зачем тебе этот кусок? прога и без него на выходе.


просто я делаю Базу данных и оттуда я вырезал пароль и этот кусок

Добавлено через 10 мин.
А можно еще так сделать что бы больше 8-ми цифр нельзя вводить
nikita182
 
program parol;
uses crt;
const password:string = '123';

var
ch : char;
y:integer;
passwordstring:string;
Procedure PasswordWindow ;
Begin
TextBackGround (Black);
TextColor (White);
ClrScr;
gotoxy(27,10);

write('ЙНННННННННННННННННННННННННН»');
gotoxy (27,12);
write('є є');
gotoxy (27,13);
write('є є');
gotoxy (27,14);
write('є є');
gotoxy(27,11);
write('є є');
gotoxy(27,15);
write('ИННННННННННННННННННННННННННј');

End;


BEGIN

clrscr;
Y := 3;
Repeat
ClrScr;
PasswordWindow;
gotoxy(34,10);
write('вводи');
if (y=3) or (y=2) then
begin
gotoxy(29,14);
writeln ('осталось ',y,' попытки');
end;
if y=1 then
begin
gotoxy(29,14);
writeln ('осталось ',y,' попытка');
end;
gotoxy(36,12);
passwordstring := '';
ch := ReadKey;
While ch <> #13 Do
Begin
passwordstring := passwordstring + ch;
Write('*');
ch := ReadKey;
End;
if passwordstring <> Password Then
Begin
TextColor (Red);
gotoxy(33,12);
Write ('неправильно');
y:=y-1;
End;
If PasswordString = Password Then
Begin
TextColor (Green);
gotoxy(34,12);
Write ('правильно');
End;

Readkey;
Until (PasswordString = Password) Or (Y = 0);

If Y = 0 Then
exit;
end.



вот держи.
Sto
ch : Char;
cif : Integer;
...
writeln ('У вас осталось ,'y,' попытки');
...
writeln ('у вас осталось ',y,' попытка');
...
{Этот кусок вместо строки readln (passwordstring);}
cif := 1;
ch := ReadKey;
While cif <> 8 Do
Begin
passwordstring := passwordstring + ch;
Write('*');
ch := ReadKey;
cif := cif + 1;
End;
...

Если будут вопросы пиши.
ASD_9
Спасибо smile.gif
А можно еще так сделать что бы больше 8-ми цифр нельзя вводить

Sto
Цитата(ASD_9 @ 22.05.2007 22:27) *

Спасибо smile.gif
А можно еще так сделать что бы больше 8-ми цифр нельзя вводить

Я написал, смотри выше.
ASD_9
я не могу сделать здесь же нет readln(passwordstring);
nikita182
Цитата(Sto @ 22.05.2007 23:29) *

Я написал, смотри выше.

у тебя ТОЛЬКО 8 цифр, 3 не введешь

вот мой вариант:


Begin
passwordstring := passwordstring + ch;
if length(passwordstring) = 9 then break; {<-----добавь}
Write('*');
ch := ReadKey;
End;

ASD_9
Цитата(nikita182 @ 23.05.2007 1:41) *

у тебя ТОЛЬКО 8 цифр, 3 не введешь

вот мой вариант:


Begin
passwordstring := passwordstring + ch;
if length(passwordstring) = 9 then break; {<-----добавь}
Write('*');
ch := ReadKey;
End;




когда вводишь 2 и 3 раз не получается
nikita182
хм.. у мну все норм.
что именно не получается?
Sto
Работает
program parol;
uses crt;
const password:string = '123';
var y, cif:integer;
ch : char;
passwordstring:string;
Procedure PasswordWindow ;
Begin

TextBackGround (Black);
TextColor (White);
ClrScr;
gotoxy(27,10);

write('ЙНННННННННННННННННННННННННН»');
gotoxy (27,12);
write('є є');
gotoxy (27,13);
write('є є');
gotoxy (27,14);
write('є є');
gotoxy(27,11);
write('є є');
gotoxy(27,15);
write('ИННННННННННННННННННННННННННј');

End;


BEGIN

clrscr;
Y := 3;
Repeat
ClrScr;
PasswordWindow;
gotoxy(34,10);
write('Введите пароль');
if (y=3) or (y=2) then
begin
gotoxy(29,14);
writeln ('У вас осталось ',y,' попытки');
end;
if y=1 then
begin
gotoxy(29,14);
writeln ('у вас осталось ',y,' попытка');
end;
gotoxy(36,12);
cif := 1;
ch := ReadKey;
While ch <> #13 Do
Begin
If cif <= 8 Then
begin
passwordstring := passwordstring + ch;
Write('*');
end;
ch := ReadKey;
cif := cif + 1;
End;
if passwordstring <> Password Then
Begin
TextColor (Red);
gotoxy(33,12);
Write ('непрвильно');
y:=y-1;
End;
If PasswordString = Password Then
Begin
TextColor (Green);
gotoxy(34,12);
Write ('правильно');
End;

Readkey;
Until (PasswordString = Password) Or (Y = 0);

If Y = 0 Then
exit;
end.
ASD_9
Цитата(nikita182 @ 23.05.2007 2:03) *

хм.. у мну все норм.
что именно не получается?


вот когда вводишь 1-ый раз то все норм, а когда 2-ой раз, можно писать больше 8-ми

Добавлено через 2 мин.
Вот


program parol;
uses crt;
const password:string = '123';

var
i:integer;
ch : char;
y:integer;
cif:integer;
passwordstring:string;
Procedure PasswordWindow ;
Begin
TextBackGround (Black);
TextColor (White);
ClrScr;
gotoxy(27,10);
write('ЙНННННННННННННННННННННННННН»');
gotoxy (27,12);
write('є є');
gotoxy (27,13);
write('є є');
gotoxy (27,14);
write('є є');
gotoxy(27,11);
write('є є');
gotoxy(27,15);
write('ИННННННННННННННННННННННННННј');

End;


BEGIN

clrscr;
Y := 3;
Repeat
ClrScr;
PasswordWindow;
gotoxy(34,10);
write('‚ўҐ¤ЁвҐ Ї а®«м');
if (y=3) or (y=2) then
begin
gotoxy(29,14);
writeln ('“ ў б ®бв «®бм ',y,' Ї®ЇлвЄЁ');
end;
if y=1 then
begin
gotoxy(29,14);
writeln ('“ ў б ®бв «®бм ',y,' Ї®ЇлвЄ ');
end;
gotoxy(36,12);
ch := ReadKey;

While ch <> #13 Do

Begin

passwordstring := passwordstring + ch;
if length(passwordstring)=9 then break;
Write('*');
ch:=readkey;
end;
if passwordstring <> Password Then
Begin
TextColor (Red);
gotoxy(33,12);
Write ('Џ а®«м ­Ґ ўҐа­л©');
y:=y-1;
End;
If PasswordString = Password Then
Begin
TextColor (Green);
gotoxy(34,12);
Write ('Џ а®«м ўҐа­л©');
End;

Readkey;
Until (PasswordString = Password) Or (Y = 0);

If Y = 0 Then
exit;
end.
nikita182
а обнулять кто будет!

passwordstring := '';



ищи
ASD_9
Сделал smile.gif Большое спасибо good.gif
nikita182
пожалуйста..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.