Write/es

From Lazarus wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) русский (ru)

write es un procedimiento que indica que se muestren algún/nos caracteres en la pantalla. Para ello se sitúa lo que queremos mostrar entre los paréntesis, pudiendo ser tanto texto directamente, como texto representado por una variable.

PROGRAM Mostrar_Texto_en_Pantalla;
 
VAR
 
variable_texto:string;
 
begin
 
   variable_texto:='Esto es lo que contiene la variable';
 
   write ('El contenido de la variable es: ',variable_texto);
 
end.

Imprime lo siguiente:

El contenido de la variable es: Esto es lo que contiene la variable


También podemos imprimir en pantalla un carácter con su código alternativo gráfico (ALTGR+código de carácter), para ello utilizaríamos por ejemplo:

write ('La letra X se puede imprimir como se ve en este ejemplo:' , #88);

que obtiene el mismo resultado que si utilizamos:

write ('La letra X se puede imprimir como se ve en este ejemplo: ',chr(88));

Estos últimos ejemplos imprimen en pantalla lo siguiente:

La letra X se puede imprimir como se ve en este ejemplo: X

Además permite el formateado de los datos a imprimir, siendo muy útil a la hora de generar columnas numéricas. Supongamos que tenemos una variable de tipo real con valor 3.14159 llamada numero, entonces si escribimos:

write (numero);

Obtendríamos la impresión:

3.141520000000000E+000

En cambio si escribimos:

write (numero:1:2);

Obtendríamos esto otro:

3.14

Con:

write (numero:1:3);

Obtendríamos:

3.145

En el caso de que la variable hubiese tenido valor 3.1 habría rellenado con ceros dando los resultados:

3.10

3.100

Se observa por tanto que podemos escoger el número de decimales a imprimir.

Es frecuente combinar el uso de write con otras funciones como writeln, gotoxy,settexcolor, setbkcolor,.......

Una opcion muy interesante que nos ofrece el formateado es la posibilidad de realizar un encolumnado asignando un numero de espacios fijo a la impresion. Si por ejemplo en numero:1:3 cambiamos el 1 por un 12 significa que los primeros 11 caracteres estarian en blanco y en la posicion numero 12 tendriamos el numero 3 que es la parte entera. En sucesivas impresiones de otros numeros con mas digitos en la parte entera se situarian de forma justificada a la derecha dejando mas o menos espacios a la izquierda.

000000000111
123456789012              numero     formateado 
           3.100            3.1      numero:12:3
           3.200            3.2      numero:12:3 
          12.700           12.7      numero:12:3
         123.100          123.1      numero:12:3  
        1234.100         1234.1      numero:12:3
       12345.100        12345.1      numero:12:3
      123456.100       123456.1      numero:12:3
     1234567.100      1234567.1      numero:12:3
    12345678.100     12345678.1      numero:12:3
   123456789.100    123456789.1      numero:12:3
................................................