IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Déclaration de tableaux globaaux statiques dans une unité


Sujet :

Langage Delphi

  1. #1
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut Déclaration de tableaux globaaux statiques dans une unité
    Bonjour à tous,

    J'ai un trou de mémoire, comment fait on, déjà, pour déclarer et initialiser un tableau 2D global statique dans une unité ?
    Voici le code qui ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    unit unt_Main;
    interface
    type
      tabCode = array[0..1,0..1] of char;
     
    implementation
      initialization
        tabCode39 := {'z','y'},{'z','y'}; // Plante
      end.
    end.
    Merci d'avance.
    David.

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 865
    Points : 11 334
    Points
    11 334
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    unit unt_Main; 
    interface 
    type 
      tcode = record 
       case integer of // syntaxe à vérifier
        1 : car, code: Char; 
        2 : str : String[2];
      end; 
    [b]var[/b]
      tabCode = array[0..30] of tcode; 
     
    implementation 
      initialization 
        tabCode[0].car := 'r'; // devrait marcher
        tabCode[0].code := 'R'; // devrait marcher
        tabCode[0].str :='rR'; // variante !
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    ou bien tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    unit unt_Main; 
    interface 
    type 
      tabCode = array[0..1,0..1] of char; 
     
    implementation 
      initialization 
        tabCode39[0,0] := 'z';
        tabCode39[0,1] := 'v';
        tabCode39[0,2] := 'x';
        tabCode39[0,3] := 'r';
        ....
        tabCode39[1,9] := 'a';
        ....
      end. 
    end.
    A+
    On progresse .....

  4. #4
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Bonjour Andry et tourlourou,

    Merci, c'est impec.

    Pouvez vous également me dire comment renseigner la deuxième variable en binaire du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tabCode39[0,0] := 'z';
    tabCode39[0,1] := 0000000110101011; // 2 octets
    En fait j'ai besoin de 9 valeurs binaires, est ce la meilleur solution plutot que de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tcode = record
      car: Char;
      val1,val2,val3,val4,val5,val6,val7,val8,val9: Boolean;
    end;
      tabCode = array[0..30] of tcode;
    Merci.
    David.

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par dacid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tcode = record
      car: Char;
      val1,val2,val3,val4,val5,val6,val7,val8,val9: Boolean;
    end;
      tabCode = array[0..30] of tcode;
    Merci.
    Ca serait pas plus simple comme çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tcode = record
      car: Char;
      Val : array [1..9] of Boolean;
    end;
      tabCode = array[0..30] of tcode;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  6. #6
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Salut Malatar,

    Bin en fait, je ne sait pas trop, je cherche à ne pas perdre trop de ressources (mémoire, performances, ) car il y en aura un bon paquet à affecter.

    Il est sur que ta déclaration est plus simple que la mienne mais l'affectation reste lourde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tabCode[0].car := 'z';
    tabCode[0].val := (true, false, ...);
    Le systeme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var tabCode: array[0..1,0..1] of char = (('z',0000000110111001),('z',0000000110111001), ...);
    me plaisait bien, seulement, comment initialiser un char en binaire ?
    David.

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Il faut que tu utilises la fonction Ord(char)
    Puis que tu transformes en Hexadecimal avec IntToHex
    et pour finir tu utilises HexToBin

    est ton ami apres
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Ok, merci, je vais essayer ça cet après midi.

    F1 n'est pas génial avec la version 2005... c'est plus de l'anti-aide qu'autre chose.

    En fait, c'est juste utile pour aider un peu sur une fonction dont on a le nom, et encore, il n'y a pas d'exemples, c'est juste pour connaitre les paramètres attendus !

    Dans un autre langage que Delphi en plus car le filtre est zéro.

    On comprends la tronche mal lunée du smiley qui tient son panneau F1, hi.
    David.

  9. #9
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par dacid
    F1 n'est pas génial avec la version 2005... c'est plus de l'anti-aide qu'autre chose.
    Je te comprend, je suis aussi en D2005, et l'aide est le pire que j'ai jamais vu ......
    Mais qu'est ce qu'ils nous ont fait la borland l'aide style D7 etait tres bien ...

    Pour Ord tu trouveras pas avec D2005 (même avec la recherche )

    en clair faut passer un caractère en paramètre de la fonction et ca te retourne le code caractère en entier

    Ord('a') = 97
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  10. #10
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Merci à vous tous (ça fait quand même du bien de pousser un coup de gueule quand ça énerve... même si vous n'y pouvez rien, hi).
    David.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/11/2013, 14h26
  2. [Tableaux] Probleme variable statique dans une classe
    Par Joe Le Mort dans le forum Langage
    Réponses: 7
    Dernier message: 31/08/2006, 11h35
  3. [Tableaux] Retour Chariot dans une boucle
    Par tchoukapi dans le forum Langage
    Réponses: 3
    Dernier message: 07/11/2005, 14h45
  4. Réponses: 1
    Dernier message: 23/09/2005, 18h30
  5. Comment empêcher le debuger d'entrer dans une unité ?
    Par Alex Laforest dans le forum EDI
    Réponses: 5
    Dernier message: 22/07/2005, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo