unamed_2
Messages postés5Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention13 juin 2007
-
24 août 2006 à 10:54
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
24 août 2006 à 11:49
Bonjour, donc voici mon code :
J'ai dans ma form principale un boutton, qui contient le code ci-dessous et une TextBox.
Dans ma seconde Form (Form1), j'ai une FileList et un Label.
Ce code cherche parmi une liste de dico (dans la FileList) un mot
indiqué dans la TextBox. Donc il vérifie chaque ligne des dico l'un
après l'autre. Mais il y a une erreur : "Dépacement de capacité". Je
sais ce que c'est mais je ne vois pas pourquoi il me met ça, je ne vois
pas dans mon code ou il y a une tel erreur :- (
Il plante à partir de 89684 mots vérifié dans 5 dico et à partir du sixième ............. c'est mort!
unamed_2
Messages postés5Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention13 juin 2007 24 août 2006 à 11:09
Ok ok............ -__- L'erreur ne se trouve pas dans le code que j'ai mis dans un class module!
-----------------------------------------------------
Dim I As Integer
Dim bytBuffer() As Byte
ReDim bytBuffer(Len(InString))
>! For I = 0 To Len(InString) - 1
bytBuffer(I) = Asc(Mid(InString, I + 1, 1))
Next I
StringToArray = bytBuffer
-----------------------------------------------------
En fait le texte qu'on entre dans la TextBox est un mot crypter et donc le programme crypte chaque mot du dico pour trouver lequel correspond à celui qu'on cherche.
Je ne sais pas si le bout de code peut t'aider à régler le problème.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 24 août 2006 à 11:23
Bien sur Julien, mais sachant que c'est un mot, que le mot français (en supposant que se sont des mots français) le plus long fait 25 caractères, passer de 25 à 32768 caractères, ça fait un sacré algorithme.
Ou alors c'est une phrase entière qu'il crypte d'un coup, et là déjà ça me surprend un peu moins.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 août 2006 à 11:46
salut,
question lisibilité, le do loop sans condition avec un goto c'est pas top.
et #1, rien ne dit que le fichier n'est pas déjà en accès.
çà évitera aussi des close un peu partout
petite optimisation :
Private Sub Dico()
Dim y As Long, FF As Integer, sPath As String, sTmp As String, bFound As Boolean
y = 0
bFound = False
Do While y < Form1.File1.ListCount
Form1.Label3.Caption = "Dico verifie : " & y + 1 & " sur " & Form1.File1.ListCount
DoEvents
Open sPath For Input As #FF
Do Until EOF (FF)
Line Input #FF, sTmp
If Text1.Text = sTmp Then
MsgBox Text1.Text & " = " & sTmp
bFound = True
Exit Do
End If
Loop
Close #FF
y = y + 1
If bFound Then Exit Do
Loop
' fin
MsgBox IIf (bFound, "trouvé, on est sorti", "aucun résultat !")
End Sub