PDA

View Full Version : [C++] Hanno cambiato la tabella ASCII su Vista!!!


MrModd
24-05-2009, 12:49
Ciao, ho creato un programma in C++ e tramite il comando putch() ho inserito dei caratteri speciali della tabella estesa ASCII dell'IBM. Sono quelli che creano delle cornici con doppia linea: i valori decimali sono da 185 a 188 e da 200 a 206.
Il programma l'ho fatto da Windows XP ed è tutto a posto, ma su Vista mi si vedono altri caratteri come ò, è, ì ed altri. Come faccio a farli visualizzare normalmente?

fero86
25-05-2009, 16:01
in Windows (sia XP che Vista) non esiste lo standard ASCII, esiste lo standard ANSI. i caratteri che vedi sono diversi da un sistema all'altro perché sono diverse le codepage impostate (forse hai XP in inglese e Vista in italiano?)

fero86
25-05-2009, 16:06
a proposito... non usare putch in C++, e neanche in C; Gesu Bambino piange per queste cose anche quando non si é sotto Natale :Puke:

MrModd
25-05-2009, 19:59
in Windows (sia XP che Vista) non esiste lo standard ASCII, esiste lo standard ANSI. i caratteri che vedi sono diversi da un sistema all'altro perché sono diverse le codepage impostate (forse hai XP in inglese e Vista in italiano?)

Nu... Entrambi in italiano...
Ma scusa, perchè se io prendo una tavola ASCII su internet su XP i valori corrispondono e su Vista no? Deve essere un problema di Vista, o no?

a proposito... non usare putch in C++, e neanche in C; Gesu Bambino piange per queste cose anche quando non si é sotto Natale :Puke:

Diciamo che "devo" usarlo perché ciò che usiamo a scuola è conio2.h.

wingman87
25-05-2009, 20:02
Non credo sia un problema di Vista perché a me quei codici funzionano bene (e ho Vista)

MrModd
25-05-2009, 20:58
E quindi come risolvo? Io ho Vista Home Premium 32bit versione OEM preinstallata sul portatile.

cdimauro
25-05-2009, 21:06
Nu... Entrambi in italiano...
Ma scusa, perchè se io prendo una tavola ASCII su internet su XP i valori corrispondono e su Vista no? Deve essere un problema di Vista, o no?
Semplice: perché lo standard ASCII copre soltanto i caratteri con codice che va da 0 a 127. Quelli da 127 a 255 possono essere riempiti come si vuole, ed esistono diversi altri standard che assegnano a questi valori simboli ad hoc.

MrModd
25-05-2009, 21:28
Semplice: perché lo standard ASCII copre soltanto i caratteri con codice che va da 0 a 127. Quelli da 127 a 255 possono essere riempiti come si vuole, ed esistono diversi altri standard che assegnano a questi valori simboli ad hoc.

Ok, ora mi è chiaro, ma devo assolutamente risolvere, perché questo programma lo devo portare agli esami e non ci faccio una bella figura con le ò al posto della cornice :P

Dato che quei caratteri variano immagino che non possa standardizzare i codici per ogni sistema, giusto?
Ma per risolvere temporaneamente su Vista, posso andare sulla mappa caratteri e vedere qual'è il valore decimale dei caratteri?

DanieleC88
25-05-2009, 22:03
Ok, ora mi è chiaro, ma devo assolutamente risolvere, perché questo programma lo devo portare agli esami e non ci faccio una bella figura con le ò al posto della cornice :P
Evita le cornicette e usa dei caratteri standard, altrimenti fatti una GUI. :Prrr:

L'era del DOS è - fortunatamente - finita da un pezzo. :)
ciao ;)

MrModd
25-05-2009, 22:14
Evita le cornicette e usa dei caratteri standard, altrimenti fatti una GUI. :Prrr:

L'era del DOS è - fortunatamente - finita da un pezzo. :)
ciao ;)

Già, lo so perfettamente. È che non ho ancora le conoscenze per fare programmi più complessi. Io faccio l'ultimo anno delle superiori. Dal prossimo anno spero di fare qualcosa di più serio :)

Giusto per curiosità, la GUI come me la creerei? Tutta a manina o prendendo delle strutture già fatte tipo quelle del C++ Builder?

tomminno
25-05-2009, 22:34
Nu... Entrambi in italiano...
Ma scusa, perchè se io prendo una tavola ASCII su internet su XP i valori corrispondono e su Vista no? Deve essere un problema di Vista, o no?


La codifca ASCII standard arriva fino a 127 (7bit).
La definizione dei caratteri da 128 a 255 è specifica della code page in uso.

Sinceramente non mi risulta che di default il code page di Vista sia diverso da quello di XP, che dovrebbe essere sempre Windows 1252

Che compilatore usi?

DanieleC88
25-05-2009, 22:38
Giusto per curiosità, la GUI come me la creerei? Tutta a manina o prendendo delle strutture già fatte tipo quelle del C++ Builder?
Puoi:
fare a manina
fare a manina appoggiandoti ad un toolkit
usare un GUI builder

Più o meno qualsasi IDE, nel 2009, ha un GUI designer integrato o fornito come plugin, più o meno completo che sia. Ciò si traduce nel fatto che Dev-C++ non è un'IDE, e se lo stai usando sei avvisato: abbandonalo. :asd:

ciao ;)

MrModd
26-05-2009, 12:56
Che compilatore usi?

Puoi:
fare a manina
fare a manina appoggiandoti ad un toolkit
usare un GUI builder

Più o meno qualsasi IDE, nel 2009, ha un GUI designer integrato o fornito come plugin, più o meno completo che sia. Ciò si traduce nel fatto che Dev-C++ non è un'IDE, e se lo stai usando sei avvisato: abbandonalo. :asd:

ciao ;)

:asd: Io uso l'unico IDE che non ha niente: DevCpp!!! :asd:

Perché lo uso? Perché è quello che usiamo a scuola e non ho tempo di imparare le funzioni di un altro sviluppatore... :stordita:

DanieleC88
26-05-2009, 13:02
:(

Ma perché nel 2009 lo fanno ancora usare? Tanto più che le edizioni express di Visual Studio sono pure gratuite, c'è Code::Blocks, Eclipse, NetBeans, ...

:cry:

MrModd
26-05-2009, 13:08
:(

Ma perché nel 2009 lo fanno ancora usare? Tanto più che le edizioni express di Visual Studio sono pure gratuite, c'è Code::Blocks, Eclipse, NetBeans, ...

:cry:

Eh non ti biasimo, ma se sapessi in che condizioni è il nostro laboratorio... Io evito di pensarci per non andare a prendere a calci il preside...