027:trucos

Diferencias

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

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
027:trucos [d/m/Y H:i] miguel027: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 ====
 +
 +{{ :027:trucos.jpg?200|}}
 +
 +--- //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 Ar-bex nos ha resuelto el problema al enviarnos una pequeña rutina Basic que imita, hasta cierto punto, a la famosa y potente sentencia PRINT USING de otros dialectos de Basic.+José Maria Martínez Arbex nos ha resuelto el problema al enviarnos una pequeña rutina Basic que imita, hasta cierto punto, a la famosa y potente sentencia PRINT USING de otros dialectos de Basic.
  
 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, inicia-lizada a 15, que nos permite elegir la longitud máxima del campo de representación que queremos.+Para flexibilizarla al máximo, hemos definido una variable, LONGCAMPO, inicializada a 15, que nos permite elegir la longitud máxima del campo de representación que queremos.
  
 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 "NUMERO ";NUM 
 +140   INPUT "CAMPO ";LCAMPO 
 +145   GO 5UB COMPROBAR 
 +147   IF ERROR THEN LET ERROR = NOT ERROR: GO TO 130 
 +148   : 
 +150   PRINT INVERSE 1; FN U$(NUM,LCAMPO) 
 +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>LCAMPO) 
 +1030  RETURN
  
-REM *** REM *** +</code>
- +
-REM *** +
- +
-*** +
- +
-*** +
- +
-LET SPRCE =32: LET E$ = "" LET L0NGCRMP0=15 LET ERROR =0 LET COMPROBRR = 1000 +
- +
-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 "NUMERO ";NUM 140 INPUT "CRMPO ";LCAMPO 145 GO 5UB COMPROBRR +
- +
-147 IF ERROR THEN LET ERROR = NOT ERROR: GO TO 130 +
- +
-148 . +
- +
-150 PRINT INUERSE 1; +
- +
-FN U$(NUM,LCRMPO) +
- +
-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//
  
  • 027/trucos.1442009981.txt.gz
  • Última modificación: d/m/Y H:i
  • por miguel