Accueil > Forum > > > > optimisation: insérer un espace tous les deux caractères
optimisation: insérer un espace tous les deux caractères
mardi 3 février 2009 à 09:25:22 |
optimisation: insérer un espace tous les deux caractères

Billybobbonnet
|
Salut à tous, Comme le titre l'indique, j'avais besoin d'insérer un espace tous les deux caractères dans une variable string qui peut changer de taille. J'ai essayé de le faire moi même, et j'ai réussi, mais c'est plus sur la méthode que je me posais des questions, ça va comme ça? y a t il moins gourmand? Dim temp as string Dim buffer as string While Temp <> "" buffer = buffer & Left(Temp, 2) & " " Temp = Mid(Temp, 2) End While s = buffer Merci!
|
|
mardi 3 février 2009 à 13:40:21 |
Re : optimisation: insérer un espace tous les deux caractères

Renfield
|
Réponse acceptée !
le gros probleme dans ton code est la reallocation continue de mémoire.
es-tu bien en .Net ? si oui, tu as des StringBuilders
sinon, je peux te préparer quelque chose...
|
|
mardi 3 février 2009 à 14:23:34 |
Re : optimisation: insérer un espace tous les deux caractères

fauve
|
Réponse acceptée !
Salut,
Voici une manière parmi tant d'autres pour y arriver (j'ignore si c'est la meilleure en revanche )
Dim str As String = "abcdefghij"
' La boucle For ne s'initialise qu'une fois donc si on rajoute des caractères ' dans la variable de type String --> la boucle va s'arrêter avant d'atteindre ' la fin de cette chaine. ' Il faut donc prendre le nombre de caractères de la chaine et on rajoute le nombre d'espaces ' nécessaires For nb As Integer = 0 To str.Length + Math.Round(str.Length / 2, 0, MidpointRounding.ToEven) - 1 Step 3 str = str.Insert(nb, " ") Next On obtient la chaine suivante --> ab cd ef gh ij
++
Fauve Pensez : Réponse Acceptée 
|
|
mardi 3 février 2009 à 15:26:29 |
Re : optimisation: insérer un espace tous les deux caractères

Billybobbonnet
|
Je connaissais pas les .insert, merci pour ta méthode Fauve!
Renfield, te sachant de bons conseils, je vais revoir les stringbuilders (dont j'ai un souvenir douloureux).
"la reallocation continue de mémoire." < à cause du while? Je crois savoir que les variables string sont plus lourdes que les integer, ce serait mieux en remplaçant While Temp <> "" par While temp.lengh >0 ?
Bien sur, je cherche plus à m'instruire sur les bonnes pratiques que qu'autre chose, c'est pour ça que je pinaille :).
|
|
mardi 3 février 2009 à 15:30:50 |
Re : optimisation: insérer un espace tous les deux caractères

Renfield
|
tu sais combien de blancs tu dois insérer...
tu peux donc agrandir la chaine une fois pour toutes
|
|
mardi 3 février 2009 à 15:56:13 |
Re : optimisation: insérer un espace tous les deux caractères

Billybobbonnet
|
Dans ce cas là, c'est un signal radio fréquence de longueur variable que je reçois (en fait c'est des paquets de 10 bits), converti en hexadécimal et mis en forme en groupes de 2 caractères. Le coup la longueur variable, c'est assez dur à expliquer compte tenu que j'ai des messages sur 10 bits, mais dans les faits, j'ai dans certains cas (déterminés) 3 caractères hexa de moins.
A chaque message reçu, je lance une fonction qui le met en forme et l'interprète. La fonction peut être amenée à être lancée très souvent, en fonction du nombre de messages reçus, d'où la volonté d'optimiser.
|
|
Cette discussion est classée dans : buffer, espace, insérer, temp, caractères
Répondre à ce message
Sujets en rapport avec ce message
insérer espace après nombres dans chaine de caractères [ par enemme ]
Bonjour messieurs, dames...Je viens vers vous aujourdh'ui pour vous demander de l'aide. Je ne suis pas un programmateur né, mais je suis obligé en ce
Problème d'espace dans les comparaisons de chaines de caractères [ par m.bazier ]
J'essai, dans mon code VBA, de comparer deux champ de table différente.Dans le 1er champ, j'ai :"MonChamp"Et dans le 2ème, j'ai :"MonChamp
XML - insérer des caractères spéciaux - é è à [ par morickno ]
Comment peut on utliser des caractères tel que é ou à dans un fichier xml sans qu'il y est d'erreur. Y a t'il une syntaxe particulière ou un caratères
Mettre un espace tous les 3 caractères [ par stella ]
Salut les copains,voilà je dois récupérer les données d'un champ texte (jusque là pas de problème) et les mettre en forme du style les 3 premiers cara
remplacer les espace dans une variable [ par pcpunch ]
sltje voudrai remplacer les espaces dans ma variable a par des _.Genre "mon nom est" devient "mon_nom_est"G ce code la mais il me donne mon_nom est"ch
VBS : Expression régulière [ par parker13 ]
Bonjour,Je cherche à faire une expression régulière capable de réaliser le formattage ci-dessous : NOM Prenom - SERVICE exemple : DURAND Gille
remplacements [ par gribouillex ]
Bonjour, Une simple question : comment coder le plus proprement possible ceci : Dans une plage entre A1 et A20, si la chaine de caractères "aze" est t
Function renvoie un string, mais ajoute un espace... [ par sifflet_ ]
Salut à tous! J'ai un problème avec une fonction qui me retourne un string (mais ne le repasse pas). Pour un projet en Access 2003, je dois décoder le
Ajouter 1 à une chaine de caractères? [ par djdiabolik ]
Voilà mon problème est simple, mais plutôt que de réinventer la roue, je voudrais savoir si quelqu'un a déjà résolu ce genre de problèmatique. Si non,
Perte de caractères avec WebBrowser.DocumentText [ par alviens ]
Salut !J'essai de mettre en place un outil pour capturer le code source de nos applications .NET lors de la période test. Pour y arriver, j'utilise la
Livres en rapport
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|