Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
027:trucos [d/m/Y H:i] – miguel | 027:trucos [d/m/Y H:i] (actual) – [Simulación de la sentencia PRINT USING] miguel | ||
---|---|---|---|
Línea 4: | Línea 4: | ||
==== Simulación de la sentencia PRINT USING ==== | ==== Simulación de la sentencia PRINT USING ==== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | --- //José Maria Martínez Arbex// | ||
Hemos recibido consultas de algunos lectores sobre cómo podrían formatear la salida impresa en la pantalla para conseguir, por ejemplo, una columna alineada de números para programas de aplicación técnica o utilidad. | Hemos recibido consultas de algunos lectores sobre cómo podrían formatear la salida impresa en la pantalla para conseguir, por ejemplo, una columna alineada de números para programas de aplicación técnica o utilidad. | ||
- | José Maria Martínez | + | José Maria Martínez |
El trabajo lo realiza la función definida en la línea 100; necesita dos datos: el número a representar y la longitud del campo donde va a ser representado. | El trabajo lo realiza la función definida en la línea 100; necesita dos datos: el número a representar y la longitud del campo donde va a ser representado. | ||
- | Para flexibilizarla al máximo, hemos definido una variable, LONGCAMPO, | + | Para flexibilizarla al máximo, hemos definido una variable, LONGCAMPO, |
También está incluida una subrutina para atrapar errores, (que el campo sea cero o que su longitud sea menor que la del número a pintar). | También está incluida una subrutina para atrapar errores, (que el campo sea cero o que su longitud sea menor que la del número a pintar). | ||
- | 10 20 30 40 45 50 60 62 63 65 : 70 80 90 95 : 100 | + | <code basic> |
- | 110 : 120 | + | 10 REM *** SIMULACION DE *** |
+ | 20 REM *** PRINT USING *** | ||
+ | 30 : | ||
+ | 40 REM *** INICIALICION *** | ||
+ | 45 : | ||
+ | 50 LET SPACE=32: LET E$="" | ||
+ | 60 LET L0NGCAMPO=15 | ||
+ | 62 LET ERROR=0 | ||
+ | 63 LET COMPROBAR=1000 | ||
+ | 65 : | ||
+ | 70 FOR I=1 TO LONGCAMPO | ||
+ | 80 LET E$=E$+CHR$ (SPACE) | ||
+ | 90 NEXT I | ||
+ | 95 : | ||
+ | 100 DEF FN U$(N,L)=E$( TO L-LEN STR$ N)+STR$ N | ||
+ | 110 | ||
+ | 120 REM *** ENTRADA DATOS *** | ||
+ | 125 : | ||
+ | 130 INPUT " | ||
+ | 140 INPUT "CAMPO "; | ||
+ | 145 GO 5UB COMPROBAR | ||
+ | 147 IF ERROR THEN LET ERROR = NOT ERROR: GO TO 130 | ||
+ | 148 : | ||
+ | 150 PRINT INVERSE 1; FN U$(NUM, | ||
+ | 155 : | ||
+ | 160 GO TO (130 AND NUM) + (2000 AND NOT NUM) | ||
+ | 170 : | ||
+ | 1000 REM *** COMPROBAR *** | ||
+ | 1010 REM *** ERRORES | ||
+ | 1020 LET ERROR=NOT LCAMPO OR (LEN STR$ NUM> | ||
+ | 1030 RETURN | ||
- | REM *** REM *** | + | </code> |
- | + | ||
- | REM *** | + | |
- | + | ||
- | *** | + | |
- | + | ||
- | *** | + | |
- | + | ||
- | LET SPRCE =32: LET E$ = "" | + | |
- | + | ||
- | FOR 1=1 TO LONGCRMRO | + | |
- | + | ||
- | LET E$=E$+CHR$ ( 5PRCE) NEXT I | + | |
- | + | ||
- | DEF FN U$(N,L)= E$( TO L-LEN STR* N)+ STR $ N | + | |
- | + | ||
- | REM *** | + | |
- | + | ||
- | 125 : | + | |
- | + | ||
- | 130 INPUT " | + | |
- | + | ||
- | 147 IF ERROR THEN LET ERROR = NOT ERROR: GO TO 130 | + | |
- | + | ||
- | 148 . | + | |
- | + | ||
- | 150 PRINT INUERSE 1; | + | |
- | + | ||
- | FN U$(NUM, | + | |
- | + | ||
- | 155: | + | |
- | + | ||
- | 160 GO TO (130 RND NUM)+ (2000 ANO NOT NUM) | + | |
- | + | ||
- | 170: _ | + | |
- | + | ||
- | 1000 REM *** wwaiaawaa^ *** | + | |
- | + | ||
- | 1010 REM *** naaiia^ 1020 LET ERROR =NOT LCRMPO OR „„„„ ncT1 ILEN STR$ NUM>LCRMPO) 1030 RETURN | + | |
==== Para colorear la pantalla ==== | ==== Para colorear la pantalla ==== | ||
--- //José Epalza// | --- //José Epalza// | ||
+ | |||
--- //Andrés López Montalvo// | --- //Andrés López Montalvo// | ||