FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
convertisseur decimal -> hexadecimal Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
convertisseur decimal -> hexadecimal Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
convertisseur decimal -> hexadecimal Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
convertisseur decimal -> hexadecimal Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
convertisseur decimal -> hexadecimal Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
convertisseur decimal -> hexadecimal Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
convertisseur decimal -> hexadecimal Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
convertisseur decimal -> hexadecimal Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
convertisseur decimal -> hexadecimal Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
convertisseur decimal -> hexadecimal Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
convertisseur decimal -> hexadecimal Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
convertisseur decimal -> hexadecimal Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
convertisseur decimal -> hexadecimal Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
convertisseur decimal -> hexadecimal Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
convertisseur decimal -> hexadecimal Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 convertisseur decimal -> hexadecimal

Aller en bas 
3 participants
AuteurMessage
Tengaal

Tengaal


Nombre de messages : 13
Age : 50
Localisation : France
Date d'inscription : 12/01/2010

convertisseur decimal -> hexadecimal Empty
MessageSujet: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 18:37

Bonjour à tous !

Je suis un petit nouveau sur ce forum, (mais 36 ans quand même ! Rolling Eyes Laughing ) et j'ai découvert Panoramic il y a quelques jours, par hasard sur le web, et j'accroche bien !

je suis développeur/infographiste spécialisé en production 3D ( www.3dweave.com), je connais donc différents langages de programmation (Delphi, C++, langages scripts divers, Java, etc...) et j'ai beaucoup de plaisir à utiliser Panoramic pour tester de petit bouts de code rapidement, avec un éditeur hyper léger, utilisable de façon "nomade" sur n'importe quel machine.

Bref, pour mon arrivée ici, je donne un petit script qui est un simple convertisseur décimal vers hexadécimal.

Dans mon script, je n'ai pas ajouté de système de test pour vérifier si la valeur entrée par l'utilisateur est correcte ou pas (pas de texte, pas de champ vide, pas de valeur supérieure à 16777215)

Ce convertisseur génère donc un nombre hexadecimal formatté sur 6 caractères, soit une valeur de 000000 à FFFFFF (soit 16777215 en décimal).

Pour traiter des valeurs supérieures c'est très simple en lisant le script, on comprend la méthode. Avec cette méthode on peut aller bien au-delà...

Quelques explications :
On commence par la caractère qui se trouve le plus à gauche de la valeur hexa finale,pour cela on divise la valeur décimale par 1048576 (soit en hexa 100000), on en prend que la valeur entière, ce qui nous donne la valeur du 1er caractère hexa à traiter, donc une valeur entre 0 et 15.
si cette valeur est inférieure à 10, alors le caractère hexa est une simple conversion de la valeur, si la valeur est supérieure à 9 alors elle doit être converti en caractère de A (10) à F (15).
Pour cela j'utilise simplement la table ASCII dont le code chr$(65) est "A", donc si b=12, alors on lui soustrait 10, ce qui donne 2, que l'on additionne à 65, ce qui donne chr$(67) soit "C".

une fois ce caractère traité on passe au suivant (2e caractère).
Pour cela, on ne garde de la valeur décimale initiale que le reste de la division par 1048576.
Et on refait ensuite la même chose à partir de cette nouvelle valeur à convertir, cette fois en la divisant par 65536 (soit en hexa 10000), etc...

on réalise donc 6 conversions de cette façon, pour générer nos 6 caractère qui vont composer la valeur hexadecimale.

Voici le script :

Citation :
dim h1$,h2$,h3$,h4$,h5$,h6$
dim v$,b,c,d

label On_Click_Button_3
left 0,463
top 0,355
width 0,188
height 0,154
caption 0,"Dec -> Hex"

edit 1
left 1,28
top 1,19
text 1,"12345678" : rem valeur 0 à 16777215

button 3
left 3,50
top 3,49
caption 3,"Convertir"
on_click 3,On_Click_Button_3

edit 2
left 2,30
top 2,81
text 2,"Résultat..." : rem valeur 000000 à FFFFFF

end


rem quand on clic sur le bouton "Convertir"
On_Click_Button_3:

v$=text$(1): rem on lit le contenu texte de "Edit 1"
d=val(v$): rem on converti le contenu en valuer decimale

rem CONVERTISSEUR DECIMAL -> HEXADECIMAL -----------------
c=d : rem on copie la valeur dans "c" pour conserver "d".

