Erreur trop chiante en écrivant dans un fichier - VB/VBA/VBS - Programmation
Marsh Posté le 11-06-2004 à 14:43:59
T'en as souvent des erreurs pas chiantes parce que là, je suis preneur
Marsh Posté le 11-06-2004 à 14:48:20
J'appelle une erreur pas chiante celles qui sont facile a resoudre, ça fait 2 semaines que je tente par tous les moyens de réparer ce problème mais j'y arrive pas !
crois-tu pouvoir m'aider ?
Marsh Posté le 11-06-2004 à 15:02:47
Si les lignes sont crytées, t'as peut-être un caractère type EOF dans le milieu qui arrête la lecture.
Marsh Posté le 11-06-2004 à 15:25:40
Justement, avec les autres mode open, ça ne marchait pas parceque il y avait soit un caractère type saut de ligne, donc avec line Input ça ne prenait qu'une partis de la chaine donc ça renvoyait n'importe quoi au décryptage et ça plantait soit un carac EOF, meme consequence.
Mais avec le mode random, il enregistre chaque ligne comme une occurence donc pas de probleme de cryptage mais le fichier est plus lourd (encore ça c'est pas trop grave), ce qui est chiant c'est le bug de "longueur d'enregistrement incorrect"! lors de la sauvegarde (ecrit avec Put #1,, MonArray(myVar))
y aurait-il une longeur d'enregistrement limité ?
Marsh Posté le 11-06-2004 à 15:41:26
Affiche la longueur de MonArray(MaVar) avant d'écrire.
Marsh Posté le 11-06-2004 à 15:47:23
Open "fichier" for random as #1 Len = Len(MonArray(MyVar))
Comme ça quoi ?
Marsh Posté le 11-06-2004 à 16:12:06
Je voulais dire:
debug.print len(MonArray(MaVar))
debug.print MonArray(MaVar)
pour voir sur quelle ligne ça coince, et sa longueur.
Marsh Posté le 11-06-2004 à 16:50:15
la je suis pas chez moi je suis en stage (de compta), je fini à 18h,je regarderais ça et je te dirais.
je te remercie d'essayer de m'aider, c'est sympa.
Marsh Posté le 11-06-2004 à 20:03:20
JihemAir a écrit : debug.print len(MonArray(MaVar)) |
177
!Ðß}¯>Ƚ)?½Ó·u?=uhb/_8½OèÆ(Þ8ãH)2+nÕpée áÌ"&²öé0_IèÒ½{Øã[û.¼YÐI.ÈSÏ·qÊV+2 ¢I¥3Ýo³öÏØF0¶/þÞ5y¨O¶Ê¦Ü
AÿIaz?SUÅcØ2^_á(ÊZZÓ>¢,eàeçH
voila, c'est la ou ça plante !
sinon voila la total du code des procedures de lecture et de sauvegarde (+ 2 ou trois autres trucs) de mon module.
y'a une parti de la lecture qui se fait en amont dans la form qui se lance en premier
En fait la sub LoadForm charge juste dans la RTB les infos de l'utilisateur sauf si criteria = faux.
L'erreur arrive la ou il y a les Debug.Print
bon j'espère que tu auras le courage de le lire.
si d'autres repèrent des anomalies, qu'ils n'hésite pas non plus de me prévenir.
Code :
|
PS: La Sub Maximum ne sert plus.
Marsh Posté le 13-06-2004 à 19:03:48
T'as essayé d'utiliser le mode binaire ?
Pasque le mode random à la base il est utile si tu connais la longueur des enregistrements
Marsh Posté le 14-06-2004 à 13:27:36
Ouai, avec le mode binaire ça ne marchai pas non plus, l'erreur arrivai a un aute endroit mais y'avait donc toujours une erreur.
j'ai trouvé une solution, je calcul l'enregistrement le plus long avec ma fonction Maximum et je m'en sert comme ça :
Open "fichier" for random as #1 Len = Len(MaxLenCarac)
Cette solution ne me plait pas trop quand meme parcequ'il faut enregistrer MaxLenCarac dns un autre fichier pour l'utiliser dans l'avenir.
Marsh Posté le 11-06-2004 à 14:32:02
salut tous le monde ! c'est pour un petit renseignement :
Mon soft sera cencé découper un fichier pour ouvrir dans un RichTextBox les données qui concerne l'utilisateur selectionné (toutes les données des utilisateurs sont dans le meme fichier, d'ou la découpe) mais j'arrive plus a intégrer mon RTB dans le fichier a cause de cette erreur : "Longueur d'enregistrement incorecte".
'Un bout de mon code en simplifié
ça marchait bien, j'arrivais meme a enregistrer des images (bon, le fichier etait lourd mais ça marchait!) et lors d'une tentative de sauvegarde, l'erreur inatendu arriva )"Longueur d'enregistrement incorecte" ):fou:
ça me rend fou cette histoire de sauvegarde
j'ai éssayer tous les modes Open, y'a toujours un truc qui fout la merde, parceque les lignes sont crypté!
Merci de repondre si vous avez une idées, meme une toute petite idée.