Demande explication d'un prg

cs_domxaline
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
- 22 août 2008 à 17:37
cs_domxaline
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
- 23 août 2008 à 15:34
bonjour
je suis debutant dans le vb net
je veux quelque explications pour ces prgs

Dim ch As Char
ch = "2"c
Console.WriteLine(Char.IsDigit(ch))              ' Output: "True"'  Est un chiffre
Console.WriteLine(Char.IsLetter(ch))             ' Output: "False"' n'est pas  une lettre

dans ce prg la ligne suivant     ch="2"c    le petit c signifie quoi?

Dim s As String ="Philippe Dubout"
Dim m As String
If  s.Contains( " ") Then
   Dim mot() As String=s.Split(" "c)
     mot(0)= mot(0).ToUpper
     mot(1)= mot(1).ToUpper
     m = mot(0).Substring(0, 3)
 MsgBox (m)
 If  s.EndsWith ("BOUT")
  MsgBox ("Se termine par BOUT")
 End If 
End If
ici aussi pareil dans la ligne suivant
Dim mot() As String=s.Split(" "c)
le petit c signifie quoi?
S'il vous plaît expliquez moi

14 réponses

gillardg
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
22 août 2008 à 18:19
0
cs_domxaline
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
2
22 août 2008 à 20:16
Dim ch As Char
ch = "2"c
déjà on a declaré ch comme char et attribue une valeur, pouquoi encore une fois
c pour dire char?

Dim mot() As String=s.Split(" "c)
ici on fait un tableau nommé mot et on decoupe sous chaine
et à quoi sert (" " c)
explique moi clairement s'il te plaît
0
gillardg
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
22 août 2008 à 20:52
carractères imprimables ???


ce qui se trouve sur ton clavier???










Bonjour chez vous !
0
Kevin.Ory
Messages postés
840
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
11
22 août 2008 à 21:49
Salut,
Apparement le petit c indique qu'il faut transformer le String ("2") en Char. Mais je ne crois pas que ce soit indispensable, en tout cas moi je n'ai jamais vu
0

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

Posez votre question
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
22 août 2008 à 22:58
C'est Kevin qui a raison (tiens il me semble que tu m'a posé une question sur ce point dans un autre post mais en VB6)

le petit c sert à type la constante "2", c'est à dire qu'il indique que VB doit considérer la chaine de caractère "2" non pas comme une chaine mais comme un caractère.

Donc la constante "2" n'est pas une constante de type String (valeur par défaut) mais de type Char.

Et si ce n'est pas indispensable, c'est parce que VB n'est pas si rigoureux que ça et qu'il est capable de faire une conversion implicite de la string vers le char.
On peut très s'habituer à ne pas mettre le petit c, il n'y a pas de soucis. Sauf que le jour ou VB ne saura pas faire la conversion, ça sera peut-être pas évident de mettre le doigt sur ce problème pourtant visible comme le nez sur la figure.
(il parrait que ce sont les choses les plus visible qui sont les moins voyantes )

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
22 août 2008 à 23:03
youp, zavé pas vu la seconde question

s.Split(" "c) signifie que l'on va découper la chaine s en utilisant comme séparateur le caractère représenté par la constante " " (espace) ici explicitement type de type char (d'ou le petit c).

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_domxaline
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
2
23 août 2008 à 00:04
merci beaucoup j'ai compris
maintenant j'ai encore des questions

If Ch.Trim().StartsWith("<") Then

Dim lastLocation As Integer = Ch.IndexOf(">")
If lastLocation >= 0 Then
   
Ch = Ch.Substring((lastLocation + 1))
End If
End If

je ne comprend pas ces 2 lignes suivantes,veuillez m'expliquez
Dim lastLocation As Integer = Ch.IndexOf(">")

Ch = Ch.Substring((lastLocation + 1))
------------------------------------------------------

Dim C AsString = "DUBONET"

Dim Tx
As
String

Dim i
As
Integer

