Oppure

Loading
30/05/16 17:40
Spaxen
Salve a tutti,non sono ancora molto pratico riguardo questo linguaggio e la programmazione in generale.
Il mio problema è il seguente:non riesco ad ottenere il codice ALT219 in Pascal utilizzando la unit crt.
Dunque anzichè ottenere █ ottengo una strana U.Posto il sorgente:
program Test;
uses crt;
begin
write('█');
readln
end.

Spero che qualcuno posso aiutarmi e magari spiegarmi perchè ho questo problema.:-?
Non so perchè ma al posto della 'â–ˆ' dovrebbe stampare █.
Ultima modifica effettuata da Spaxen 30/05/16 17:42
aaa
30/05/16 18:32
Poggi Marco
Ciao !

Purtroppo, in pascal, avrai problemi a stampare i caratteri simbolici siccome la codifica in unicode e ASCII sono diverse.
Nello specifico per stampare il carattere &#9608; usa la funzione chr( < numero intero > ) . Essa riceve un intero, e restituisce il carattere ASCII corrispondente.
Esempio:
program test;
uses crt;

begin
 writeln('Test');
 writeln(chr(219));
 readln;
end.
Ultima modifica effettuata da Poggi Marco 30/05/16 18:33
aaa
30/05/16 20:23
Spaxen
Ciao!
Grazie mille per la risposta;ho provato a scrivere il sorgente come hai scritto tu ma nulla..mi restituisce sempre quella strana u ;la cosa curiosa è che se tolgo la libreria crt non ho alcun tipo di problema.Ahimè crt è fondamentale per il mio esercizio.Altre idee?
aaa
31/05/16 20:05
Poggi Marco
Nemmeno io ho trovato il modo di stampare &#9608;.
In alternativa puoi operare sul colore di sfondo del testo, e stampare uno spazio.

Esempio:
program Test;
uses crt;

begin
  writeln('Test ');
  textbackground(7); // imposto il colore di sfondo a grigio
  writeln(' '); // stampo uno spazio
  textbackground(0); // riporto il colore di sfondo a nero
  readln;
end.
aaa
01/06/16 9:20
Spaxen
Ciao,grazie mille!Va benissimo.
In ogni caso spulciando nel help in linea ed andando a vedere i paragrafi dediti al crt ho trovato questo: "The CRT unit stems from the TP/Dos area. It is designed to work with single-byte character sets, where 1 char = 1 byte. That means that widestrings or UTF-8 encoded (ansi)strings will not correctly work.".Quindi credo sia normale che non corrispondano determinati caratteri.
Grazie mille,la tua soluzione va benissimo!:k:
aaa