Deutsch   English   Français   Italiano  
<ufcalc$i3v$1@rasp.pasdenom.info>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!pasdenom.info!.POSTED.2a01:e0a:472:70f0:44e2:7119:733b:197!not-for-mail
From: DrPi <314@drpi.fr>
Newsgroups: fr.comp.lang.ada
Subject: =?UTF-8?Q?Question_structure_de_donn=C3=A9es?=
Date: Sun, 1 Oct 2023 19:35:37 +0200
Organization: <https://pasdenom.info/news.html>
Message-ID: <ufcalc$i3v$1@rasp.pasdenom.info>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 1 Oct 2023 17:35:40 -0000 (UTC)
Injection-Info: rasp.pasdenom.info; posting-account="314@usenet"; posting-host="2a01:e0a:472:70f0:44e2:7119:733b:197";
	logging-data="18559"; mail-complaints-to="abuse@pasdenom.info"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha256:01fL8bwAQbMzyQba3HEmlSRcux7prMXU7xL7ItMphoM=
Content-Language: fr
Bytes: 2691
Lines: 56

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