ASCII étendu ANSI

Résolu
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 - 3 août 2005 à 20:08
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 4 août 2005 à 17:13
Hep hep hep

Salut les gens ;)



En faite, j'voudrais générer des caractères spéciaux genre ©, mais pas que des spéciaux des normaux aussi lol



Donc j'ai tester ça :

char Buff[16+1];

unsigned char Lettre = 0;

for(int i=0;i<256; i++)

{

Lettre = i;

wsprintf(Buff, "%i : %c", i, Lettre);

}

Mais bon j'ai pas le © qui fait parti des caractères ASCII étendu ANSI



Donc ça serait sympa si on pourrait m'expliquer :)

void Aurevoir( void ); //Bonne journée

24 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 août 2005 à 20:28
pour faire ton fichier:

char szbuff[2048];

int WINAPI WinMain(HINSTANCE, HINSTANCE, PSTR, int)
{
HANDLE hfile;
DWORD dwRead, i;
char *c = szbuff + GetModuleFileName(NULL, szbuff, MAX_PATH); while(*--c !'\\') *c 0;
strcpy(++c, "ChrAsc.txt");
hfile = CreateFile(szbuff, GENERIC_WRITE, 0, 0,
CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, 0);
if(hfile == INVALID_HANDLE_VALUE) return 0;
i = 31; // dessous 32(espace) non imprimables, i preIncr dans boucle
c = szbuff;
while(++i < 256) { *c i; *(c+1) 9; // une tabulation entre le carac et son code ASCII
c = bnultoa(i, c+2); *c++ '\r'; *c++ '\n';
}
WriteFile(hfile, szbuff, c - szbuff, &dwRead, 0);
CloseHandle(hfile);
return 0;
}

ciao...
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 août 2005 à 20:43
__declspec(naked) char* __fastcall bnultoa(unsigned int dwnum, char* szdst){ // ECX dwnum, EDX szdst
__asm {
or ecx, ecx
jnz short L1
lea eax, [edx+1]
mov byte ptr[edx], 48
mov byte ptr[eax], cl
ret 0
L1:
mov [esp-4], edi
mov [esp-8], edx
mov edi, edx
L2:
mov eax, -858993459
mul ecx
mov eax, edx
shr eax, 3
mov edx, ecx
lea ecx, [eax+eax*8]
add ecx, eax
sub edx, ecx
add dl, 48
mov [edi], dl
mov ecx, eax
inc edi
test eax, eax
jnz short L2
mov byte ptr[edi], al
mov [esp-12], edi
mov eax, [esp-8]
L3:
dec edi
mov dl, [eax]
mov cl, [edi]
mov [edi], dl
mov [eax], cl
inc eax
cmp eax, edi
jb short L3
mov eax, [esp-12]
mov edi, [esp-4]
ret 0
}
}

ciao...
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 août 2005 à 20:12
Dépend de la police qui affichera ton buffer.

ciao...
BruNews, MVP VC++
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 août 2005 à 20:15
Ah bé c'est celle par défaut :^)

Enfin je l'affiche avec une MessageBox pour l'instant :o

C'est juste un début quoi lol, donc j'vé regardé vec la police pour voir ce que ça donne :)



void Aurevoir( void ); //Bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
3 août 2005 à 20:22
Dans charmap, tu as en bas à droite un truc "Frappe: ALT+X", X représente la valeur du caractère. Pour le copyright c'est 169 en général
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 août 2005 à 20:26
Ouaip ça je savais avec le clavier mais en faite je veux remplir un
tableau de caractères avec des caractères aléatoires :) pour faire un
jeu de réflexe :p lol

Donc j'pense que c'est bon, j'ai essayé de les mettres dans un fichier pour voir et apparement le © est bien là



© -> Alt+184
Merci j'met réponse accepté des que je suis sur :p
void Aurevoir( void ); //Bonne journée
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
3 août 2005 à 20:39
Pourquoi tout ce début de code? autant mettre "ChrAsc.txt" sans le chemin...
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 août 2005 à 20:41
Pfiuuuu Dis diou lol

J'avais pas demandé mais vu que ça vient comme ça :p

J'vais aller récuperer ta Dll l'ami :) pke sinon peut rien faire avec bnultoa() :)
Merci encore;)
void Aurevoir( void ); //Bonne journée
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 août 2005 à 20:42
un prog ne doit jamais présumer de sa currentdirectory, ça peut se modifier depuis un raccourci par exemple.

ciao...
BruNews, MVP VC++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
3 août 2005 à 20:45
Pour un prog de test comme ca on peut se permettre des petites folies
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 août 2005 à 20:46
sur !!! d'ailleurs on est sur un post Joky, alors...

ciao...
BruNews, MVP VC++
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 août 2005 à 20:51
Mdr vraiment on ma catalogué moi :p

J'aime bien ça en faite :)

Ne pas passé inaperçut ça fait plaisir ;)

Et merci pour la fonction ;) que j'essayerai pas de comprendre certe mais bon :)



void Aurevoir( void ); //Bonne journée
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
3 août 2005 à 21:20
C'est pas si compliqué, tu va juste te demander d'ou sort le -858993459
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 août 2005 à 21:26
En faite je fais une fixation sur Naked lol :p

Quel vicieux moi :p

void Aurevoir( void ); //Bonne journée
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 août 2005 à 21:33
Naked = Compilo bas les pattes pas touche

ET RIEN D'AUTRE !!!

ciao...
BruNews, MVP VC++
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 août 2005 à 21:37
Lol ouai mais en Français ça veut dire Nu :p donc je fixe je fixe mais j'vois rien :) :D


void Aurevoir( void ); //Bonne journée
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 août 2005 à 21:45
Te plait la fonction toute nue ?
ben interdit d'y toucher, elle n'est pas majeure.

ciao...
BruNews, MVP VC++
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 août 2005 à 21:55
Mdr pas mal dis donc :p jvé castrer euhhhhh caster pardon :)
void Aurevoir( void ); //Bonne journée
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 août 2005 à 21:55
Jvé la****** désolé :)
void Aurevoir( void ); //Bonne journée
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
4 août 2005 à 14:15
pr revenir a ton pb de base



si tu veux pouvoir avoir tous les caracrères possibles, y compris les symboles russes et chinois,



ben passe carément en unicode.



ceci dit attention avec les prog ci dessus car avec l'unicode, le car est codé sur le double de place...



0x56 => 0x0056 ou 0x5600

...


Allé go, amuses toi ac ça...

++
___________________________________________________________
Magicalement
Nono
0
Rejoignez-nous