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.
Une petite calculette en Hexa Emptypar Jack Aujourd'hui à 9:03

» Un autre pense-bête...
Une petite calculette en Hexa Emptypar Froggy One Jeu 21 Nov 2024 - 14:54

» Récupération du contenu d'une page html.
Une petite calculette en Hexa Emptypar Pedro Sam 16 Nov 2024 - 13:04

» Décompilation
Une petite calculette en Hexa Emptypar JL35 Mar 12 Nov 2024 - 18:57

» Un album photos comme du temps des grands-mères
Une petite calculette en Hexa Emptypar jjn4 Mar 12 Nov 2024 - 16:23

» traitement d'une feuille excel
Une petite calculette en Hexa Emptypar jjn4 Jeu 7 Nov 2024 - 2:52

» Aide-mémoire mensuel
Une petite calculette en Hexa Emptypar jjn4 Lun 4 Nov 2024 - 17:56

» Des incomprèhension avec Timer
Une petite calculette en Hexa Emptypar Klaus Mer 30 Oct 2024 - 17:26

» KGF_dll - nouvelles versions
Une petite calculette en Hexa Emptypar Klaus Mar 29 Oct 2024 - 16:58

» instructions panoramic
Une petite calculette en Hexa Emptypar maelilou Lun 28 Oct 2024 - 18:51

» Figures fractales
Une petite calculette en Hexa Emptypar Marc Ven 25 Oct 2024 - 10:18

» Panoramic et Scanette
Une petite calculette en Hexa Emptypar Yannick Mer 25 Sep 2024 - 20:16

» Editeur d étiquette avec QR évolutif
Une petite calculette en Hexa Emptypar JL35 Lun 23 Sep 2024 - 20:40

» BUG QR Code DelphiZXingQRCode
Une petite calculette en Hexa Emptypar Yannick Dim 22 Sep 2024 - 9:40

» fichier.exe
Une petite calculette en Hexa Emptypar leclode Ven 20 Sep 2024 - 17: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 €

 

 Une petite calculette en Hexa

Aller en bas 
2 participants
AuteurMessage
JL35




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

Une petite calculette en Hexa Empty
MessageSujet: Une petite calculette en Hexa   Une petite calculette en Hexa EmptyMer 7 Avr 2010 - 22:01

Pour ceux qui voudraient bricoler avec le binaire et en particulier avec l'hexadécimal (n'est-ce pas ygeronimi) une petite calculette qui fait les calculs et les conversions décimal/hexa.
Elle ne gère que les nombres entiers, donc pas de virgule.
Code:
' Calcul.bas calculette décimal/hexadécimal
DIM i%, j%, k%, d, vh$, lh%, ope$
DIM lb, hb, e, xb, yb, nb, nb1, nb2, nba, a$, ybc, lbc, yl, la, va, vm, v$, Mode$
DIM xbr, hl, nbh
LABEL Touche, Affich, Ret, DecHex, HexDec

DATA "0", "1", "2", "3"
DATA "4", "5", "6", "7"
DATA "8", "9", "A", "B"
DATA "C", "D", "E", "F"
DATA "+", "-", "x", "/", "="

lb = 30: hb = 20: e = 5: xb = 10: yl = 10: hl = hb+5
yb = yl + hl + 10: la = 10
Mode$ = "D": ' mode décimal
WIDTH 0, 5*(lb+e)+30: HEIGHT 0, yb+5*(hb+e)+40
COLOR 0, 128, 64, 0
CAPTION 0, " CALCULETTE"

nba = 30: nbh = nba + 1
LIST nba: TOP nba, yl: LEFT nba, xb: WIDTH nba, 4*lb+3*e: HEIGHT nba, hl
FONT_NAME nba, "Courier New": FONT_SIZE nba, 15: FONT_BOLD nba
COLOR nba, 220, 255, 255

LIST nbh: TOP nbh, yl: LEFT nbh, xb+4*(lb+e)+e: WIDTH nbh, lb-2*e: HEIGHT nbh, hl
COLOR nbh, 255, 200, 200: FONT_BOLD nbh
FONT_SIZE nbh, 12: ITEM_ADD nbh, Mode$

nb1 = 1: ' 16 touches chiffres de 1 à 16
FOR j% = 4 TO 1 STEP -1
    FOR i% = 0 TO 3
        READ a$: vh$ = a$: GOSUB HexDec: nb = d + 1
        BUTTON nb: TOP nb, yb + j%*(hb+e): LEFT nb, xb + i%*(lb+e)
        WIDTH nb, lb: HEIGHT nb, hb
        FONT_SIZE nb, 14: CAPTION nb, a$
    NEXT i%
NEXT j%
nb = 17
xbr =xb + 4*(lb+e): ' 5 touches opérations de 17 à 21
FOR j% = 4 TO 0 STEP -1
    BUTTON nb: TOP nb, yb + j%*(hb+e): LEFT nb, xbr
    WIDTH nb, lb: HEIGHT nb, hb
    READ a$: FONT_SIZE nb, 14: CAPTION nb, a$
    nb = nb + 1
NEXT j%

