Sign in Join
Wiki copytemporary

Write/es: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11write 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.
22
33``` pascal
44PROGRAM Mostrar_Texto_en_Pantalla;
55
66VAR
77
88variable_texto:string;
99
1010begin
1111
1212 variable_texto:='Esto es lo que contiene la variable';
1313
1414 write ('El contenido de la variable es: ',variable_texto);
1515
1616end.
1717```
1818
1919Imprime lo siguiente:
2020
2121**El contenido de la variable es: Esto es lo que contiene la variable**
2222
2323Tambié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:
2424
2525``` pascal
2626write ('La letra X se puede imprimir como se ve en este ejemplo:' , #88);
2727```
2828
2929que obtiene el mismo resultado que si utilizamos:
3030
3131``` pascal
3232write ('La letra X se puede imprimir como se ve en este ejemplo: ',chr(88));
3333```
3434
3535Estos últimos ejemplos imprimen en pantalla lo siguiente:
3636
3737**La letra X se puede imprimir como se ve en este ejemplo: X**
3838
3939Ademá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:
4040
4141write (numero);
4242
4343Obtendríamos la impresión:
4444
4545**3.141520000000000E+000**
4646
4747En cambio si escribimos:
4848
4949``` pascal
5050write (numero:1:2);
5151```
5252
5353Obtendríamos esto otro:
5454
5555**3.14**
5656
5757Con:
5858
5959``` pascal
6060write (numero:1:3);
6161```
6262
6363Obtendríamos:
6464
6565**3.145**
6666
6767En el caso de que la variable hubiese tenido valor 3.1 habría rellenado con ceros dando los resultados:
6868
6969**3.10**
7070
7171**3.100**
7272
7373Se observa por tanto que podemos escoger el número de decimales a imprimir.
7474
7575Es frecuente combinar el uso de write con otras funciones como writeln, gotoxy,settexcolor, setbkcolor,.......
7676
7777Una 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.
7878
79-`000000000111`\
80-`123456789012              numero     formateado `\
81-`           3.100            3.1      numero:12:3`\
82-`           3.200            3.2      numero:12:3 `\
83-`          12.700           12.7      numero:12:3`\
84-`         123.100          123.1      numero:12:3  `\
85-`        1234.100         1234.1      numero:12:3`\
86-`       12345.100        12345.1      numero:12:3`\
87-`      123456.100       123456.1      numero:12:3`\
88-`     1234567.100      1234567.1      numero:12:3`\
89-`    12345678.100     12345678.1      numero:12:3`\
90-`   123456789.100    123456789.1      numero:12:3`\
91-`................................................`
79+```text
80+000000000111
81+123456789012 numero formateado
82+ 3.100 3.1 numero:12:3
83+ 3.200 3.2 numero:12:3
84+ 12.700 12.7 numero:12:3
85+ 123.100 123.1 numero:12:3
86+ 1234.100 1234.1 numero:12:3
87+ 12345.100 12345.1 numero:12:3
88+ 123456.100 123456.1 numero:12:3
89+ 1234567.100 1234567.1 numero:12:3
90+ 12345678.100 12345678.1 numero:12:3
91+ 123456789.100 123456789.1 numero:12:3
92+................................................
93+```
9294
9395---
9496*From the Free Pascal wiki, page "Write/es", as it stood on 2020-03-04 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
9597Category: Castellano
9698Category: Español

Back to history