Accueil > > > REMPLACER TOUTE LES INSTANCES D'UNE CHAINE PAR UNE AUTRE CHAINE. (COMME DANS CERTAINS PROGRAMMES)
REMPLACER TOUTE LES INSTANCES D'UNE CHAINE PAR UNE AUTRE CHAINE. (COMME DANS CERTAINS PROGRAMMES)
Information sur la source
Description
Salut, C'est le premier code que je commente et que je rends compréhensible donc j'espère que vous allez l'aimer :D Il ya a beacoup d'explications dans le module pour que vous puissiez le modifier à vôtre guise. J'ai aussi mit les équivalents en français des variables que j'ai utiliser (J'utilise toujours des variables en anglais car le basic c comme de l'anglais et ça aide à la compréhension quand il n'y a pas de changement de language :D)
Source
- '***********************************************************************'
- '* Vous pouvez utilisez ce module comme vous le voulez *'
- '* mais si vous l'utilisez en entier je vous prie laisser ces lignes *'
- '* et si vous distribuez un programme contenant ce module, je vous *'
- '* prie de m'inclure mon nom dans les crédits *'
- '*---------------------------------------------------------------------*'
- '* Ce module à été crée par: Michaël St-Georges *'
- '* Pour me contacter: M_St-Georges@copsoft.tk *'
- '* Pour plus de modules du genre, de programmes en codes sources, *'
- '* de formules utilisables en développement, visitez ce site web: *'
- '* http://source.copsoft.tk *'
- '*---------------------------------------------------------------------*'
- '* Copyright © 2002 CopSoft(Michaël St-Georges) *'
- '***********************************************************************'
- Dim SearchStart As Integer 'Équivalent en fraçais: SearchStart: Début de la Recherche.
- Dim FoundAt As Integer 'Équivalent en fraçais: FoundAt: Trouvé à.
- Dim AfterReplace As String 'Équivalent en fraçais: AfterReplacet: Après Remplacement.
- Public Function Replace(What As String, ByWhat As String, InWhat As String, CompareMethod As VbCompareMethod) As Variant 'Équivalents en français: Replace: Remplacer; What:Quoi; ByWhat:Par Quoi; InWhat:Dans Quoi; CompareMethod:Méthode de Comparaison.
- 'Si on utilise vbTextCompare comme CompareMethod, le programme ne respecteras pas la case du mot à remplacer alors que si on utilise vbBinaryCompare, le programme respecteras la case du mot à remplacer.
- SearchStart = 1 'Je réinitialise toujours les variables qui seront utilisés avant d'être modifiés pour éviter les erreurs et pour faciliter le débug
- AfterReplace = InWhat 'On mets le texte dans lequel chercher dans une autre variable que l'on pourra modifier.
- Do
- FoundAt = InStr(SearchStart, AfterReplace, What, CompareMethod) 'On Cherche tout premièrement la prochaine(Ou la première) instance de la chaine à remplacer.
- If FoundAt = 0 Then 'On vérifies si on a trouver une instance de la chaine à remplacer.
- Replace = AfterReplace
- Exit Function
- Else 'On pourrais mettre end if car la fonction est deja arètée a ce point mais je mets else pour éviter les erreurs et pour faciliter le débug.
- SearchStart = FoundAt + Len(What) ' On mets les point de départ pour la recherche de la prochaine instance.
- AfterReplace = Left(AfterReplace, FoundAt - 1) & ByWhat & Right(AfterReplace, Len(AfterReplace) - (FoundAt + Len(What) - 1)) 'On Remplace la chaine à remplacer par la chaine avec laquelle on remplace.
- 'La Fonction Left est utilisée pour trouver ce qui est situé avant la chaine à remplacer
- 'Après on ajoute la chaine par quoi il faut remplacer.
- 'Après La Focntion Right est utilisée pour ajouter ce qui se trouve après la chaine à remplacer.
- 'Explications de l'utilisation du Left: AfterReplace est la chaine ou prendre la sous-chaine à insérer dans une autre chaine; FoundAt-1 est utiliser pour définir la longeur que la sous-chaine doit avoir. J'ai ajouter -1 après FoundAt car InStr retourne la position du premier caractère de la chaine recherchée et Left a besoin de la position du charactère juste avant.
- End If
- Loop
- End Function
- 'Pour demmander à l'utilisateur s'il veut remplacer les instances trouvés comme dans certains programmes, il s'uffit d'ajouter ces lignes:
- 'Des les déclarations du module:
- ' Dim ReplaceAnswer As Integer 'Équivalent en fraçais: ReplaceAnswer: Réponse de Replacement.
- 'Dans la fonction:
- ' - Débutant à la ligne 12:
- ' ReplaceAnswer = Form1.CanReplace(FoundAt, What) 'Note: Il faut changer form1 par le nom de la où le texte repose.
- ' If ReplaceAnswer = 6 Then
- ' - Débutant à la ligne 17: 'Note la ligne 17 c'est avant qu'on ajoute ce qu'il faut ajouter à la ligne 12 sinon c'est la ligne 19
- ' End If
- ' If ReplaceAnswer = 2 Then
- ' SearchStart = Len(AfterReplace)
- ' End If
- 'Nimporte où dans la form:
- ' Public Function CanReplace(FoundAt As Integer, What As String) As Integer
- ' Text1.SelStart = FoundAt
- ' Text1.SelLength = Len(What)
- ' CanReplace = MsgBox("Voulez vous vraiment replacer cette instance?", vbYesNoCancel, "Remplacer") 'Note: Vous pouvez modifier le texte comme vous le voulez.
- ' End Function
'***********************************************************************'
'* Vous pouvez utilisez ce module comme vous le voulez *'
'* mais si vous l'utilisez en entier je vous prie laisser ces lignes *'
'* et si vous distribuez un programme contenant ce module, je vous *'
'* prie de m'inclure mon nom dans les crédits *'
'*---------------------------------------------------------------------*'
'* Ce module à été crée par: Michaël St-Georges *'
'* Pour me contacter: M_St-Georges@copsoft.tk *'
'* Pour plus de modules du genre, de programmes en codes sources, *'
'* de formules utilisables en développement, visitez ce site web: *'
'* http://source.copsoft.tk *'
'*---------------------------------------------------------------------*'
'* Copyright © 2002 CopSoft(Michaël St-Georges) *'
'***********************************************************************'
Dim SearchStart As Integer 'Équivalent en fraçais: SearchStart: Début de la Recherche.
Dim FoundAt As Integer 'Équivalent en fraçais: FoundAt: Trouvé à.
Dim AfterReplace As String 'Équivalent en fraçais: AfterReplacet: Après Remplacement.
Public Function Replace(What As String, ByWhat As String, InWhat As String, CompareMethod As VbCompareMethod) As Variant 'Équivalents en français: Replace: Remplacer; What:Quoi; ByWhat:Par Quoi; InWhat:Dans Quoi; CompareMethod:Méthode de Comparaison.
'Si on utilise vbTextCompare comme CompareMethod, le programme ne respecteras pas la case du mot à remplacer alors que si on utilise vbBinaryCompare, le programme respecteras la case du mot à remplacer.
SearchStart = 1 'Je réinitialise toujours les variables qui seront utilisés avant d'être modifiés pour éviter les erreurs et pour faciliter le débug
AfterReplace = InWhat 'On mets le texte dans lequel chercher dans une autre variable que l'on pourra modifier.
Do
FoundAt = InStr(SearchStart, AfterReplace, What, CompareMethod) 'On Cherche tout premièrement la prochaine(Ou la première) instance de la chaine à remplacer.
If FoundAt = 0 Then 'On vérifies si on a trouver une instance de la chaine à remplacer.
Replace = AfterReplace
Exit Function
Else 'On pourrais mettre end if car la fonction est deja arètée a ce point mais je mets else pour éviter les erreurs et pour faciliter le débug.
SearchStart = FoundAt + Len(What) ' On mets les point de départ pour la recherche de la prochaine instance.
AfterReplace = Left(AfterReplace, FoundAt - 1) & ByWhat & Right(AfterReplace, Len(AfterReplace) - (FoundAt + Len(What) - 1)) 'On Remplace la chaine à remplacer par la chaine avec laquelle on remplace.
'La Fonction Left est utilisée pour trouver ce qui est situé avant la chaine à remplacer
'Après on ajoute la chaine par quoi il faut remplacer.
'Après La Focntion Right est utilisée pour ajouter ce qui se trouve après la chaine à remplacer.
'Explications de l'utilisation du Left: AfterReplace est la chaine ou prendre la sous-chaine à insérer dans une autre chaine; FoundAt-1 est utiliser pour définir la longeur que la sous-chaine doit avoir. J'ai ajouter -1 après FoundAt car InStr retourne la position du premier caractère de la chaine recherchée et Left a besoin de la position du charactère juste avant.
End If
Loop
End Function
'Pour demmander à l'utilisateur s'il veut remplacer les instances trouvés comme dans certains programmes, il s'uffit d'ajouter ces lignes:
'Des les déclarations du module:
' Dim ReplaceAnswer As Integer 'Équivalent en fraçais: ReplaceAnswer: Réponse de Replacement.
'Dans la fonction:
' - Débutant à la ligne 12:
' ReplaceAnswer = Form1.CanReplace(FoundAt, What) 'Note: Il faut changer form1 par le nom de la où le texte repose.
' If ReplaceAnswer = 6 Then
' - Débutant à la ligne 17: 'Note la ligne 17 c'est avant qu'on ajoute ce qu'il faut ajouter à la ligne 12 sinon c'est la ligne 19
' End If
' If ReplaceAnswer = 2 Then
' SearchStart = Len(AfterReplace)
' End If
'Nimporte où dans la form:
' Public Function CanReplace(FoundAt As Integer, What As String) As Integer
' Text1.SelStart = FoundAt
' Text1.SelLength = Len(What)
' CanReplace = MsgBox("Voulez vous vraiment replacer cette instance?", vbYesNoCancel, "Remplacer") 'Note: Vous pouvez modifier le texte comme vous le voulez.
' End Function
Conclusion
Vous pouvez aussi télécharger le ZIP pour avoir la form de test que j'ai mit avec...
Gorgot
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|