010:trucos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
010:trucos [d/m/Y H:i] – creado miguel010:trucos [d/m/Y H:i] (actual) – [Haciendo un INPUT en mitad de la pantalla] miguel
Línea 1: Línea 1:
 ====== Microhobby 10. Año II, del 8 al 14 de enero de 1985 ====== ====== Microhobby 10. Año II, del 8 al 14 de enero de 1985 ======
- 
-{{ :010:trucos.jpg|}} 
- 
 ===== Trucos ===== ===== Trucos =====
  
 ==== Truco para poner una línea cero en un programa ==== ==== Truco para poner una línea cero en un programa ====
 +
 +{{ :010:trucos.jpg|}}
  
 Seguramente nuestros lectores habrán observado en algunos programas en BASIC que estos tienen líneas cero que no se pueden editar. La forma de realizar este truco es muy fácil. Lo primero que necesitamos es averiguar la dirección de la línea en memoria para cambiar su número. Si hacemos: Seguramente nuestros lectores habrán observado en algunos programas en BASIC que estos tienen líneas cero que no se pueden editar. La forma de realizar este truco es muy fácil. Lo primero que necesitamos es averiguar la dirección de la línea en memoria para cambiar su número. Si hacemos:
Línea 17: Línea 16:
 Así, por ejemplo, en el caso anterior bastará con hacer POKE 23755,0 y POKE 23756,0. El mismo truco puede emplearse en cualquier línea del programa que no sea la primera, a condición de conocer su dirección en la memoria. Así, por ejemplo, en el caso anterior bastará con hacer POKE 23755,0 y POKE 23756,0. El mismo truco puede emplearse en cualquier línea del programa que no sea la primera, a condición de conocer su dirección en la memoria.
  
-HACIENDO UN INPUT EN MEDIO DE LA PANTALLA+==== Haciendo un INPUT en medio de la pantalla ====
  
-Muchos lectores nos han escrito preguntándonos si existe alguna posibilidad de hacer que la sentencia INPUT se imprima en cualquier parte de la pantalla, y no necesariamente en la parte baja de la misma, como ocurre normalmente. Pues bien, con un poco de picardía es perfectamente posible obtener este efecto como lo demuestra este pro-gramita.+Muchos lectores nos han escrito preguntándonos si existe alguna posibilidad de hacer que la sentencia INPUT se imprima en cualquier parte de la pantalla, y no necesariamente en la parte baja de la misma, como ocurre normalmente. Pues bien, con un poco de picardía es perfectamente posible obtener este efecto como lo demuestra este programita.
  
-10 INPUT AT 22,0: AT 0,0;"NOMBRE",N$+<code basic> 
 +10 INPUT AT 22, 0: AT 0, 0; "NOMBRE", N$ 
 +</code>
  
 Las posibilidades que ofrece este truco son infinitas, pero tiene un pequeño defecto que rápidamente descubrirán nuestros lectores. Una vez que hemos contestado al INPUT, éste se borra. Para evitarlo, podemos añadir esta línea que corregirá el defecto: Las posibilidades que ofrece este truco son infinitas, pero tiene un pequeño defecto que rápidamente descubrirán nuestros lectores. Una vez que hemos contestado al INPUT, éste se borra. Para evitarlo, podemos añadir esta línea que corregirá el defecto:
  
-20 PRINT AT 0,0;"NOM BRE",N$+<code basic> 
 +20 PRINT AT 0, 0; "NOMBRE", N$ 
 +</code>
  
-METER VARIABLES EN UN INPUT+==== Meter variables en un INPUT ====
  
-Les ofrecemos un interesante truquito para imprimir una variable dentro de un INPUT. Basta con utilizar el signo + para conectar un string con la variable que de-+Les ofrecemos un interesante truquito para imprimir una variable dentro de un INPUT. Basta con utilizar el signo + para conectar un string con la variable que deseemos imprimir. De esta forma, el Spectrum construye, primero, el string antes de la impresión y se consigue el efecto deseado. Veamos un ejemplo práctico: Naturalmente, podemos utilizar cualquier tipo de variable, normal o matriz, siempre que sea alfanumérica. Si queremos imprimir una variable numérica, tendremos que utilizar la función STR$ para convertirla a alfanumérica.
  
-mos un ejemplo práctico: Naturalmente, podemos utilizar cualquier tipo de variable, normal o matriz, siempre que sea alfanumérica. Si queremos imprimir una va-+<code basic> 
 +10 LET A$ = "PROGRAMA" 
 +20 INPUT "NOMBRE DEL" + A$; B$ 
 +</code>
  
-10 LET A$ "PROGRAMA" 20 INPUT "NOMBRE DEL' + A$;B$+==== ¿Qué programa es este? ====
  
-seemos imprimirDe esta forma, el Spectrum construye, primero, el string antes de la impresión y se consigue el efecto deseadoVea-+Normalmente cuando vdcarga un programa aparece en la pantalla el clásico mensaje: xxxxx o bytes: xxxxx. Pero imagínese que comienza a cargar su programa no aparece nada en la pantalla. Este curioso efecto se puede lograr utilizando códigos de control en el nombre del programaEl ejemplo que sigue le aclarará algo las ideas:
  
-riable numérica, tendremos que utilizar la función STRpara convertirla a alfanumérica. +<code basic> 
- +10 LET A= CHR$ 22 + CHR$ 1 + CHR$ 0 + CHR$ 16 + CHR$ 7 + CHR$ 17 + CRH$ 7 + CHR$ 249 + CHR$ 249 
-¿QUE PROGRAMA ES ESTE? +20 SAVE A$ 
- +</code>
-Normalmente cuando vd. +
- +
-co +
- +
-g carga un programa aparece £ en la pantalla el clásico +
- +
-UJ +
- +
-d mensaje: xxxxx o bytes: +
- +
-zando códigos de control en el nombre del programa. El ejemplo que sigue le aclarará algo las ideas: +
- +
-xxxxx. Pero imagínese que comienza a cargar su programa y no aparece nada en la pantalla. Este curioso efecto se puede lograr utili-+
  
 Haga RUN, grabe el programa resultante en una cinta e intente cargarlo después de haber tecleado NEW. Haga RUN, grabe el programa resultante en una cinta e intente cargarlo después de haber tecleado NEW.
- 
-10 LET A$ = CHR$ 22 + CHR$ 1 + CHR$ 0 + CHR$ 16 + CHR$ 7 + CHR$ 17 + CRH$ 7 + CHR$ 249 + CHR$ 249 
- 
-20 SAVE A$ 
  • 010/trucos.1290810269.txt.gz
  • Última modificación: d/m/Y H:i
  • por miguel