'conversions----------------------------------------------------- 'programme de conversion numérique avec les outils BASCOM 'par ordre alphabétique '..ABS..ASC..BCD..MakeBCD..MakeDEC..MAKEINT...BIN..BINVAL..CHR....HEX..HEXVAL 'HIGH...HIGHW...LOW...ROTATE...SHIFT...SWAP...TOGGLE..VAL 'pour visualiser une conversion, supprimer le '(REM) avant le WAIT 'ce programme n'utilise pas la carte de programmation. 'JPDuval le 2/10 novembre 2002 '---------------------------------------------------------------- Dim Nombre As Integer Dim Secondnombre As Integer Dim Nombreword As Word Dim Nombrelong As Long Dim Nouveausingle As Single Dim Nombrebyte As Byte Dim Seconbyte As Byte Dim Mot As String * 8 '------ ABS ( ) valeur absolue d'une variable négative-------------- Nombre = -25852 Secondnombre = Abs(nombre) Print "ABS d'integer: " ; Secondnombre 'Wait 1 ' ---ce qui suit ne fonctionne pas---------------------------------- 'Nombrelong = Nombre 'Nouveausingle = Abs(nombrelong) 'Print "ABS de long : " ; Nouveausingle 'Wait 1 'ce qui suit fonctionne--------------------------------------------- Nombrelong = Nombre Nombrelong = Abs(nombrelong) Print "ABS de long : " ; Nombrelong 'Wait 1 ' -----ASC--------valeur ASCII d'une lettre ou de la première lettre d'un mot-- Mot = "Bonjour" Nombrebyte = Asc(mot) Print "ASII : " ; Nombrebyte 'Wait 1 '-----BCD------MakeBCD----MakeDEC---------------------------------- For Nombre = 1 To 20 'amusez vous à faire varier ce nombre Secondnombre = Makebcd(nombre) 'contrôlez les variables avec le simulateur. Print Secondnombre ; " " ; Bcd(secondnombre) 'MakeDEC converti une variable BCD en variable décimale (voir dictionnaire) 'Waitms 50 Next 'Wait 1 '-----MAKEINT------------------------------------------------------- Nombre = 2 Secondnombre = Makeint(nombre , 1) Print "secondnombre :" ; Secondnombre 'dites pourquoi 258 ? 'Wait 1 '-----BIN-----BINVAL------------------------------------------------ Nombre = 85 Mot = Bin(nombre) Secondnombre = Binval(mot) Print Mot ; " " ; Secondnombre 'Wait 1 '-----CHR----------------------------------------------------------- Nombre = 85 Print Nombre ; " Chr(nombre): " ; Chr(nombre) 'Wait 1 '-----HEX-----HEXVAL------------------------------------------------ Nombrelong = 43690 Mot = Hex(nombrelong) Nombrelong = Hexval(mot) Print "MOT hexa: " ; Mot ; " nombrelong: " ; Nombrelong ' Wait 1 '----HIGH----LOW---------------------------------------------------- Nombre = 515 Secondnombre = High(nombre) Nombrebyte = Low(nombre) Print "High de nombre: " ; Secondnombre 'la réponse est 1, 256=&h100 Print "low de nombre: " ; Nombrebyte 'pourqui 3 ? cherchez un peu ? 'Wait 1 '----HIGHW------------------------------------------------------- Nombrelong = &H12345678 Nombreword = High(nombrelong) Print "highw de nombrelong: " ; Hex(nombreword) 'Wait 1 '----ROTATE------SHIFT------------------------------------------- Nombrebyte = 186 Print Nombrebyte ; "=" ; Bin(nombrebyte) Rotate Nombrebyte , Left , 2 Print "rotate: " ; Bin(nombrebyte) ; " " ; Nombrebyte Shift Nombrebyte , Left , 2 Print "shift: " ; Bin(nombrebyte) ; " " ; Nombrebyte 'Wait 1 '-----SWAP-----------TOGGLE------------------------------------- Nombre = 185 Secondnombre = 581 Print "nb 1 nb2 :" ; Nombre ; " " ; Secondnombre Swap Nombre , Secondnombre Print "nb 1 nb2 :" ; Nombre ; " " ; Secondnombre 'TOGGLE change d'état une variable BIT, cette commande est aussi utilisée 'dans les commandes de ports, voir Dictionnaire. 'Wait 1 '-----VAL-------------------------------------------------------- Mot = "2857" Nombre = Val(mot) Nombre = Nombre * 2 Print "Mot X 2 " ; Nombre Wait 1 End