5/5 (17 avis)
Vue 10 348 fois - Téléchargée 653 fois
Imports System.IO Imports System Imports Microsoft.Win32 Public Class Form1 Inherits System.Windows.Forms.Form Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim args As String If hb_inside(Environment.CommandLine, "Bpath ", " Epath") <> "" Then args = hb_inside(Environment.CommandLine, "Bpath ", " Epath") 'on check si les arguments contiennent qqc entre Bpath et Epath (ne s'executera que si un fichier est appelé par le menu contextuel, et si vous avez lancer le .reg), si c'est le cas Else If Environment.GetCommandLineArgs.GetUpperBound(0) >= 1 Then 'si ce n'est pas le cas, on regarde si il y a + de 1 ligne d'arguments If IO.File.Exists(Environment.GetCommandLineArgs(1)) Then 'si oui on regarde si la deuxieme ligne est un fichier (ne se passera que si vous glissez un fichier sur le .exe args = Environment.GetCommandLineArgs(1) End If End If End If If args <> "" Then 'si on a un fichier sur lequel travailler dans les arguments : If IO.File.Exists(args) Then 'on check si le fichier existe If LCase(Mid(args, Len(args) - 3, 4)) = ".hbs" Then 'on check si c'est un fichier .hbs (splitté) 'si oui alors : Dim chemin1 As String = args Dim nbrfile As Integer = get_nbrfile(chemin1) 'on appele la fonction get_nbrfile qui renvoie le nbre de fichiers splitté du groupe HBS Dim temp As String temp = Mid(chemin1, 1, Len(chemin1) - 4) 'ceci renvoie le nom de fichier d'origine sans le .hbs Dim chemin2(nbrfile) As String 'on creer un tableau à une dimension dont le nbre de cellules est = au nbre de fichiers hbs + 1 (les cellules debutent à 0) Dim i As Integer For i = 1 To nbrfile chemin2(i) = Replace(chemin1, get_nbrcurrentfile(chemin1) & Mid(chemin1, InStrRev(chemin1, "_")), i.ToString & Mid(chemin1, InStrRev(chemin1, "_"))) 'on place les chemins de touts les fichiers splitté grace a cette boucle dans laquel on va remplacer le numero du fichier par tts les numeros du groupe (pas clair...ouais bah...) Next Dim cheminfin As String = Mid(temp, 1, InStrRev(temp, ".") - 1) 'on propose le choix du nom de fichiers à l'utilisateur sf1.Title = "Enregistrer le fichier sous" sf1.Filter = "*" & Mid(cheminfin, InStrRev(cheminfin, "."), Len(cheminfin) - InStrRev(cheminfin, ".") + 1) & "|*" & Mid(cheminfin, InStrRev(cheminfin, "."), Len(cheminfin) - InStrRev(cheminfin, ".") + 1) sf1.FileName = Mid(cheminfin, InStrRev(cheminfin, "\") + 1, Len(cheminfin) - InStrRev(cheminfin, "\")) sf1.ShowDialog() If sf1.FileName = "" Then Exit Sub pathsource2.Text = args 'On affiche le nbre de fichiers et la taille du fichier a despliter: lblnbrfile.Text = "Nombre de fichiers .hbs :" & get_nbrfile(pathsource2.Text) lbllngfiles.Text = "Taille des fichiers .hbs :" & (FileLen(pathsource2.Text) / 1024).ToString & " Ko (" & FileLen(pathsource2.Text) & " octets )" lbllnglfile.Text = "Taille du dernier fichier .hbs :" & (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")) / 1024).ToString & " Ko (" & FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text) & "_")).ToString & " octets)" Dim tailledesplit As Long = (((FileLen(pathsource2.Text)) * (get_nbrfile(pathsource2.Text) - 1)) + (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")))) Dim lentaille As Integer = tailledesplit.ToString.Length Select Case lentaille Case Is <= 3 lblunsplitlng.Text = "Taille du fichier à déspliter :" & tailledesplit.ToString & " Octets" Case Is > 3 lblunsplitlng.Text = "Taille du fichier à déspliter :" & tailledesplit / 1024.ToString & " Ko (" & (((FileLen(pathsource2.Text)) * (get_nbrfile(pathsource2.Text) - 1)) + (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")))).ToString & " Octets)" Case Is > 6 lblunsplitlng.Text = "Taille du fichier à déspliter :" & (tailledesplit / 1024) / 1024.ToString & " Mo (" & (((FileLen(pathsource2.Text)) * (get_nbrfile(pathsource2.Text) - 1)) + (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")))).ToString & " Octets)" Case Is > 9 lblunsplitlng.Text = "Taille du fichier à déspliter :" & ((tailledesplit / 1024) / 1024) / 1024.ToString & " Go (" & (((FileLen(pathsource2.Text)) * (get_nbrfile(pathsource2.Text) - 1)) + (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")))).ToString & " Octets)" End Select unsplit(nbrfile, chemin2, sf1.FileName) 'on lance la procedure unsplit qui specifie le nbre de fichiers, le tableau contenant les chemins des fichiers du groupe HBS et le chemin de fichier de sortie TabControl1.SelectedTab = Tab2 Else 'si ce n'est pas un fichier .hbs : pathsource.Text = args 'On calcul la taille du fichier sources et des "futurs" fichiers .hbs selon la valeur de nbrsplit Dim lnginit As Long = FileLen(pathsource.Text) Dim lngsplit As Long = lnginit / nbrsplit.Value Dim lnglastsplit As Long If lngsplit < CDec(lnginit / nbrsplit.Value) Then lngsplit += 1 lnglastsplit = lnginit - (lngsplit * (nbrsplit.Value - 1)) Dim taillesource As Long = FileLen(pathsource.Text) Dim lentaille As Integer = taillesource.ToString.Length 'Calcul la taille du fichier source et l'affiche Select Case lentaille Case Is <= 3 lbllngsource.Text = "Taille du fichier à spliter :" & taillesource.ToString & " Octets" Case Is > 3 lbllngsource.Text = "Taille du fichier à spliter :" & taillesource / 1024.ToString & " Ko (" & taillesource.ToString & " Octets)" Case Is > 6 lbllngsource.Text = "Taille du fichier à spliter :" & (taillesource / 1024) / 1024.ToString & " Mo (" & taillesource.ToString & " Octets)" Case Is > 9 lbllngsource.Text = "Taille du fichier à spliter :" & ((taillesource / 1024) / 1024) / 1024.ToString & " Go (" & taillesource.ToString & " Octets)" End Select 'affiche la taille des "futurs" fichiers splittés lngfiles.Text = "Tailles des fichiers splittés: " & lngsplit.ToString lnglfile.Text = "Taille du dernier fichier splitté : " & lnglastsplit.ToString End If End If End If End Sub Private Sub split(ByVal nbrfile As Integer, ByVal chemin1 As String) Dim lnginit As Long Dim lngsplit As Long Dim lnglastsplit As Long Dim worktime As Long = Environment.TickCount 'on garde la valeur du tickcount (qui renvoie le nbre de millisecondes ecoulées depuis le demarrage de windows) pour calculer le temps d'execution de la procédure Dim hb As New IO.BinaryReader(IO.File.OpenRead(chemin1)) 'on defini donc hb comme "binaryreader" , et on y ouvre le chemin contenu dans la string chemin1 Dim file_a(FileLen(chemin1)) As Byte 'on crée un tableau de byte donc le nbre de cellules est egale à la taille du fichiers en octets Dim i As Integer hb.BaseStream.Read(file_a, 0, FileLen(chemin1)) 'on lit le fichier dans les tableau teststr 'on calcul la tailles des fichiers .hbs selon le nbre de splits demandés lnginit = FileLen(chemin1) lngsplit = lnginit / nbrfile If lngsplit > CDec(lnginit / nbrfile) Then lngsplit += 1 lnglastsplit = lnginit - (lngsplit * (nbrfile - 1)) 'ecriture des fichiers .hbs, sauf le dernier qui n'aura surement pas la meme taille : For i = 0 To nbrfile - 2 Dim hbwrite As New IO.BinaryWriter(IO.File.OpenWrite(chemin1 & "." & (i + 1).ToString & "_" & nbrfile.ToString & ".hbs")) hbwrite.BaseStream.Write(file_a, (i * lngsplit), lngsplit) hbwrite.Close() hbwrite = Nothing Application.DoEvents() Next i 'ecriture maintenant du dernier fichiers hbs, qui doit faire qq octets de moins que les autres, selon la taille du fichier source Dim hbwrite2 As New IO.BinaryWriter(IO.File.OpenWrite(chemin1 & "." & (i + 1).ToString & "_" & nbrfile.ToString & ".hbs")) hbwrite2.BaseStream.Write(file_a, ((nbrfile - 1) * lngsplit), lnglastsplit) hbwrite2.Close() Dim splittm As String = ((CLng(Environment.TickCount) - worktime) / 1000).ToString & " secondes" MsgBox("Le fichier " & chemin1 & " a été splitté avec succés en " & splittm) End Sub Private Sub unsplit(ByVal nbrfile As Integer, ByVal chemin2() As String, ByVal chemin1 As String) Dim i As Integer Dim lngsplit As Long Dim file_A() As Byte 'on crée un tableau de byte donc le nbre de cellules est egale à la taille du fichiers en octets Dim n As Long Dim worktime As Long = Environment.TickCount 'on garde la valeur du tickcount (qui renvoie le nbre de millisecondes ecoulées depuis le demarrage de windows) pour calculer le temps d'execution de la procédure For i = 0 To nbrfile - 1 'on lance la boucle le meme nbre de fois qu'il y a de fichiers Dim hb As New IO.BinaryReader(IO.File.OpenRead(chemin2(i + 1))) ReDim file_A(FileLen(chemin2(i + 1)) - 1) 'on redimensionne le tableau de la taille du fichier actuel hb.BaseStream.Read(file_A, 0, FileLen(chemin2(i + 1))) 'DEBUG UPDATE !! 'on stocke dans ce tableau TOUTS les bytes du fichier Dim fs As FileStream = New FileStream(chemin1, FileMode.OpenOrCreate) 'on defini le filestream Dim wr As BinaryWriter = New BinaryWriter(fs) 'on defini wr comme objet d'ecriture binaire wr.BaseStream.Seek(0, SeekOrigin.End) 'on defini le pointeur à la fin du fichier cible wr.Write(file_A) 'on ecrit le contenu du tableau fs.Close() 'on ferme tout wr.Close() 'on ferme tout hb.Close() 'on ferme tout Next i MsgBox("Effectué en " & ((CLng(Environment.TickCount) - worktime) / 1000).ToString & " secondes") End Sub Function get_nbrfile(ByVal firstpath As String) As Integer 'fonction qui renvoie le nombre de fichiers d'un groupe à partir du chemin d'un fichier hbs Dim temp As String temp = Mid(firstpath, 1, Len(firstpath) - 4) Dim pos As Integer pos = InStrRev(temp, "_") + 1 Return CInt(Mid(temp, pos)) End Function Function get_nbrcurrentfile(ByVal firstpath As String) As Integer 'fonction qui renvoie le numero d'un fichier hbs a partir de son chemin Dim temp As String temp = Mid(firstpath, 1, Len(firstpath) - 4) Dim pos(1) As Integer pos(0) = InStrRev(temp, ".") pos(1) = InStrRev(temp, "_") Return CInt(Mid(firstpath, (pos(0) + 1), (pos(1) - pos(0) - 1))) End Function Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click 'boutton split, lance la demande de nom de fichier si cela n'a pas été fait Dim chemin1 As String If pathsource.Text = "" Then of1.Title = "Choisissez le fichier à splitter" of1.Filter = "*.*|*.*" of1.InitialDirectory = Environment.CurrentDirectory of1.ShowDialog() If of1.FileName = "" Then of1.Dispose() Exit Sub End If chemin1 = of1.FileName Else chemin1 = pathsource.Text End If of1.Dispose() Dim nbrfile As Integer = nbrsplit.Value Dim chemin2(nbrfile) As String split(nbrfile, chemin1) End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click 'selectionne et affiche les calculs de tailles d'un fichier à splitter deja vu au dessus of1.Title = "Choisissez le fichier à splitter" of1.Filter = "*.*|*.*" of1.InitialDirectory = Environment.CurrentDirectory of1.ShowDialog() If of1.FileName <> "" Then pathsource.Text = of1.FileName Dim lnginit As Long Dim lngsplit As Long Dim lnglastsplit As Long lnginit = FileLen(pathsource.Text) lngsplit = lnginit / nbrsplit.Value If lngsplit < CDec(lnginit / nbrsplit.Value) Then lngsplit += 1 lnglastsplit = lnginit - (lngsplit * (nbrsplit.Value - 1)) 'lnglastsplit = lngsplit + (lnginit Mod nbrsplit.Value) Dim taillesource As Long = FileLen(pathsource.Text) Dim lentaille As Integer = taillesource.ToString.Length Select Case lentaille Case Is <= 3 lbllngsource.Text = "Taille du fichier à spliter :" & taillesource.ToString & " Octets" Case Is > 3 lbllngsource.Text = "Taille du fichier à spliter :" & taillesource / 1024.ToString & " Ko (" & taillesource.ToString & " Octets)" Case Is > 6 lbllngsource.Text = "Taille du fichier à spliter :" & (taillesource / 1024) / 1024.ToString & " Mo (" & taillesource.ToString & " Octets)" Case Is > 9 lbllngsource.Text = "Taille du fichier à spliter :" & ((taillesource / 1024) / 1024) / 1024.ToString & " Go (" & taillesource.ToString & " Octets)" End Select lngfiles.Text = "Tailles des fichiers splittés: " & lngsplit.ToString lnglfile.Text = "Taille du dernier fichier splitté : " & lnglastsplit.ToString End If End Sub Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click 'Selectionne un fichier .hbs, affiche la tailles de ces fichiers et en determine la taille du fichier a resplitter 'le code a deja été utilise plus haut dans le form load, il aurait été plus pratique de faire un sub, je sais of1.Title = "Choisissez un des fichiers d'un groupe hbs" of1.Filter = "hbs files *.hbs|*.hbs" of1.InitialDirectory = Environment.CurrentDirectory of1.ShowDialog() If of1.FileName = "" Then Exit Sub pathsource2.Text = of1.FileName lblnbrfile.Text = "Nombre de fichiers .hbs :" & get_nbrfile(pathsource2.Text) lbllngfiles.Text = "Taille des fichiers .hbs :" & (FileLen(pathsource2.Text) / 1024).ToString & " Ko (" & FileLen(pathsource2.Text) & " octets )" lbllnglfile.Text = "Taille du dernier fichier .hbs :" & (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")) / 1024).ToString & " Ko (" & FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text) & "_")).ToString & " octets)" Dim tailledesplit As Long = (((FileLen(pathsource2.Text)) * (get_nbrfile(pathsource2.Text) - 1)) + (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")))) Dim lentaille As Integer = tailledesplit.ToString.Length 'petit calcul de fichier, selon sa taille on l'affichera en octet, kilo octets, megaoctets ou giga octets : Select Case lentaille Case Is <= 3 lblunsplitlng.Text = "Taille du fichier à déspliter :" & tailledesplit.ToString & " Octets" Case Is > 3 lblunsplitlng.Text = "Taille du fichier à déspliter :" & tailledesplit / 1024.ToString & " Ko (" & (((FileLen(pathsource2.Text)) * (get_nbrfile(pathsource2.Text) - 1)) + (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")))).ToString & " Octets)" Case Is > 6 lblunsplitlng.Text = "Taille du fichier à déspliter :" & (tailledesplit / 1024) / 1024.ToString & " Mo (" & (((FileLen(pathsource2.Text)) * (get_nbrfile(pathsource2.Text) - 1)) + (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")))).ToString & " Octets)" Case Is > 9 lblunsplitlng.Text = "Taille du fichier à déspliter :" & ((tailledesplit / 1024) / 1024) / 1024.ToString & " Go (" & (((FileLen(pathsource2.Text)) * (get_nbrfile(pathsource2.Text) - 1)) + (FileLen(Replace(pathsource2.Text, "." & get_nbrcurrentfile(pathsource2.Text).ToString & "_", "." & get_nbrfile(pathsource2.Text).ToString & "_")))).ToString & " Octets)" End Select End Sub Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click 'si il n'y a pas encore de fichier .hbs selectionné, relance la selection If pathsource2.Text = "" Then of1.Title = "Choisissez un des fichiers d'un groupe hbs" of1.Filter = "hbs files *.hbs|*.hbs" of1.InitialDirectory = Environment.CurrentDirectory of1.ShowDialog() If of1.FileName = "" Then of1.Dispose() Exit Sub End If pathsource2.Text = of1.FileName End If Dim chemin1 As String = pathsource2.Text of1.Dispose() Dim nbrfile As Integer = get_nbrfile(chemin1) Dim temp As String temp = Mid(chemin1, 1, Len(chemin1) - 4) 'depuis le chemin des fichiers .hbs et les mets dans la tableau chemin2() Dim chemin2(nbrfile) As String Dim i As Integer For i = 1 To nbrfile chemin2(i) = Replace(chemin1, get_nbrcurrentfile(chemin1) & Mid(chemin1, InStrRev(chemin1, "_")), i.ToString & Mid(chemin1, InStrRev(chemin1, "_"))) Next Dim cheminfin As String = Mid(temp, 1, InStrRev(temp, ".") - 1) sf1.Title = "Enregistrer le fichier sous" sf1.Filter = "*" & Mid(cheminfin, InStrRev(cheminfin, "."), Len(cheminfin) - InStrRev(cheminfin, ".") + 1) & "|*" & Mid(cheminfin, InStrRev(cheminfin, "."), Len(cheminfin) - InStrRev(cheminfin, ".") + 1) 'on recupere l'extension du fichier source pour ne proposer l'enregistrement que sous cette extension sf1.FileName = Mid(cheminfin, InStrRev(cheminfin, "\") + 1, Len(cheminfin) - InStrRev(cheminfin, "\")) 'on recupere le nom de fichier d'origine pour le proposer par defaut à l'enregistrement sf1.ShowDialog() If sf1.FileName = "" Then Exit Sub 'lance la function unsplit unsplit(nbrfile, chemin2, sf1.FileName) End Sub Private Sub nbrsplit_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nbrsplit.ValueChanged 'A chaque fois que la valeur est changé, on recalcule la taille des fichiers If pathsource.Text = "" Then Exit Sub Dim lnginit As Long Dim lngsplit As Long Dim lnglastsplit As Long 'On recalcul la taille de l'eventuel split : lnginit = FileLen(pathsource.Text) lngsplit = lnginit / nbrsplit.Value If lngsplit < CDec(lnginit / nbrsplit.Value) Then lngsplit += 1 lnglastsplit = lnginit - (lngsplit * (nbrsplit.Value - 1)) Dim taillesource As Long = FileLen(pathsource.Text) Dim lentaille As Integer = taillesource.ToString.Length 'petit calcul de fichier, selon sa taille on l'affichera en octet, kilo octets, megaoctets ou giga octets : Select Case lentaille Case Is <= 3 lbllngsource.Text = "Taille du fichier à spliter :" & taillesource.ToString & " Octets" Case Is > 3 lbllngsource.Text = "Taille du fichier à spliter :" & taillesource / 1024.ToString & " Ko (" & taillesource.ToString & " Octets)" Case Is > 6 lbllngsource.Text = "Taille du fichier à spliter :" & (taillesource / 1024) / 1024.ToString & " Mo (" & taillesource.ToString & " Octets)" Case Is > 9 lbllngsource.Text = "Taille du fichier à spliter :" & ((taillesource / 1024) / 1024) / 1024.ToString & " Go (" & taillesource.ToString & " Octets)" End Select lngfiles.Text = "Tailles des fichiers splittés: " & lngsplit.ToString lnglfile.Text = "Taille du dernier fichier splitté : " & lnglastsplit.ToString End Sub Public Function hb_inside(ByVal source As String, ByVal stravant As String, ByVal strapres As String) 'fonction qui renvoie ce qu'il y a entre deux sous-string, dans une string If InStr(1, source, stravant) > 0 Then If InStr((InStr(1, source, stravant)), source, strapres) > 0 Then If Mid(source, (InStr(1, source, stravant) + Len(stravant)), InStr((InStr(1, source, stravant) + Len(stravant)), source, strapres) - (InStr(1, source, stravant) + Len(stravant))) <> "" Then Return Mid(source, (InStr(1, source, stravant) + Len(stravant)), InStr((InStr(1, source, stravant) + Len(stravant)), source, strapres) - (InStr(1, source, stravant) + Len(stravant))) End If End If End If End Function End Class
2 nov. 2005 à 12:05
Voili voilou
Bonne prog et ensemble programmons ! au lieu de nous pigner la gueule pour des futilités.
9 juil. 2005 à 12:04
non vraiment crois moi, même si je sais aussi bien que toi ce qu'est une fonction, ta phrase veut strictement rien dire.
Tu prends un ton narquois pour rien... "tu connais les fonctions?", mec si tu viens faire l'eloge de la POO, parles moi d'autre chose que de fonctions... des class, de l'heritage, du surclassement, du theading... car meme en lisant ce vieux code, tu verras que des fonctions basique et procédures, j'en utilise, c'est juste que j'ai pas du tout optimiser ça à l'epoque. Peut être que je devrais t'expliquer ce que moi je sais sur la POO? ;) =)
Sans te manquer de resppect, j'ai regarder quelques sources que tu as posté, et j'ai rien à apprendre de toi...
Et pour la recherche, je sais pas ce que tu as cherché... et je connais pas le critères de la recherche de Nix.
Sans rancunes :p
8 juil. 2005 à 22:24
pour .net oui il est plus lent dans les interfaces graphique, beaucoup plus de mémoire est utilisé et beaucoup plus d'évênement est déclaré. Être en C#, les évênement son déclaré manuellement, mais en VB.net, tout les évênements sont présent (les handles étant non nécessaire en vb.net a moins de créer le composant à la main)
j'ai pas dit de reprendre ton projet, je disait pour les projets futur de mieux découper en fonction. VB.Net a été copier du Java et le Java a été créé pour être programmé en orienté objet et non en procédurale. Je retournerais jamais sous vb6.0, sauf si obligation, mais pour un code écris au complet en une fonction, ça donne rien d'avoir passé a .net.
en plus, je suis tombé sur ta source, j'ai pas regardé la date de diffusion sur le site. En faisant une recherche ta source est tombé comme premier résultat ??? et ton nick me disait rien. donc ej t'ai considéré comme un débutant. désolé. Ça serait pareil pour moi si tu regardais mes premières sources. Par contre, je comprend toujours pas pourquoi ta source est tombé premier dasn les résultats ??? mais bon. En passant, non j'ai pas voter, je vote très rarement. Donc non je t,ai pas donné un 1/10. Par contre c'est bizarre, on dirait que tu as aucun vote mais tu as un 1/10 de moyenne lol. Petit bug ici
8 juil. 2005 à 18:41
2) Ce code a deux ans et demi, j'ai repeter plusieurs fois dans les commentaires que j'avais vraiment la flemme de reprendre un projet aussi inutile. Donc j'approuve la critique mais la m.a.j, je la ferais quand j'aurais le temps...
3) Je suis presque convaincu que tu as tort pour vb.net, il est certes plus lent à charger, mais sur des calculs en boucle, il est bien plus puissant que vb6.
8 juil. 2005 à 18:08
divise ton code en fonction, ça va déjà rendre ton code beaucoup plus clair et moins dur a lire
ensuite, ça donne rien de passer a .net si tu code pas en orienté objet. eh ... là faut soit un bon livre soit un cour. Bon oki, je dis pas que tu peux pas programmer en procédurale en énet, sauf que c'est juste que ton code sera lent pour rien. VB.net est plus lent que vb6.0. Par contre vb6.0 est vraiment basique a comparer .net
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.