tinux
Messages postés244Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention21 octobre 2013 16 juil. 2006 à 14:56
Arff, j'ai besoin d'un soft du genre hélas j'avais pas de temps pour le faire, et là j'en vois une, SUPER !!! Hélas, mon bohneur est stoppé net par mon Visual Studio 2005 .NET....... damn !
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 12 juil. 2006 à 00:19
Effectivement, j'utilises FireFox ^^
jean_marc_n2
Messages postés170Date d'inscriptionjeudi 11 décembre 2003StatutMembreDernière intervention24 janvier 2009 11 juil. 2006 à 19:14
Oups, voici le bon lien pour tester les saut d'API:
Note: avec IE, le fait que les ancres aient un # devant le nom ne géne pas, c'est pour cela que les liens fonctionnent et que je n'ai pas vu l'erreur.
jean_marc_n2
Messages postés170Date d'inscriptionjeudi 11 décembre 2003StatutMembreDernière intervention24 janvier 2009 11 juil. 2006 à 19:01
Hello,
merci à tous de vos commentaires.
=> Renfield, merci en particulier pour ta revue de code! Q: Les appels d'API chez moi sont bien redirigés, voir un exemple ici: C:\files\vb\vbfrance\syntaxcolor2\frmMain.html (cliquer sur ShellExecute dans COmmand2, par exemple). Sans doute un cas particulier que je ne vois pas?
Je posterais après mes vacances une version corrigée!
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 20123 11 juil. 2006 à 15:45
Salut :)
Juste un mot pour signaler beaucoups de mots en double ou en triple dans la liste de mots.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 11 juil. 2006 à 15:27
j'ai repris mes tests....
il serait bien que la sortie HTML soit indentée automatiquement,
il y a une incohérence :
tu utilise les mots en majuscule, dans ton HASH, mais clean_symbol faisait un LCase...
des mots n'étaient pas trouvés, certaines fois.
tes liens ne fonctionnaient pas, tu mettais
et a cause du #, l'ancre ne fonctionnait pas.
de même, tu écrivait le nom de l'ancre (en majuscules, donc) dans le texte des liens, ce qui fait pas très très joli ^^
j'ai corrigé ce point également:
Print #g, header;
If (i <> 0) And ((LCase(t(i - 1)) "function") Or (LCase(t(i - 1)) "sub")) Then
Print #g, "";
szColor = COLOR_SYMB_A
Else
' we need to insert an hyperlink
module = Mid$(module, 1, InStr(module, ".")) & "html"
Print #g, "";
szColor = COLOR_SYMB_H
End If
Print #g, "" & Left$(sBuffer, Len(wordToHilight)) & "";
Les appels d'API ne sont pas redirigés vers leur déclaration
Space,ElseIf,LSet,Until ne sont pas dans ta liste de mots
j'ai également utilisé IsInHashTable_special dans IsKW
et supprimé le module = "" dans IsInHashTable_special
avec quelques optimisations a gauche a droite, je suis passé, pour un projet donné (en mode VB) de 360ms à 170ms, en moyenne
exemple d'optimisation significative :
If (Left$(sBuffer, 1) = "'") Or (comment) Or _
(continuation_line_found And previous_was_comment) Then
' replace < and > by their html equivalent
If InStrB(sBuffer, "<") > 0 Then
sBuffer = Replace(sBuffer, "<", "<")
End If
If InStrB(sBuffer, ">") > 0 Then
sBuffer = Replace(sBuffer, ">", ">")
End If
If InStrB(sBuffer, "<") > 0 Then
sBuffer = Replace(sBuffer, "<", "<")
End If
If InStrB(sBuffer, ">") > 0 Then
sBuffer = Replace(sBuffer, ">", ">")
End If
et pareil dans le Else ' else: normal text
si le code 'corrigé' te tente, contacte moi par MP
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 11 juil. 2006 à 15:09
je suis exactement du même avis que Renfield, un CommonDialog serait le bienvenu.
ciberrique
Messages postés589Date d'inscriptionlundi 25 août 2003StatutMembreDernière intervention18 juillet 20101 11 juil. 2006 à 13:30
Je trouve ca tres bon... Vraiment bien, je garde.
Bravo.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 11 juil. 2006 à 10:07
sympa...
un commondialog serait un plus non négligeable, pour la selection du projet.
il serait sympa de pouvoir charger les VBG.
les prototypes de fonctions ne sont pas coloriées ( ByRef xxx As Single) par exemple...
il faudrait pouvoir spécifier un repertoire de sortie, et que tout se mette même dans un sous repertoire.
tu ourrais alors ajouter des images, des css...
tu pourrais stocker dans kw les mots en majuscule, directement.
p = InStr(1, s, "function " ,vbTextCompare)
est plus rapide que
p = InStr(LCase$(s), "function ")
ta gestion d'erreur masque des erreurs de codage...
If (i <> 0) And ((LCase(t(i - 1)) "function") Or (LCase(t(i - 1)) "sub")) Then
ton test i<> 0 ici, n'empeche pas VB de tenter d'acceder à t(-1)
de même, dans :
p = InStr(1, t(i), wordToHilight, vbTextCompare)
If p = 1 Then <- mettre 0 ici, pas 1
je regarderai le reste plus tard ^^
jean_marc_n2
Messages postés170Date d'inscriptionjeudi 11 décembre 2003StatutMembreDernière intervention24 janvier 2009 11 juil. 2006 à 09:03
Hello,
Merci pour ton commentaire. Il n'y a pas vraiment "balle dans le pied" dans la mesure ou le nombre de comparaisons de string est tout petit :-) Il suffit de voir les perfs pour s'en convaincre :-)
A l'occasion, je ferais un petit bench pour voir ce que l'on gagne avec des tableaux de bytes.
Merci encore!
Amicalement,
Proger
Messages postés248Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention19 décembre 2008 11 juil. 2006 à 01:54
Optimisation : à quoi bon faire du hashing si le résultat est de type string ? tu fais une sympathique gestion de cette table mais tu lui tire une balle dans le pied avec toutes ces comparaisons de strings.
M'enfin si ca ne tenais qu'a moi je chargerai directement les fichiers de code à convertir dans des tableau de bytes et n'utiliserai le type string que lors de la fusion html :)
16 juil. 2006 à 14:56
12 juil. 2006 à 00:19
11 juil. 2006 à 19:14
http://users.skynet.be/candide/test/frmMain.html
Note: avec IE, le fait que les ancres aient un # devant le nom ne géne pas, c'est pour cela que les liens fonctionnent et que je n'ai pas vu l'erreur.
11 juil. 2006 à 19:01
merci à tous de vos commentaires.
=> Renfield, merci en particulier pour ta revue de code! Q: Les appels d'API chez moi sont bien redirigés, voir un exemple ici: C:\files\vb\vbfrance\syntaxcolor2\frmMain.html (cliquer sur ShellExecute dans COmmand2, par exemple). Sans doute un cas particulier que je ne vois pas?
Je posterais après mes vacances une version corrigée!
11 juil. 2006 à 15:45
Juste un mot pour signaler beaucoups de mots en double ou en triple dans la liste de mots.
11 juil. 2006 à 15:27
il serait bien que la sortie HTML soit indentée automatiquement,
il y a une incohérence :
tu utilise les mots en majuscule, dans ton HASH, mais clean_symbol faisait un LCase...
des mots n'étaient pas trouvés, certaines fois.
tes liens ne fonctionnaient pas, tu mettais
et a cause du #, l'ancre ne fonctionnait pas.
de même, tu écrivait le nom de l'ancre (en majuscules, donc) dans le texte des liens, ce qui fait pas très très joli ^^
j'ai corrigé ce point également:
Print #g, header;
If (i <> 0) And ((LCase(t(i - 1)) "function") Or (LCase(t(i - 1)) "sub")) Then
Print #g, "";
szColor = COLOR_SYMB_A
Else
' we need to insert an hyperlink
module = Mid$(module, 1, InStr(module, ".")) & "html"
Print #g, "";
szColor = COLOR_SYMB_H
End If
Print #g, "" & Left$(sBuffer, Len(wordToHilight)) & "";
Les appels d'API ne sont pas redirigés vers leur déclaration
Space,ElseIf,LSet,Until ne sont pas dans ta liste de mots
j'ai également utilisé IsInHashTable_special dans IsKW
et supprimé le module = "" dans IsInHashTable_special
avec quelques optimisations a gauche a droite, je suis passé, pour un projet donné (en mode VB) de 360ms à 170ms, en moyenne
exemple d'optimisation significative :
If (Left$(sBuffer, 1) = "'") Or (comment) Or _
(continuation_line_found And previous_was_comment) Then
' replace < and > by their html equivalent
If InStrB(sBuffer, "<") > 0 Then
sBuffer = Replace(sBuffer, "<", "<")
End If
If InStrB(sBuffer, ">") > 0 Then
sBuffer = Replace(sBuffer, ">", ">")
End If
If InStrB(sBuffer, "<") > 0 Then
sBuffer = Replace(sBuffer, "<", "<")
End If
If InStrB(sBuffer, ">") > 0 Then
sBuffer = Replace(sBuffer, ">", ">")
End If
et pareil dans le Else ' else: normal text
si le code 'corrigé' te tente, contacte moi par MP
11 juil. 2006 à 15:09
11 juil. 2006 à 13:30
Bravo.
11 juil. 2006 à 10:07
un commondialog serait un plus non négligeable, pour la selection du projet.
il serait sympa de pouvoir charger les VBG.
les prototypes de fonctions ne sont pas coloriées ( ByRef xxx As Single) par exemple...
il faudrait pouvoir spécifier un repertoire de sortie, et que tout se mette même dans un sous repertoire.
tu ourrais alors ajouter des images, des css...
tu pourrais stocker dans kw les mots en majuscule, directement.
p = InStr(1, s, "function " ,vbTextCompare)
est plus rapide que
p = InStr(LCase$(s), "function ")
ta gestion d'erreur masque des erreurs de codage...
If (i <> 0) And ((LCase(t(i - 1)) "function") Or (LCase(t(i - 1)) "sub")) Then
ton test i<> 0 ici, n'empeche pas VB de tenter d'acceder à t(-1)
de même, dans :
p = InStr(1, t(i), wordToHilight, vbTextCompare)
If p = 1 Then <- mettre 0 ici, pas 1
je regarderai le reste plus tard ^^
11 juil. 2006 à 09:03
Merci pour ton commentaire. Il n'y a pas vraiment "balle dans le pied" dans la mesure ou le nombre de comparaisons de string est tout petit :-) Il suffit de voir les perfs pour s'en convaincre :-)
A l'occasion, je ferais un petit bench pour voir ce que l'on gagne avec des tableaux de bytes.
Merci encore!
Amicalement,
11 juil. 2006 à 01:54
M'enfin si ca ne tenais qu'a moi je chargerai directement les fichiers de code à convertir dans des tableau de bytes et n'utiliserai le type string que lors de la fusion html :)