[UDF] fileread/write avancé pour fichier binaire

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
poke123
Niveau 2
Niveau 2
Messages : 26
Enregistré le : mer. 24 mars 2010 14:22
Status : Hors ligne

[UDF] fileread/write avancé pour fichier binaire

#1

Message par poke123 »

bonjours voici quelque fonction qui permettent d'utiliser fileread/write de manière avancé

_fileopen: transforme le fichier en structure binaire utilisable par les autres fonctions
_fileread: lit une donnée de type et de longueur défini a un offset particulier
_filewrite: écrit une donnée de type et de longueur défini a un offset particulier
_filesave: sauvegarde une structure binaire dans un fichier

attention: si vous merdez dans l'apelle d'une fonction autoit freeze (j'appelle "merder" le fait de donner comme type de donnée "la grand mère de paul version array" par exemple et ce n'est pas à la porté de n'importe quel idiot de merder autant)
► Afficher le textefileadadvance.au3
un commentaire ne coute rien et fait toujours plaisir*
*: me prouvez pas que c'est faux
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [UDF] fileread/write avancé pour fichier binaire

#2

Message par SrBelial »

joli travail !
je me le garde dans un coin ... il est plus que probable que je sois amené à l'utiliser un jour !

merci pour ce partage ^__^
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [UDF] fileread/write avancé pour fichier binaire

#3

Message par jchd »

Sans vouloir jouer les pères fouettards ni dévaloriser tes louables efforts, il faudrait que tu déclares tes variables (Local) et surtout que tu rajoutes une bonne couche de détection et de traitement des erreurs (nombreuses potentiellement).
Avec un traitement correct des erreurs, je ne vois aucune raison pour qu'AutoIt "freeze".

Tu fais de nombreuses copies inutiles (et qui ouvrent une voie royale à un bug ... géant).

Il faudrait aussi que tu préviennes que ces fonctions nécessitent au moins en mémoire le triple de la taille du fichier traité.

Pour pallier ces inconvénients, il vaudrait mieux ne pas faire une image mémoire mais utiliser FileSetPos ou le mappage mémoire d'un fichier disponible sous Windows.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
poke123
Niveau 2
Niveau 2
Messages : 26
Enregistré le : mer. 24 mars 2010 14:22
Status : Hors ligne

Re: [UDF] fileread/write avancé pour fichier binaire

#4

Message par poke123 »

oula a part la gestion des erreur et la réduction du "triple en mémoire" à un "double en mémoire" je ne sais pas faire. ces fonction découlait d'un besoin immédiat de fonction permetant de gérer des fichier d'un petit Mo au maximum de la manière la plus rapide que mes modeste compétence le permettent les dllstruct se sont imposer car ils permetait de travailler avec des offsets et les types de donnée les plus important c'est a dire exactement ce qu'il me fallait je sais que c'est un peu "égoïste" de ma part mais ne pas le partager alors que à ma connaissance personne n'a proposer de fonctions équivalentes (dieu sait que j'ai chercher) aurait été encore plus égoïste

d'ailleur si vous voulez un exemple de script voila:
► Afficher le textem2 reader.au3
pour un m2 type qui représente un élémentaire tirer du jeux world of warcraft il est en pièce jointe (wow utilise les m2 pour stocker ses models)
je n'ai pas la source des DLL allez voir le topic de l'UDF (anglais) pour plus d'info
openGL + test.m2.zip
(382.37 Kio) Téléchargé 311 fois
Répondre