Insérer un caractère dans une chaine

Résolu
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022 - 24 oct. 2008 à 13:34
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022 - 25 oct. 2008 à 16:35
Salut, je ne sais pas comment insérer un caractère dans une chaine et je ne trouve pas. Il n'y a que des remplacements de caractères existants, ce genre de trucs.... Ce serait ça :

Label1.caption = "183439"
J'aimerais insérer ":" dedans pour obtenir :
Label1.caption = "18:34:39"

Genre mettre ":" en position "2" et "5" (je pars d'une position "0")... dan cette chaîne donc... Il n'y aurait que des chiffres donc, pas de lettre à l'origine...

Si quelqu'un sait comment faire ça serait tip top !

Merci...

7 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
25 oct. 2008 à 15:44
1) Sous VB6, hein ... (ne te trompe pas la prochaine fois...)...
2) tu t'es sûrement précipité pour savoir comment fonctionne Formt (dans ton aide en ligne) toi ...

Regarde :

MsgBox Format("010101", "0#:##:##")
3
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
24 oct. 2008 à 14:39
Bonjour,

Utilise les fonctions left, right et mid.
Syntaxe
Mid(string, start[, length])La syntaxe de la fonction Mid comprend les éléments suivants :

élément, Description, ----
string, [javascript:alink_4.Click() arguments nommés] suivants :

Élément, Description, ----
string, <object id= "alink_5" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_7.Click() Expression numérique] indiquant le nombre de caractères à renvoyer. Si vous indiquez la valeur 0, une chaîne de longueur nulle ("") est renvoyée. Si vous indiquez une valeur supérieure ou égale au nombre de caractères contenus dans l'argument string, la totalité de la chaîne est renvoyée.

Syntaxe

Right( string , length)

La syntaxe de la fonction Right comprend les
<object id ="alink_4" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_4.Click() arguments nommés] suivants :

Élément, Description, ----
string, <object id="alink_5" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_7.Click() Expression numérique] indiquant le nombre de caractères à renvoyer. Si la valeur est 0, une chaîne de longueur nulle est renvoyée. Si cette valeur est supérieure ou égale au nombre de caractères contenus dans l'argument string, la totalité de la chaîne est renvoyée.

Bon courage...

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 oct. 2008 à 15:12
Bonjour,
Pourquoi serait-ce si complique de faire sous VB.Net ce que VB6 fait à l'aise ainsi :

toto = "183439"
MsgBox Format(toto, "##:##:##")

Vive VB6, alors ... et a fuera VB.Net (que je ne connais pas...)
0
Sehnsucht Messages postés 107 Date d'inscription samedi 25 novembre 2000 Statut Membre Dernière intervention 4 mai 2013
24 oct. 2008 à 17:02
String.Format existe aussi en .NET en de nombreuses surcharges, donc un peu de recherche pour trouver son bonheur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cyrilremy Messages postés 33 Date d'inscription samedi 15 décembre 2007 Statut Membre Dernière intervention 11 août 2010
24 oct. 2008 à 18:02
Il me semble qu'avec la fonction Insert() tu dois pouvoir le faire :)
Exemple ici pour ajouter des tirets :
Dim MyStr as String = "JoLuluDan"
MyStr.Insert(2,"-")
MyStr.Insert(6,"-")
Après opération, la chaine vaut "Jo-Lulu-Dan"

Par contre je ne sais pas si on part de 0 ou de 1, à toi de vérifier :)

Cyril
0
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
25 oct. 2008 à 10:08
euh... merci pour vos réponses mais je viens de m'apercevoir que je me suis gourré de catégorie là... c du vb6, pas du .net ou vb2005, quoi qu'il en soit, le coup de :

label1 = format(label1, ("##:##:##"))

fonctionne pil poil, sauf que si y'a un zéro en première position il est supp'.
Alors j'ai fait genre
if Len(label1) 7 then label1 "0" & label1

Ca marche...

mais si j'ai "000001" ça me fait "::1"

...
0
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
25 oct. 2008 à 16:35
Ben vi, j'ai zieuté un peu partout. Merci pour la re-réponse jmfmarques !
0
Rejoignez-nous