String(n) Full character table

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Mikelle02
Newbie
Messaggi: 1
Iscritto il: 24/04/2016, 12:31
Uso: GameMaker 8.1
Contatta:

String(n) Full character table

Messaggio da Mikelle02 »

Salve a tutti,
è da un po di giorni che mi sono messo in testa di portare un intero codice realizzato in gml in C++.
Per realizzare ciò mi serviva riscrivere alcune funzioni che in C++ non sono presenti.
Tra cui questa

Codice: Seleziona tutto

 _nn = ord(_cchar);
Ora è chiaro che a _nn sarà assegnato il valore a cui corrisponde ord del character _cchar , il problema è che non capisco a quale tabella fa riferimento.
Facendo un po di test ho visto che per _nn = 0 il _cchar mi restituiva NULL , ciò bloccava il codice dall'esecuzione.
Partendo dopo da 1 ho visto che per 0<_nn<=126 _cchar sembrava fare riferimento ad Ascii table ma per _nn>126 sembra andare per un'altra strada.

Spoiler per approfondire
Spoiler
_nn = 127 -> _cchar = ' '
_nn = 128 -> _cchar = '€'
_nn = 129 -> _cchar = 'HOP'
_nn = 130 -> _cchar = ','
_nn = 131 -> _cchar = 'ƒ'
_nn = 132 -> _cchar = '„'
_nn = 133 -> _cchar = '…'
...
_nn = 255 -> _cchar ='ÿ'
Per _nn = 256 la funzione sembra interrompersi :zip: ma per la tabella dei characters mi sembrano troppo pochi 266 valori , dunque credo continui da _nn = x con altre interruzioni a seguire.
La cosa che mi sarebbe utile è sapere a quale tabella l'enumerazione dei character fa riferimento o se no se qualcuno sa in quali valori la funzione non esiste cosicché io possa trovare comunque i valori che mancano.

Qualcuno può darmi una mano ?
Scusate il mio modo di scrivere un po primitivo ma sono un N00b e mi piacerebbe imparare :)

Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: String(n) Full character table

Messaggio da Cash »

I char in C/C++ sono interi senza segno da 8 bit quindi teoricamente non ti serve neanche una funzione per ottenere il codice ASCII, il carattere stesso lo puoi trattare come numero normale. Se vuoi dividere i concetti di carattere e numero per rendere il codice più chiaro potresti fare che la funzione ord ritorna semplicemente il parametro, senza nessun altro codice.

Avatar utente
Wolfrost
Membro super
Messaggi: 692
Iscritto il: 03/08/2014, 13:08
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Una galassia lontana lontana...
Contatta:

Re: String(n) Full character table

Messaggio da Wolfrost »

I char in c++ ovvero benvenuti a babele :asd: Fa attenzione alla differenza fra ASCII e UNICODE, si vede che non ci hai mai sbattuto la testa lavorando con le winapi
Immagine

Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 37 ospiti