Path: ...!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "J-P. Rosen" Newsgroups: fr.comp.lang.ada Subject: =?UTF-8?Q?Re=3a_Question_structure_de_donn=c3=a9es?= Date: Thu, 5 Oct 2023 13:28:28 +0200 Organization: Adalog Lines: 70 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 5 Oct 2023 11:28:27 -0000 (UTC) Injection-Info: dont-email.me; posting-host="0a8590d8ffc88b8a90f9be3f47caa383"; logging-data="978828"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Zvxb15ysWZbduFtPVa3cp" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Cancel-Lock: sha1:0GKe9YvtXPc70k685gXlmGonCsM= In-Reply-To: Content-Language: en-US, fr Bytes: 3705 Hmmm... Je ne comprends pas bien ce que tu veux faire (je suppose que les autres du groupe non plus, sinon tu aurais déjà eu des réponses ;-)) Peux-tu préciser un peu, ou dire comment tu le ferais en C? Le 01/10/2023 à 19:35, DrPi a écrit : > Bonjour, > > Je code une librairie qui s'interface sur une API (twain) qui permet à > l'application de découvrir les capacités du matériel à l'exécution. > > Une capacité a un type de base parmi les suivants : > >    type t_TWTY is (TWTY_INT8, >                    TWTY_INT16, >                    TWTY_INT32, > >                    TWTY_UINT8, >                    TWTY_UINT16, >                    TWTY_UINT32, > >                    TWTY_BOOL, > >                    TWTY_FIX32, > >                    TWTY_FRAME, > >                    TWTY_STR32, >                    TWTY_STR64, >                    TWTY_STR128, >                    TWTY_STR255, >                    TWTY_HANDLE >                   ); > > Donc, une donnée sur 8bits signés ou sur 16bits signés ou... > > Par dessus le type de base, il y a le type de conteneur : > >    type t_ConType is (TWON_ARRAY, >                       TWON_ENUMERATION, >                       TWON_ONEVALUE, >                       TWON_RANGE, >                      ); > > Donc, une donnée unique ou un tableau de données ou... > > Comme je crée une librairie de haut niveau, je voudrais une abstraction > supplémentaire du type de données. Par exemple, une capacité de type > TWON_ONEVALUE / TWTY_UINT32 pourrait correspondre à un bit-mask de > fonctionnalités possibles (record de booléens - 1 bit par booléen). > > Il y a des capacités prédéfinies par la documentation de l'API twain. > Mais la plupart des capacités sont à découvrir "à la volée". > > Le but est que la librairie construise une structure de données > utilisable par l'application. > > Je ne vois pas comment coder ça intelligemment en Ada (je saurais le > faire à la C). > > Je suis preneur de toute information pouvant m'éclairer ;) > > Nicolas -- J-P. Rosen Adalog 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX https://www.adalog.fr https://www.adacontrol.fr