Un editeur de dbc avec Qt
|
Asedic a écrit :Oui je sais que c'est long . Mais là ya un soucisQT, c'est super pas optimisé, mais bon, une progressBar ca bouffe le temps
Magus a écrit :Vous devez lire n'importe comment et/ou pas optimisé du tout :/Pour lire un dbc, ya qu'une seule méthode, nb_enregistrement*nb_colonne
(28-05-2011 17:47)Magus a écrit : Spell.dbc s'ouvre en 1 minute environ avec celui que j'ai fait.
Et pourtant, il est en Java.
Vous devez lire n'importe comment et/ou pas optimisé du tout :/
Assedic a écrit :1000 par 1000 pour afficher c'est ... Super (pas) pratiquelol, afficher la progress-barre tt les 1000
(29-05-2011 10:57)Magus a écrit : Certaines colonnes ne font pas 4 octets (même si c'est le cas pour la plupart).Alors, pour les DBCs (c'est un cas général), toutes les colonnes sont de taille fixe.
(29-05-2011 10:57)Magus a écrit : Sinon tu peux aussi lire beaucoup plus d'octet d'un seul coup, les stocker dans une variable et ensuite traiter la variable. Si tu limites le nombre d'accès au fichier, la lecture devrait être plus rapide. Il est facile de calculer le nombre d'octet que fait une ligne avec le format du dbc, tu peux donc lire une ligne d'un seul coup et ensuite traiter ce que tu as lu pour avoir les différentes colonnes.Oui tt a fait.
(29-05-2011 17:32)Branruz a écrit :Assedic a écrit :1000 par 1000 pour afficher c'est ... Super (pas) pratiquelol, afficher la progress-barre tt les 1000
(pas les datas lus)
(29-05-2011 10:57)Magus a écrit : Certaines colonnes ne font pas 4 octets (même si c'est le cas pour la plupart).Alors, pour les DBCs (c'est un cas général), toutes les colonnes sont de taille fixe.
La valeur est donné dans l'entete du DBC ( depuis l'origine c'est 4 )
(Sauf la zone de texte bien evidement)
(29-05-2011 10:57)Magus a écrit : Sinon tu peux aussi lire beaucoup plus d'octet d'un seul coup, les stocker dans une variable et ensuite traiter la variable. Si tu limites le nombre d'accès au fichier, la lecture devrait être plus rapide. Il est facile de calculer le nombre d'octet que fait une ligne avec le format du dbc, tu peux donc lire une ligne d'un seul coup et ensuite traiter ce que tu as lu pour avoir les différentes colonnes.Oui tt a fait.
NB: Rappel de l'entete,
Signature: sur 4 Octets ("WDBC")
Nombre d'enregistrement: sur 4 Octets
Nombre de colonne par enregistrement: sur 4 Octets
Taille d'un enregistrement: sur 4 Octets (depuis le debut de wow = à 4 )
Taille de la zone de texte: sur 4 Octets ( Taille globale de la zone de texte )
(29-05-2011 19:26)Magus a écrit : Il arrive d'avoir des flags sur 64 bits (8 octets) au lieu de 4 octets. Après cela n'est pas dérangeant tant que c'est un flag, mais faudrait pas tomber sur un uint64 et le couper en 2 sauvagement.Oui je vois ce que tu veux dire. Si tu lis via la structure de ton dbc tu n'a pas le probleme