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 2
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 2
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 40
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 40
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 2
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 40
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
Rejoignez-nous