rem 1er caractere de la valeur Hexa
b=int(c/1048576): h1$=str$(b): if (b>9) then h1$=chr$(b-10+65): rem "A" à "F"

rem 2e caractere de la valeur Hexa
c=c-b*1048576
b=int(c/65536): h2$=str$(b): if (b>9) then h2$=chr$(b-10+65): rem "A" à "F"

rem 3e caractere de la valeur Hexa
c=c-b*65536
b=int(c/4096): h3$=str$(b): if (b>9) then h3$=chr$(b-10+65): rem "A" à "F"

rem 4e caractere de la valeur Hexa
c=c-b*4096
b=int(c/256): h4$=str$(b): if (b>9) then h4$=chr$(b-10+65): rem "A" à "F"

rem 5e caractere de la valeur Hexa
c=c-b*256
b=int(c/16): h5$=str$(b): if (b>9) then h5$=chr$(b-10+65): rem "A" à "F"

rem 6e caractere de la valeur Hexa
b=c-b*16: h6$=str$(b): if (b>9) then h6$=chr$(b-10+65): rem "A" à "F"

rem on inscrit la valeur hexa sur 6 caracteres dans "Edit 2"
text 2,h1$+h2$+h3$+h4$+h5$+h6$
return

Tengaal.
Infographiste/developpeur/formateur 3D pour 3D Weave et son site d'images 3D Pixs


Dernière édition par Tengaal le Mar 12 Jan 2010 - 19:32, édité 2 fois
Revenir en haut Aller en bas
http://www.tengaal.com
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 18:45

Bienvenue à toi, enfin quelqu'un qui s'intéresse à l'hexadécimal...

Edit: j'ai déjà fait ça quelque part:
https://panoramic.1fr1.net/vos-sources-vos-utilitaires-a-partager-f2/travaux-pratiques-dump-fichier-t27.htm?sid=62fc388bb89a2401da601632772d4ccc
le sous-programme ConvHex.
Revenir en haut Aller en bas
Tengaal

Tengaal


Nombre de messages : 13
Age : 50
Localisation : France
Date d'inscription : 12/01/2010

convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 18:53

Wink

Dans pas mal de mes codes j'ai souvent eu à devoir effectuer des conversions de types, donc c'est le genre de petit bout de code qui est toujours pratique à avoir sous le coude.
Idem pour le travail sur les valeurs en binaires, ça fait parti des manipulations de valeurs intéressantes à utiliser...

Je pense que je vais avoir un paquet de choses à venir poster ici ! Wink

EDIT: oui j'avais vu ton script de conversion d'octet lu en hexa.


Dernière édition par Tengaal le Mar 12 Jan 2010 - 19:43, édité 2 fois
Revenir en haut Aller en bas
http://www.tengaal.com
Jack
Admin
Jack


Nombre de messages : 2394
Date d'inscription : 28/05/2007

convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 19:01

Citation :
Je pense que je vais avoir un paquet de choses à venir poster ici !
Bienvenue, et n'hésites surtout pas à partager tes codes avec la communauté PANORAMIC !
Plus la logithèque sera importante et plus ce langage attirera du monde.

Bienvenue pour une grande et longue aventure avec PANORAMIC
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Tengaal

Tengaal


Nombre de messages : 13
Age : 50
Localisation : France
Date d'inscription : 12/01/2010

convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 19:12

merci pour l'accueil ! Wink
Revenir en haut Aller en bas
http://www.tengaal.com
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 21:04

Je précise que mon sous-programme cité plus haut ne convertit pas seulement un octet, mais une valeur quelconque, et il suffit de préciser en entrée la taille du résultat rendu en Hexa.

Tu as raison, c'est toujours intéressant d'avoir une collection (bibliothèque) de petits sous-programmes de conversion ou autres, pour ne pas réinventer la poudre à chaque fois.
Revenir en haut Aller en bas
Tengaal

Tengaal


Nombre de messages : 13
Age : 50
Localisation : France
Date d'inscription : 12/01/2010

convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 21:39

En effet, ton algorithme de conversion hexa est une méthode bien différente de la mienne, c'est ça que j'aime en programmation:
on a des données de départ, on sait ce qu'on veut obtenir à l'arrivée, et entre les deux, il y a toujours plusieurs façons de développer le lien ! Wink
Revenir en haut Aller en bas
http://www.tengaal.com
Invité
Invité




convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 22:22

Super ton code Tengaal !

JL35 à raison de dire :
Citation :
enfin quelqu'un qui s'intéresse à l'hexadécimal...

