Basic standard: cortar cadenas de texto y atributos

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Basic standard: cortar cadenas de texto y atributos

Notapor Hark0 el Vie Ene 03, 2014 12:25 am

Buenas!

Estos días de fiesta he estado perreando un rato y programando cosillas con el Spectrum, y declarando unas variables de texto me encuentro con algunos problemillas... el caso es el siguiente:

Declaro una matriz a$(3,5) con la intención de alojar a$(1)="123", a$(2)="456" y a$(3)="789".

Son solo tres caracteres porque a esto le voy a sumar 2 carácteres de control, de manera que realmente

a$(1)=chr$ 16 + chr$ 1 +"123" (ink 1 -azul- más el texto en sí).

Bien, a la hora de pintar la cadena en pantalla si hago PRINT a$(1), me la pone en pantalla en azul sin problemas.

Pero... ¿y si quiero cortar la cadena?

He probado con PRINT a$(1,3) para que pinte SOLO un "1" de color azul, pero entonces NO saca el color... ¿porqué?

Deberia coger los 3 primeros de la cadena ¿correcto? ¿alguien me lo aclara?

También tengo otro problema a la hora de hacer print "X X", pero que me RESPETE lo que hay entre las dos X, probé a pintar la primer X, añadir el codigo de control de desplazamiento cursor a la derecha, y pintar la segunda X (que forman parte de la matriz a$).... pero se pasa el codigo por el forro de los coj...
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
Avatar de Usuario
Hark0
Freddy Hardest
 
Mensajes: 545
Registrado: Mar Nov 13, 2012 1:42 pm
Ubicación: Cornella de Llobregat - Barcelona

Re: Basic standard: cortar cadenas de texto y atributos

Notapor zup el Vie Ene 03, 2014 9:15 am

Sí, es correcto, en tu caso deberías usar PRINT A$ (1,1 TO 3). PRINT imprime lo que le eches, pero si no le echas los códigos de control imprimirá la cadena sin más. Lo vas a tener algo más jodido si pretendes imprimir el segundo carácter con color. El paso correcto sería cortar primero la cadena y luego pegarle el código de color.

Creo que el código de los cursores está pensado de cara a comprobar las teclas, no a mover el cursor. De todas formas, puedes intentar imprimir el espacio central activando temporalmente OVER para que no te corrompa lo de debajo, o mover el cursor con el código de AT.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start...
zup
Freddy Hardest
 
Mensajes: 637
Registrado: Vie Ago 15, 2008 2:43 pm

Re: Basic standard: cortar cadenas de texto y atributos

Notapor Hark0 el Vie Ene 03, 2014 11:03 am

Probare lo de 1 TO 3, gracias!

La segunda parte lo he solventado con AT.

;)
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
Avatar de Usuario
Hark0
Freddy Hardest
 
Mensajes: 545
Registrado: Mar Nov 13, 2012 1:42 pm
Ubicación: Cornella de Llobregat - Barcelona


Volver a Programación y nuevos desarrollos

¿Quién está conectado?

Usuarios navegando este Foro: No hay usuarios registrados visitando el Foro y 2 invitados