repeat
c:=readkey;
write('*');
s:=s+c;
until c=#13;
mam taki kod tylko ze jesli nacisne BackSpace to zamiast usówać znaki to sie dopisuja nowe gwiazdki. Jak temu zaradzić??
repeat
c:=readkey;
write('*');
s:=s+c;
until c=#13;
mam taki kod tylko ze jesli nacisne BackSpace to zamiast usówać znaki to sie dopisuja nowe gwiazdki. Jak temu zaradzić??
Trzeba dodać własną obsługę BackSpace.
np:
repeat
c:=readkey;
if c=#8 then
begin
s[0]:=Length(s)-1;
gotoxy(wherex-1,wherey);
write(' ');
gotoxy(wherex-1,wherey);
end
else
begin
write('*');
s:=s+c;
end;
until c=#13;
Loloki napisał(a)
s[0]:=Length(s)-1;
tego kompilator nie przełknie ;) Powinieneś ująć liczbę po prawej stronie w Char (), albo zrobić to tak:
s :=Copy (s, 1, Length (s) -1);
Pozdrawiam.
if length(s)>0 then dec(s[0]);