Pour que si on entre du texte ou une valeur trop longue j'ai rajouté un bout de code. Je suppose que Tengaal là fait aussi.

Code:
dim h1$,h2$,h3$,h4$,h5$,h6$
dim v$,b,c,d

label On_Click_Button_3
left 0,463
top 0,355
width 0,188
height 0,154
caption 0,"Dec -> Hex"

edit 1
left 1,28
top 1,19
text 1,"12345678" : rem valeur 0 à 16777215

button 3
left 3,50
top 3,49
caption 3,"Convertir"
on_click 3,On_Click_Button_3

edit 2
left 2,30
top 2,81
text 2,"Résultat..." : rem valeur 000000 à FFFFFF

end


rem quand on clic sur le bouton "Convertir"
On_Click_Button_3:
rem vérification
if numeric(text$(1))=0 then message "Le texte n'est pas accepté !":text 1,"12345678":return
if (len(text$(1))<1) then message "Erreur !              ":text 1,"12345678":return
if (len(text$(1))>9) then message "Erreur !              ":text 1,"12345678":return

v$=text$(1): rem on lit le contenu texte de "Edit 1"
d=val(v$): rem on converti le contenu en valuer decimale

rem CONVERTISSEUR DECIMAL -> HEXADECIMAL -----------------
c=d : rem on copie la valeur dans "c" pour conserver "d".

rem 1er caractere de la valeur Hexa
b=int(c/1048576): h1$=str$(b): if (b>9) then h1$=chr$(b-10+65): rem "A" à "F"

rem 2e caractere de la valeur Hexa
c=c-b*1048576
b=int(c/65536): h2$=str$(b): if (b>9) then h2$=chr$(b-10+65): rem "A" à "F"

rem 3e caractere de la valeur Hexa
c=c-b*65536
b=int(c/4096): h3$=str$(b): if (b>9) then h3$=chr$(b-10+65): rem "A" à "F"

rem 4e caractere de la valeur Hexa
c=c-b*4096
b=int(c/256): h4$=str$(b): if (b>9) then h4$=chr$(b-10+65): rem "A" à "F"

rem 5e caractere de la valeur Hexa
c=c-b*256
b=int(c/16): h5$=str$(b): if (b>9) then h5$=chr$(b-10+65): rem "A" à "F"

rem 6e caractere de la valeur Hexa
b=c-b*16: h6$=str$(b): if (b>9) then h6$=chr$(b-10+65): rem "A" à "F"

rem on inscrit la valeur hexa sur 6 caracteres dans "Edit 2"
text 2,h1$+h2$+h3$+h4$+h5$+h6$
return

P.S : Moi je ne me suis jamais intéresser à l'hexadécimal. Et Tengaal c'était une truc de citation que tu as mit et non un truc de code. Pas grave tout le monde fait des erreurs.
Revenir en haut Aller en bas
Tengaal

Tengaal


Nombre de messages : 13
Age : 50
Localisation : France
Date d'inscription : 12/01/2010

convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 22:36

ah oui, j'ai l'habitude sur les forums de mettre les scripts et autres infos avec des balises "citation"...

c'est quoi la différence entre les balise "citation" et les balise "code" ?
je vois que c'est la même chose, le script est affiché dans un encadré blanc dans les 2 cas, sinon il y a juste le non de l'entête qui change, non ?

mais bon la prochaine fois je ferais attention, pas de soucis ! Wink
Revenir en haut Aller en bas
http://www.tengaal.com
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal EmptyMar 12 Jan 2010 - 22:59

Oui, finalement la balise Citer est plus compacte mais presque plus lisible que la balise Code, les caractères sont plus foncés.
Simplement la police n'est pas fixe, et ça c'est moins bien.
Revenir en haut Aller en bas
Contenu sponsorisé





convertisseur decimal -> hexadecimal Empty
MessageSujet: Re: convertisseur decimal -> hexadecimal   convertisseur decimal -> hexadecimal Empty

Revenir en haut Aller en bas
 
convertisseur decimal -> hexadecimal
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Convertisseur binaire vers décimal / Hexadécimal
» Convertisseur Décimal ---> Binaire, Octal, Hexadécimal, ...
» Conversion des bases : binaire, octal, decimal, héxadécimal
» Convertisseur coordonnées géographiques sexagécimal décimal
» Calculette Décimal/Hexa sous forme de Sub

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: