Votre navigateur ne semble pas prendre en charge le langage JavaScript, vous risquez de ne pas pouvoir accéder à certaines ressources!
Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la
charte
sera déplacé, modifié, ou supprimé par nos
modérateurs
.
Forum Langages
»
Pascal / Delphi
»
conversion decimale hexadécimale sous pascal
Dauof
Visiteur
- Posté le 13/04/2006 à 09:31
bonjour, je cherche à faire une conversion décimale en héxadécimale et vice versa, merci pour votre aide
neliger
Webmaster
- Posté le 15/04/2006 à 01:42
J'ai pu trouver la source suivante :
http://turbo-pascal.developpez.com/utilitaire/convert.zip
Il s'agit d'un petit programme de convertion en décimal/binaire/hexadécimal, un petit coup d'oeil à la source répondra donc certainement à ta question.
Si tu y trouve ton bonheur, n'hésite pas à revenir ici poster la réponse, qui aidera d'autres développeurs qui pourraient se poser la même question que toi
Computaid SPRL - Conception - Développement - Infogérance :
http://www.computaid.be
eTigris - Hébergement mutualisé - Serveurs dédiés :
http://www.etigris.com
dauof
Visiteur
Windows NT
Msie 6 - Posté le 20/04/2006 à 10:05
Je te remercie pour ton aide, je vais essayer de m'inspirer de ce bout de soft pour finaliser mon développement qui consite à programmer des EPROMs, au cas où ça marche je n'hésiterais pas à tenir au courant tout le monde.
Mic**
Visiteur
Windows XP
Msie 7.0 - Posté le 23/03/2008 à 15:28
Salut
un petit programme simple pour convertire sur 32 BITs dans les trois bases:
USES
Crt;
{by zaitri michel france year 2005 Email:michel.zaitri@orange.fr
A modifier à Volonté m & j }
TYPE
chaine = STRING[16];
VAR
x,trad,bs,ch,car,ch1 : STRING;
chb,chq,chn : chaine;
nombre,nombreh,nombreb,c,d,i : LONGINT;
x1, x2,init,cy,color,b,ii,co : INTEGER;
p : pointer;
depart : CHAR;
size : WORD;
{=========================================================================}
{affiche le cadre du module de conversion}
PROCEDURE face;
BEGIN
TextColor(15);
TextBackground(0);
GoToXY(16,6);
TextColor(3);
TextBackground(0);
Write('Conversion D‚cimale Hexad‚cimale Binaire');
TextColor(10);
TextBackground(0);
GoToXY(1,7);
Write(' ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²');
TextColor(2);
TextBackground(0);
Write('»');
TextColor(10);
TextBackground(0);
GoToXY(1,8);
Write(' ²');
TextColor(3);
TextBackground(0);
Write('d');
GoToXY(58,8);
TextColor(10);
TextBackground(0);
Write('²');
TextColor(2);
TextBackground(0);
Write('º');
TextColor(10);
TextBackground(0);
GoToXY(1,9);
Write(' ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²');
TextColor(2);
TextBackground(0);
Write('º');
TextColor(10);
TextBackground(0);
GoToXY(1,10);
Write(' ²');
TextColor(3);
TextBackground(0);
Write('h');
GoToXY(58,10);
TextColor(10);
TextBackground(0);
Write('²');
TextColor(2);
TextBackground(0);
Write('º');
TextColor(10);
TextBackground(0);
GoToXY(1,11);
Write(' ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²');
TextColor(2);
TextBackground(0);
Write('º');
TextColor(10);
TextBackground(0);
GoToXY(1,12);
Write(' ²');
TextColor(3);
TextBackground(0);
Write('b');
GoToXY(58,12);
TextColor(10);
TextBackground(0);
Write('²');
TextColor(2);
TextBackground(0);
Write('º');
TextColor(10);
TextBackground(0);
GoToXY(1,13);
Write(' ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²By²M&J²²²²²²²²²²');
TextColor(2);
TextBackground(0);
Write('º');
GoToXY(15,14);
Write('ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ');
TextColor(11);
END;
{=========================================================================}
{convertit un d‚cimal en hexa}
PROCEDURE bb(q:LONGINT;
VAR b:INTEGER;
VAR chq:chaine);
VAR
r:LONGINT;
BEGIN
chb := '0123456789ABCDEF';
b := 16;
IF q > 0 THEN BEGIN
r := q MOD b;
q := q DIV b;
bb (q,b,chq);
chq := Concat (chq,Copy(chb,r+1,1)) END
ELSE chq := '';
END;
{=========================================================================}
{extrait x caractŠres d'une chaine}
FUNCTION mid(chaine:STRING;
deb:BYTE;
long:BYTE):STRING;
BEGIN
mid:=Copy(chaine,deb,long);
END;
{=========================================================================}
{convertit un d‚cimal en binaire}
PROCEDURE bin(y:INTEGER;
binair:LONGINT);
VAR
c,i :LONGINT;
co,ii :BYTE;
BEGIN
c:= binair;
FOR ii := 32 DOWNTO 1 DO BEGIN
i:=ii;
i :=(c*2) SHR i AND 1;
Write (i);
nombreb := nombreb + i;
END;
END;
{=========================================================================}
{convertit un binaire en d‚cimal}
PROCEDURE bin_deci (ch:STRING);
BEGIN
ch1:='';
car:='';
i:=1;
d:=0;
co := Length (ch);
FOR ii := co DOWNTO 1 DO ch1 := ch1 + mid(ch,ii,1);
FOR ii := 1 TO co DO BEGIN
car := mid(ch1,ii,1);
IF car = '1' THEN BEGIN
d:= d +i ;
END;
i:=i +i;
END;
nombre := d;
END;
{=========================================================================}
{=========================================================================}
{programme principal}
BEGIN
REPEAT
ClrScr;
face;
GoToXY(18,8);
Write ('CONVERTION V: 1.0 ');
GoToXY(18,10);
Write ('entrez la base de d‚part (D H ou B)');
GoToXY(18,12);
depart := ReadKey;
IF depart = Chr(27) THEN Halt(1);
Write ('base '+ depart);
Delay(500);
GoToXY(18,8);
Write(' ');
GoToXY(18,10);
Write(' ');
GoToXY(18,12);
Write(' ');
CASE depart OF
'h','H' : BEGIN
GoToXY(18,8);
Write ('entrez le nombre a traduire pr‚c‚d‚ de $');
GoToXY(18,10);
REPEAT
depart := ReadKey;
IF depart <> #13 THEN trad := trad + depart;
Write (depart);
UNTIL depart = #13;
x2 := Length (trad);
GoToXY(18,10);
Write(' ');
GoToXY(18,10);
Write (mid(trad,2,x2));
Val(trad,nombreh,x1);
Str(nombreh,trad);
GoToXY(18,8);
Write(' ');
GoToXY(18,8);
Write (nombreh);
GoToXY(18,12);
bin(1,nombreh);
END;
'd','D' : BEGIN
GoToXY(18,12);
Write ('entrez le nombre a traduire');
GoToXY(18,8);
trad := ' ';
nombre := 0;
REPEAT
depart := ReadKey;
IF depart <> #13 THEN trad := trad + depart;
Write (depart);
IF depart = #13 THEN BEGIN
bs := Copy(trad,2,Length (trad));
trad := bs;
END;
UNTIL depart = #13;
x2 := Length (trad);
Val(trad,nombre,x1);
Str(nombre,trad);
IF nombre <> 0 THEN BEGIN
GoToXY(18,10);
Write(' ');
GoToXY(18,10);
bb(nombre,b,chn);
Write (chn);
END;
GoToXY(18,12);
Write(' ');
GoToXY(18,12);
bin(1,nombre);
END;
'b','B' : BEGIN
GoToXY(18,10);
Write ('entrez le nombre a traduire');
GoToXY(18,12);
trad := ' ';
nombre := 0;
REPEAT
depart := ReadKey;
IF depart <> #13 THEN trad := trad + depart;
Write (depart);
UNTIL depart = #13;
GoToXY(18,8);
Write(' ');
GoToXY(18,8);
x1:=Length(trad);
ch := mid(trad,2,x1);
x1:=Length(ch);
bin_deci(ch);
IF nombre <> 0 THEN BEGIN
GoToXY(18,8);
Write(' ');
GoToXY(18,8);
Write (nombre);
GoToXY(18,10);
Write(' ');
GoToXY(18,10);
bb(nombre,b,chn);
Write (chn);
END;
END;
END;
depart := ReadKey;
nombre :=0;
nombreh :=0;
nombreb :=0;
trad:='';
ch :='';
x1:=0;
x2 :=0;
UNTIL depart = Chr(27);
END.
Poster une réponse
Message
Formatage
Note: pour partager du code source, merci d'utiliser le
wall
!
Smileys
Pseudonyme
Recopiez le code
v6 ©
Computaid SPRL
2005-2008 - Tous droits réservés -
Hébergé par eTigris
- Page générée en 0,057 s -
Crédits
-
Stats
Forums
ProgBoards » Annonces
ProgBoards » Développement
ProgBoards » Café
ProgBoards » Petites annonces
Informatique » Algorithmes
Informatique » Logiciel
Informatique » Matériel
Informatique » Graphisme
Informatique » Sécurité
Langages » BASIC
Langages » Pascal / Delphi
Langages » C & Cie.
Langages » Assembleur
Langages » Java
Langages » Autres Langages
Langages » Bibliothèques
Web » HTML / XML
Web » PHP / ASP
Web » Flash & Autres
Groupes de travail » FlexProject
Groupes de travail » Kovu (Bot IRC)
Groupes de travail » PHPMonitoring
Documentation » Linux / Unix
Documentation » ProgBoards
Documentation » QBasic
Documentation » C & Cie.
Ecologie » Solaire
Ecologie » Transport
Liste des forums
Membres
Inscrivez-vous
Mot de passe perdu?
Liste des membres
Groupes
Liste des groupes
Projets
Liste des projets
Logithèque
Les logiciels libres
Outils
Wall (codes sources)
Timestamp Unix
Interrogation whois
Goodies
T'chat IRC
#progboards (3)
Quotes IRC
1