Difference between revisions of "Write/es"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed syntax highlighting)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Write}}
+
{{Write}}[[category:Castellano]][[category:Español]]
 
 
[http://www.freepascal.org/docs-html/rtl/system/write.html 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.
 
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 lang=pascal>
 
PROGRAM Mostrar_Texto_en_Pantalla;
 
PROGRAM Mostrar_Texto_en_Pantalla;
  
Line 19: Line 17:
  
 
end.
 
end.
</delphi>
+
</syntaxhighlight>
 
Imprime lo siguiente:
 
Imprime lo siguiente:
  
Line 27: Line 25:
 
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 lang=pascal>
 
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 lang=pascal>
 
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 50:
 
En cambio si escribimos:
 
En cambio si escribimos:
  
<delphi>
+
<syntaxhighlight lang=pascal>
 
write (numero:1:2);
 
write (numero:1:2);
</delphi>
+
</syntaxhighlight>
 
Obtendríamos esto otro:
 
Obtendríamos esto otro:
  
Line 60: Line 58:
  
 
Con:
 
Con:
<delphi>
+
<syntaxhighlight lang=pascal>
 
write (numero:1:3);
 
write (numero:1:3);
</delphi>
+
</syntaxhighlight>
 
Obtendríamos:
 
Obtendríamos:
  
Line 80: Line 78:
 
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.
  
000000000111
+
000000000111
123456789012              numero   formateado  
+
123456789012              numero     formateado  
          3.100            3.1      numero:12:3
+
            3.100            3.1      numero:12:3
          3.200            3.2      numero:12:3  
+
            3.200            3.2      numero:12:3  
          12.700          12.7      numero:12:3
+
          12.700          12.7      numero:12:3
        123.100          123.1      numero:12:3   
+
          123.100          123.1      numero:12:3   
        1234.100        1234.1      numero:12:3
+
        1234.100        1234.1      numero:12:3
      12345.100        12345.1      numero:12:3
+
        12345.100        12345.1      numero:12:3
      123456.100      123456.1      numero:12:3
+
      123456.100      123456.1      numero:12:3
    1234567.100      1234567.1      numero:12:3
+
      1234567.100      1234567.1      numero:12:3
    12345678.100    12345678.1      numero:12:3
+
    12345678.100    12345678.1      numero:12:3
  123456789.100    123456789.1      numero:12:3
+
    123456789.100    123456789.1      numero:12:3
................................................
+
................................................

Latest revision as of 12:02, 4 March 2020

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