FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Planétarium virtuel.
par Pedro Alvarez Hier à 16:57

» Roues dentées
par jean_debord Hier à 10:40

» Attention arnaque !
par mindstorm Jeu 19 Juil 2018 - 19:18

» Qui fait quoi ?
par silverman Mer 18 Juil 2018 - 15:21

» ITEM_SELECT N,L pour synedit
par silverman Mer 18 Juil 2018 - 15:20

» Boussole
par jean_debord Mer 18 Juil 2018 - 11:06

» Roue à n faces
par Marc Dim 15 Juil 2018 - 22:16

» Exemple d'une nouvelle version d'un GRID
par Jean Claude Ven 13 Juil 2018 - 10:32

» Une simple question
par Oscaribout Sam 7 Juil 2018 - 23:20

» BUG sur l'objet TAB
par Jack Sam 7 Juil 2018 - 21:12

» Monopoly moderne
par jjn4 Sam 7 Juil 2018 - 15:06

» Récapitulatif ludothèque panoramic jjn4
par jjn4 Ven 6 Juil 2018 - 17:41

» Lignes ondulées
par JL35 Ven 6 Juil 2018 - 17:39

» bug off_activate 0 : sans d'effet
par silverman Ven 6 Juil 2018 - 13:02

» Position des objets d'un conteneur dans FBPano et Panoramic
par Navigateur Ven 6 Juil 2018 - 12:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2018
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Comment créer des variables entières de 1 octet ?

Aller en bas 
AuteurMessage
jean_debord

avatar

Nombre de messages : 817
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Comment créer des variables entières de 1 octet ?   Lun 2 Avr 2018 - 11:07

Un utilisateur de FBPano a demandé comment créer des variables entières de 1 octet pour y stocker des codes ASCII.

Or, d'après la documentation (fbpano.htm --> Les fonctions non graphiques de FBPano --> Variables) :

Code:

   * nombre entier de taille variable : la déclaration utilise toujours le suffixe `%` suivi
     d'une étoile et de la taille du nombre en octets, et éventuellement de la lettre `u` si
     l'entier est non signé (_unsigned_). Il ne doit pas y avoir d'espaces entre ces différents
     éléments.

            Notation        Type de l'entier                  Minimum                Maximum
            --------------------------------------------------------------------------------
            i%*1            8 bits signé                         -128                    127
            i%*1u           8 bits non signé                        0                    255

            i%*2           16 bits signé                       -32768                  32767
            i%*2u          16 bits non signé                        0                  65535

            i%*4 ou i%     32 bits signé                  -2147483648             2147483647
            i%*4u          32 bits non signé                        0             4294967295

            i%*8           64 bits signé         -9223372036854775808    9223372036854775807
            i%*8u          64 bits non signé                        0   18446744073709551615


        Les entiers habituels sont du type « 32 bits signés » :
        on peut donc omettre l'indication de taille lors de leur déclaration.

Ici nous voulons stocker des codes allant de 0 à 255, donc nous choisissons le type "entier de 8 bits non signé", soit :

Code:

dim i%*1u
i = asc("A")

Bien sûr nous pouvons faire des tableaux :

Code:

dim n%*1u(10)
dim a$
dim i%

a = "Bonjour"
for i = 1 to len(a)
  n(i) = asc(mid(a, i, 1))
next i

et même une procédure qui convertit automatiquement (ici le tableau est dimensionné par la procédure, donc nous le déclarons sans dimension).

Code:

dim na%*1u(), nb%*1u(), i%

str2code "Bonjour", na()
str2code "Comment allez-vous ?", nb()

for i = 1 to ubound(na)
  print na(i)
next i

print

for i = 1 to ubound(nb)
  print nb(i)
next i

end

sub str2code(a$, n%*1u())
  dim i%, L%
  L = len(a)
  redim n%*1u(L)
  for i = 1 to L
    n(i) = asc(mid(a, i, 1))
  next i
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
 
Comment créer des variables entières de 1 octet ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Menu création de variables
» [RESOLU] COMMENT LIER UNE VARIABLE A UNE RICHTEXT BOX
» comment desinstaller pcconfidentiel schredder [Résolu]
» Comment éviter la majorité des infections virales
» Comment interdire à l'utilisateur de mettre la fenêtre en " grand écran " ? [RESOLU]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Grands projets réalisés avec Panoramic :: Compilateur FBPANO-
Sauter vers: