Difference between revisions of "Write/es"

From Lazarus wiki
m
m (Text replace - "delphi>" to "syntaxhighlight>")
Line 5: Line 5:
 
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.
 
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.
  
<delphi>
+
<syntaxhighlight>
 
PROGRAM Mostrar_Texto_en_Pantalla;
 
PROGRAM Mostrar_Texto_en_Pantalla;
  
Line 19: Line 19:
  
 
end.
 
end.
</delphi>
+
</syntaxhighlight>
 
Imprime lo siguiente:
 
Imprime lo siguiente:
  
Line 27: Line 27:
 
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:
 
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:
  
<delphi>
+
<syntaxhighlight>
 
write ('La letra X se puede imprimir como se ve en este ejemplo:' , #88);
 
write ('La letra X se puede imprimir como se ve en este ejemplo:' , #88);
</delphi>
+
</syntaxhighlight>
  
 
que obtiene el mismo resultado que si utilizamos:
 
que obtiene el mismo resultado que si utilizamos:
  
<delphi>
+
<syntaxhighlight>
 
write ('La letra X se puede imprimir como se ve en este ejemplo: ',chr(88));
 
write ('La letra X se puede imprimir como se ve en este ejemplo: ',chr(88));
</delphi>
+
</syntaxhighlight>
  
 
Estos últimos ejemplos imprimen en pantalla lo siguiente:
 
Estos últimos ejemplos imprimen en pantalla lo siguiente:
Line 52: Line 52:
 
En cambio si escribimos:
 
En cambio si escribimos:
  
<delphi>
+
<syntaxhighlight>
 
write (numero:1:2);
 
write (numero:1:2);
</delphi>
+
</syntaxhighlight>
 
Obtendríamos esto otro:
 
Obtendríamos esto otro:
  
Line 60: Line 60:
  
 
Con:
 
Con:
<delphi>
+
<syntaxhighlight>
 
write (numero:1:3);
 
write (numero:1:3);
</delphi>
+
</syntaxhighlight>
 
Obtendríamos:
 
Obtendríamos:
  
Line 79: Line 79:
 
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.
 
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.
 
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.
<delphi>
+
<syntaxhighlight>
 
000000000111
 
000000000111
 
123456789012              numero    formateado  
 
123456789012              numero    formateado  
Line 93: Line 93:
 
   123456789.100    123456789.1      numero:12:3
 
   123456789.100    123456789.1      numero:12:3
 
................................................
 
................................................
</delphi>
+
</syntaxhighlight>

Revision as of 16:11, 24 March 2012

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

write

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
................................................