Insertar y Borrar
Inserta inserta su entrada (una palabra o una lista) en la posición del cursor. Borra borra el carácter a la derecha del cursor. Esto puede ser un poco diferente de lo que sucede cuando se presiona la tecla Supr del teclado de la computadora.
Con cualquiera de estos dos mandos se puede recorrer el texto horizontalemente, letra por letra. Las letras en una caja de texto pueden ser borradas o insertadas una por una.
Por ejemplo, supongamos que tenemos este texto en una caja de texto llamada Refrán.
![]()
Antes de borrar las letras una por una, guardaremos el texto en una variable:
da "mitexto refránLa instrucción para borrar el texto es muy similar a la instrucción del procedimiento línea-por-línea. En lugar de utilizar cuentatexto, cuenta contará el número de caracteres en la caja de texto Refrán. En lugar de utilizar cuab, borra borrará la letra a la derecha del cursor.
principio
repite cuenta refrán [borra espera 2]
Una vez que todo el texto se ha borrado, podemos restaurarlo mediante inserta.
inserta :mitextoUn procedimiento general llamado darvueltas tendría la siguiente forma.
para darvueltas
da "mitexto refrán
principio
repite cuenta :mitexto [borra espera 2]
inserta :mitexto
fin
Es posible insertar un texto letra por letra mediante un procedimiento recursivo que utilice primero y menosprimero. Cada carácter del texto sería insertado hasta que no quedara ninguno para insertar.
para uno-por-uno :texto
si vacía? :texto [alto]
inserta primero :texto espera 1
uno-por-uno menosprimero :texto
fin
En uno-por-uno, la palabra va siendo reducida de a una letra. Esto se logra sacando en forma repetitiva un carácter por vez hasta que no quede ninguno. La regla de detención dice: si la palabra está vacía, para. Ver Programar con Números, Palabras y Listas.
Otra posibilidad consiste en poner como entrada el nombre de una caja de texto, en lugar de una palabra o una lista.
uno-por-uno refránUn superprocedimiento puede guardar el texto en una variable, borrarlo y luego llamar el procedimiento uno-por-uno:
para escribir-texto
da "mitexto refrán
borratexto
uno-por-uno :mitexto
fin