Ciao a tutti.
La mia non è una richiesta di aiuto ma di ottimizzazione di un algoritmo per leggere una stringa carattere per carattere.
codice:
USES Crt;
VAR i:INTEGER;
command:STRING;
s:CHAR;
BEGIN
clrscr;
Write('Inserisci una stringa: ');
FOR i:=1 TO 32 DO
Begin
s:=ReadKey;
IF (s=#13) or (s=#27) THEN i:=32; {se è invio o esc esce dal ciclo}
IF (s<>#7) AND (s<>#8) AND (s<>#10) THEN
begin
Write(s);
command:=command+s;
end;
IF (s=#8) AND (i>0) THEN {se è il backspace...}
begin
Delete(command,i-1,1);
i:=i-2;
IF i>=0 THEN Write(Chr(8),' ',Chr(8));
end;
End;
END.
Il programma ha due Bug 
1- Se si inseriscono tanti caratteri a caso velocemente non si riesce più a cancellare interamente quello che si ha scritto.
2- Se si preme Alt+7 e Alt+8 continuamente il cursore torna indietro mangiucchiando la parola del writeln: Inserisci una stringa:
3- Se trovate altri bug ve ne sarò grato
In attesa di risposte Grazie