For i = 1
To
Microsoft.VisualBasic.
Len(C)
    Tx += Microsoft.VisualBasic.Left(C, i) + ControlChars.CrLf

Next i
TextBox1.Text = Tx

 

je ne comprend pas ces 2 lignes suivantes, il parle microsoft.visualbasis que est c'est ça
For i = 1
To
Microsoft.VisualBasic.
Len(C)
    Tx += Microsoft.VisualBasic.Left(C, i) + ControlChars.CrLf

merci beaucoup pour votre aide,je n'ai pas qualification d'un programmer,j'apprend programmer chez moi ,et je trouve le tuto dans l'internet et j'essaie,c'est pour ça
j'ai autant des questions
0
Kevin.Ory
Messages postés
840
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
11
23 août 2008 à 08:58
"tiens il me semble que tu m'a posé une question sur ce point dans un autre post mais en VB6"

Moi? En VB6? J'en doute

Dim lastLocation As Integer = Ch.IndexOf(">")
lastLocation prend comme valeur l'index du premier caractère ">" qui est trouvé dans la chaine Ch.

Ch = Ch.Substring((lastLocation + 1))
Seul la partie de la chaine se trouvant après le caractère ">" est gardé. Par exemple "<1234>ABC" devient "ABC".

Microsoft.VisualBasic.Len(C)
Cette méthode retourne la longueur de la chaine C. Etonnant de voir cette fonction écrite comme cela. Ceci est une fonction de rétro-compatibilité avec VB6, il faudrait utiliser la propriété C.Lenght à la place.

Microsoft.VisualBasic.Left(C, i) + ControlChars.CrLf
Ceci retourne les i premiers caractère de la chaine C et y ajoute un retour à la ligne. Encore une fois, il faudrait utiliser C.SubString(0,i) à la place

Tu peux trouver toute ces explications sur MSDN. Par ex pour le SubString:
http://msdn.microsoft.com/fr-fr/library/hxthx5h6.aspx
0
cs_domxaline
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
2
23 août 2008 à 09:54
Ch = Ch.Substring((lastLocation + 1))

ici      +1 signifie après le caractère,c'est ça
0
cs_domxaline
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
2
23 août 2008 à 10:39
Microsoft.VisualBasic.Left(C, i) + ControlChars.CrLf

Ceci retourne les i premiers caractère de la chaine
C
et y ajoute un retour à la ligne. Encore une fois, il faudrait utiliser

C.SubString(0,i)

à la place




ça veut dire il faut écrire comme ça n'est ce pas?

C.SubStrinng(0,i)+ControlChars.CrLf



+ControlChars.CrLf
signifie quoi?
0
gillardg
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
23 août 2008 à 11:26
+un retour à la ligne.










Bonjour chez vous !
0
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
23 août 2008 à 13:54
Précision :

Microsoft.VisualBasic est l'assembly (librairie si tu préfère) de compatibilité avec le code VB6.
Elle n'existe que dans un but précis, assurer une migration relativement simple d'un ancien code VB6 vers un code VB.Net (2003, 2005 ou 2008).

Dans un programme uniquement .Net (c'est à dire, en gros, tout projet qui n'est pas un projet VB6 converti en .net par l'assistant de conversion), cet assembly n'a normalement aucune utilité.
Toutes les méthodes exposées par cet assembly, faisant référence aux anciennes procédures et fonctions de VB6, sont toutes reprises d'une façon ou d'une autre dans le différentes classes de .Net, notament par la classe Strings pour tout ce qui est relatif aux chaines de caractères.

Kevin >"tiens il me semble que tu m'a posé une question sur ce point dans un autre post mais en VB6"
Moi? En VB6? J'en doute

Si, si, souviens-toi, l'histoire du & final dans &HFFFF&, c'était le même phénomène.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_domxaline
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
2
23 août 2008 à 15:29
non, je n'ai pas posé ce question avant,peut être quelqu'un d'autre
0
cs_domxaline
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
2
23 août 2008 à 15:34
merci beaucoup,j'ai compris
je reviendrai avec d'autres questions,à bientôt
0