SystemBrowser

 

Aqui vemos el SystemBrowser y sus partes

En la parte izquierda de las ventanas suele aparecer una barra de desplazamiento y si movemos el mouse despacio, en la parte superior aparece un dibujo que presionando nos da un menú contextual ( Puede haber uno para cada panel).
Para crear una nueva categoría de clases, pulsar add item en el menú contextual correspondiente al panel categoría de clases. (ver dibujo)
Al aparecer una ventana , escribir Ejercicios y pulsar accept.
En el panel inferior debe quedar el siguiente código


Object subclass: #NameOfSubclass
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: Ejercicios


En este momento , Ejercicios será la última categoría agregada al System Browser.
Habremos creado una nueva categoría, para crear una clase seleccionar el texto que dice NameOfSubclass con el mouse y escribir el nombre que se desee , en nuestro caso “Pantalla” y aceptarlo con accept. del menú o con Alt s del menú contextual correspondiente al panel Código de Smalltalk para métodos
Debe aparecer el nombre Pantalla en el segundo panel Clases. Los nombres de Clases deben comenzar con mayúscula. Recordar siempre que todos los nombres de objetos en Smalltalk son “case sensitives”, mama, Mama, mAma, MAMA, etc serían objetos diferentes.
Para crear categorías de métodos o protocolos, ir al panel correspondiente, y con el menú contextual hacer new category
Al aparecer el menú , pulsar new y al aparecer una ventana , escribir el nombre del protocolo deseado, ej. Inicializar y aceptar.
En el panel Código de Smalltalk para métodos aparecerá el siguiente código remarcado en verde.


message selector and argument names

"comment stating purpose of message"
| temporary variable names |
statements


Reemplazar por el código deseado y aceptar

Para nuestro primer ejercicio veremos como dibujar letras en pantalla según el siguiente modelo


comienzo
(Form extent: 784@548) fillWhite display." Rellenar un rectangulo con blanco, limpiando así la pantalla"
miPluma _ Pen new.
miPluma up.
miPluma goto: 100 @ 500.
miPluma down.
miPluma color: 8.


Si no se cometieron errores, el nombre del método (comienzo en nuestro caso), se remarcará en negrita y aparecerá en el cuarto panel
Código de limpiar


Limpiar
(Form extent: 784@548) fillWhite display.


Dibujos de las letras


A
miPluma go: 40.
miPluma turn: 90.
miPluma go: 30.
miPluma turn: 90.
miPluma go: 40.
miPluma up.
miPluma turn: 90.
miPluma go: 30.
miPluma turn: 90.
miPluma go: 20.
miPluma down.
miPluma turn: 90.
miPluma go: 30.
miPluma turn: 90.
miPluma go: 20.
miPluma up.
miPluma turn: 270.
miPluma go: 20.
miPluma down.
miPluma turn: 270.
B
miPluma go: 40.
miPluma turn: 90.
miPluma go: 30.
miPluma turn: 90.
miPluma go: 10.
miPluma turn: 90.
miPluma go: 30.
miPluma turn: 270.
miPluma go: 10.
miPluma turn: 270.
miPluma go: 30.
miPluma turn: 90.
miPluma go: 20.
miPluma turn: 90.
miPluma go: 30.
miPluma up.
miPluma turn: 180.
miPluma go: 50.
miPluma down.
miPluma turn: 270.
C
miPluma go: 40.
miPluma turn: 90.
miPluma go: 30.
miPluma turn: 90.
miPluma up.
miPluma go: 40.
miPluma down.
miPluma turn: 90.
miPluma go: 30.
miPluma up.
miPluma turn: 180.
miPluma go: 50.
miPluma down.
miPluma turn: 270.
D
miPluma go: 40.
miPluma turn: 90.
miPluma go: 30.
miPluma turn: 90.
miPluma go: 40.
miPluma down.
miPluma turn: 90.
miPluma go: 30.
miPluma up.
miPluma turn: 180.
miPluma go: 50.
miPluma down.
miPluma turn: 270.


La consigna para el ejercicio entonces es.
Completar el ejemplo con los métodos, clases, etc, necesarios para que se pueda tipear en el Workspace cualquiera de los siguientes ejemplos, remarcarlos con el mouse y ejecutar, (do it) con Alt D o el menú contextual del Workspace.

Verificar el funcionamiento en el Workspace

Mipantalla_ Pantalla new.
Mipantalla comienzo.
Mipantalla Escribir: 'bocado'.

Mipantalla_ Pantalla new.
Mipantalla comienzo.
Mipantalla Escribir: 'bello'.
Mipantalla_ Pantalla new.
Mipantalla comienzo.
Mipantalla Escribir: 'higo'.
Mipantalla_ Pantalla new.
Mipantalla comienzo.
Mipantalla Escribir: ‘puesto’.

 

 

 

 

 

 

 

 


1