Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Quel outil utiliser pour trier et afficher en temps réel

3 réponses
Avatar
Jacquelin Hardy
Bonjour,

j'utilise VB6 dans un logiciel que j'ai créé pour surveiller du traffic
maritime. Je dois suivre le traffic en temps réel, et trier les données
d'après des critères au choix pour l'utilisateur.

J'utilise un UDT pour accumuler les données des navires, soit position,
vitesse relative, cap, distance, relèvement.

Je veux pouvoir offrir à l'utilisateur la possibilité de trier les
navires soit d'après leur mouvement relatif par rapport à moi, ie. il se
rapproche ou s'éloigne, soit d'après leur distance, soit d'après leur
relèvement. Le code pour le UDT est le suivant.

Public Type TargetData
ChronoSec As Long
MMSI As String
AIVDMess As String
NavStatus As Long
lat As Double
Long As Double
LatMeg As Long
LongMeg As Long
LatPix As Long
LongPix As Long
SOG As Single
COG As Single
PosAcc As Long
strHeading As String
sngHDG As Single
ROT As Single
name As String
Ident As String
length As Long
Beam As Long
offsetL As Long
offsetB As Long
TgtBrg As Single
tgtrge As Single
Draught As Single
Dest As String
oldrange As Single
closing As String
strclosing As String
TimeStamp As Long
checkName As Boolean
End Type

Public arrayCible() As TargetData

Il y a donc des données statiques, et des données dynamiques qui sont reçu
par port série à toutes les 6 secondes environ, transmises par chaque
navire.
Le logiciel suit aussi la position de mon navire et l'affiche sur une carte
électronique, ainsi que les navires dans le voisinage. Actuellement, je fais
les tris avec un MSHF FlexGrid, mais ça ne fonctionne pas à mon goût, ça
donne des mauvais résultats..
Est-ce que je devrais trier moi-même, puis afficher, ou encore utiliser
l'outil ADO, qui a des possibilités de tri, puis afficher dans un ListBox.

Merci pour l'aide

Jacquelin Hardy

3 réponses

Avatar
Jean-marc
Jacquelin Hardy wrote:
Bonjour,



Hello,

<snip>

Est-ce que je devrais trier moi-même, puis afficher, ou encore
utiliser l'outil ADO, qui a des possibilités de tri, puis afficher
dans un ListBox.



C'est un problème qui n'est pas simple et pour lequel il n'y a pas
nécessairement une seule solution mais plusieurs choix possibles.

En préambule, je pense que tu pourrais lire un article très complet
de la FAQ consacré à ce sujet:

"Comment trier des données en VB ?
Quelles sont les différentes méthodes de tri ?"
cf. http://faq.vb.free.fr/index.php?question1

Tu verras qu'il existe énormément de méthodes de tris, depuis
les méthodes purement algorithmiques jusqu'au méthodes avancées
telles que l'utilisation de SQL.

Pour ton cas particulier, on peut résumer comme suit:
- très faible nombre de données (qq centaines de navires je suppose,
en tout cas certainement pas des millions !)
- données très dynamiques
- nombreux critères de tri

Avec ces paramètres, je conseillerais tout simplement de laisser
une base de données faire le boulot, et donc je mettrais mes
données en base et je trierais avec une ou plusieurs requêtes SQL.

Les avantages sont ici: souplesse, fiabilité de l'implémentation
et performances élevées.

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Avatar
Jacquelin Hardy
Merci bien Jean-Marc pour ton conseil.

En préambule, je pense que tu pourrais lire un article très complet de la
FAQ consacré à ce sujet:


Déjà fait , et + d'une fois.

- très faible nombre de données (qq centaines de navires


En effet, on parle de dizaines.

fiabilité de l'implémentation et performances élevées.


Exactement ce que je recherche.

Je vais donc aller Base de données et SQL

Merci encore.

Jacquelin Hardy


"Jean-marc" a écrit dans le message de news:
48839d0b$0$2853$
Jacquelin Hardy wrote:
Bonjour,



Hello,

<snip>

Est-ce que je devrais trier moi-même, puis afficher, ou encore
utiliser l'outil ADO, qui a des possibilités de tri, puis afficher
dans un ListBox.



C'est un problème qui n'est pas simple et pour lequel il n'y a pas
nécessairement une seule solution mais plusieurs choix possibles.

En préambule, je pense que tu pourrais lire un article très complet
de la FAQ consacré à ce sujet:

"Comment trier des données en VB ?
Quelles sont les différentes méthodes de tri ?"
cf. http://faq.vb.free.fr/index.php?question1

Tu verras qu'il existe énormément de méthodes de tris, depuis
les méthodes purement algorithmiques jusqu'au méthodes avancées
telles que l'utilisation de SQL.

Pour ton cas particulier, on peut résumer comme suit:
- très faible nombre de données (qq centaines de navires je suppose,
en tout cas certainement pas des millions !)
- données très dynamiques
- nombreux critères de tri

Avec ces paramètres, je conseillerais tout simplement de laisser
une base de données faire le boulot, et donc je mettrais mes
données en base et je trierais avec une ou plusieurs requêtes SQL.

Les avantages sont ici: souplesse, fiabilité de l'implémentation
et performances élevées.

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;






Avatar
Jean-marc
Jacquelin Hardy wrote:
Merci bien Jean-Marc pour ton conseil.

En préambule, je pense que tu pourrais lire un article très complet
de la FAQ consacré à ce sujet:


Déjà fait , et + d'une fois.

- très faible nombre de données (qq centaines de navires


En effet, on parle de dizaines.

fiabilité de l'implémentation et performances élevées.


Exactement ce que je recherche.

Je vais donc aller Base de données et SQL

Merci encore.



De rien!
Bonne prog !

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;