lbc = 3*lb/2+3
BUTTON nb: TOP nb, yb: LEFT nb, xb: WIDTH nb, lbc: HEIGHT nb, hb
FONT_SIZE nb, 11: CAPTION nb, "DEC": ' touche 22
nb = nb + 1
BUTTON nb: TOP nb, yb: LEFT nb, xb+lbc+e: WIDTH nb,lbc: HEIGHT nb, hb
FONT_SIZE nb, 11: CAPTION nb, "HEX": ' touche 23
nb = nb + 1
BUTTON nb: TOP nb, yb: LEFT nb, xb + 3*(lb+e): WIDTH nb, lb: HEIGHT nb, hb
FONT_SIZE nb, 14: CAPTION nb, "Clr": ' touche 24
nb2 = nb
FOR i% = nb1 TO nb2: ON_CLICK i%, Touche: NEXT i%

va = 0: vm = 0: GOSUB Affich

END

Touche:
FOR i% = nb1 TO nb2
    IF CLICKED(i%) = 1 THEN EXIT_FOR
NEXT i%
IF i% < 17: ' touche chiffre (0 à 9 ou F)
    IF Mode$ = "H"
        va = va * 16
    ELSE
        IF i% > 10 THEN GOTO Ret
        va = va * 10
    END_IF
    va = va + i% - 1
    ' GOTO Ret
END_IF
SELECT i%
CASE 17: ope$ = "+": vm = va: va = 0
CASE 18: ope$ = "-": vm = va: va = 0
CASE 19: ope$ = "x": vm = va: va = 0
CASE 20: ope$ = "/": vm = va: va = 0
CASE 21: ' = calcul opération
    IF ope$ = "+"
        va = vm + va
    ELSE
        IF ope$ = "-"
            va = vm - va
        ELSE
            IF ope$ = "x"
                va = vm * va
            ELSE
                va = INT(vm/va)
            END_IF
        END_IF
    END_IF
    vm = 0
CASE 22: ' IF Mode$ = "D" THEN GOTO Ret
    Mode$ = "D": CLEAR nbh: ITEM_ADD nbh, "D"
CASE 23: ' IF Mode$ = "H" THEN GOTO Ret
    Mode$ = "H": CLEAR nbh: ITEM_ADD nbh, "H"
CASE 24: va = 0: vm = 0
END_SELECT
GOSUB Affich
Ret:
RETURN

Affich:
IF Mode$ = "D"
    v$ = STR$(va)
ELSE
    d = va: GOSUB DecHex: v$ = vh$
END_IF
v$ = RIGHT$(STRING$(la, " ") + v$, la)
CLEAR nba: ITEM_ADD nba, v$
RETURN

DecHex:
' conversion décimal/hexa de d, résultat vh$ (complété si utile à lh% caractères)
vh$="": IF lh% < 1 THEN lh% = 1
REPEAT
    vh$ = MID$("0123456789ABCDEF", 16*(d/16-INT(d/16))+1, 1) + vh$: d = INT(d/16)
UNTIL d <= 0
IF LEN(vh$) < lh% THEN vh$ = STRING$(lh% - LEN(vh$), "0") + vh$
RETURN

HexDec:
' conversion hexadécimal/décimal de vh$, résultat dans d
d = 0
FOR k% = 1 TO LEN(vh$)
    d = d*16 + INSTR("0123456789ABCDEF", MID$(vh$, k%, 1))-1
NEXT k%
RETURN
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Une petite calculette en Hexa Empty
MessageSujet: +++   Une petite calculette en Hexa EmptyMer 7 Avr 2010 - 22:48

Bien, cette petite calculette, avec tes vérifications
d'hier, justement je me disais que j'avais besoin d'un truc comme ça
Mais dans la foulée, tu aurais pu y mettre aussi le binaire,
et pourquoi pas l'octal
et pendant qu'on y est, tous les systèmes numériques...
Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




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

Une petite calculette en Hexa Empty
MessageSujet: Re: Une petite calculette en Hexa   Une petite calculette en Hexa EmptyJeu 8 Avr 2010 - 8:14

Le binaire et l'octal, aucun intérêt !
Le binaire ça se fait le crayon à la main. et l'octal c'était il y a 40 ans, quand les bits étaient regroupés par 2x3 (et non par 2x4 comme maintenant).
Revenir en haut Aller en bas
Invité
Invité




Une petite calculette en Hexa Empty
MessageSujet: Re: Une petite calculette en Hexa   Une petite calculette en Hexa EmptyJeu 8 Avr 2010 - 21:42

Dommage que j'aie écrasé le programme parce que moi aussi j'avais un calculatrice (pas en hexa)

Tiens j'ai quand même un exécutable :
http://dl.free.fr/uCtyRLA3B/Calculatrice.exe


P.S :
- J'ai pus mon code alors il y a quelques bugs
- Quand on fait 1 + 1 + 1, ça donne 3 et pas 2 contrairement à l'exemple de Jack.
Revenir en haut Aller en bas
Contenu sponsorisé





Une petite calculette en Hexa Empty
MessageSujet: Re: Une petite calculette en Hexa   Une petite calculette en Hexa Empty

Revenir en haut Aller en bas
 
Une petite calculette en Hexa
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Calculette Décimal/Hexa sous forme de Sub
» Une calculette basique pour les enfants
» conversion hexa
» Conversions Décimal<->Hexa
» conversion héxa en décimal

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: