alx3d
Messages postés2Date d'inscriptionlundi 8 juillet 2002StatutMembreDernière intervention 2 mai 2006
-
2 mai 2006 à 04:54
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
29 mai 2008 à 23:45
Bonjour à tous,
Je suis débutant et j'ai besoin d'aide.
J'ai une liste de valeur constante que j'aimerai incerer dans mon application. Je ne sait pas du tout par ou commencer. J'explique:
J'ai un texte box dans lequel l'utilisateur doit entrer un nombre de 0 à 1000, l'application doit récupèrer ce nombre et chercher dans une liste ou un tableau les 2 valeurs associée a celui-ci et les traiter séparèments.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 2 mai 2006 à 13:38
salut,
dans le principe (en VB6, désolé), je dirai un truc de ce genre...
Option Explicit
Dim aMonTab(1000) As String
'
'
Private Sub Form_Load()
Dim i As Integer
For i = 0 To 1000
aMonTab(i) = CStr (i \ 10 + 10) & "," & CStr(i * 9) \ 100)
'List1.AddItem aMonTab(i)
Next i
Text1.Text = "15"
End Sub
'
Private Sub Form_Unload(Cancel As Integer)
Erase aMonTab
End Sub
'
'
Private Sub Command1_Click()
Dim lVal As Long
lVal = Val (Text1.Text)
If lVal > 0 And lVal < 1001 Then
Dim sLeft As String, sRight As String
sLeft = Left(aMonTab(lVal), InStr(1, aMonTab(lVal), ",") - 1)
sRight = Right (aMonTab(lVal), Len(aMonTab(lVal)) - InStr(1, aMonTab(lVal), ","))
If LenB(sRight) = 2 Then sRight = sRight & "0"
trop long? d'accord, alors en 3 lignes (on ne compte pas les caractères de continuation [MP : au fait, c'est 25 max(tiens, mais à qui dis-je cela?)]):
en VB6, pour imiter les static s_Variant const k_Machin[] du C, j'aurais dit :
Dim Machin, Mots As Variant
'Affectations du tableau de pseudo-constantes (appelée aussi des constantes variables :) )
Machin = Array("110;0","99;0","93;0",...,"12;42")' le; pour eviter les confusions de type
'préparation pour l'affichage de la pseudo-constante 1000
Mots = Split (Machin(1000),";",-1)' sépare les mots de la pseudo-constante 1000,
' donc de 12;42
et d'après ma nouvelle doc (2005), il existe un objet Array (implicite d'ailleurs), qui permet des écritures du genre :
'instanciation implicite d'un array
Dim myIntArray() As Integer = {1,2,3,4,5}
et
'énumération
For Each i In myIntArray
Console.Write(i)
Next i
PS : pardon d'avance, 401740 PCPT :)
PS2 : =12022 alx3d, je te laisse adapter l'exemple VB6 en .Net, je n'en fait pas encore assez (du .Net)
à+
rvblogn
<sup>
</sup><sup>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</sup>
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 3 mai 2006 à 18:48
salut à tous, salut rvblog,
bien vu en effet au niveau du nombre de lignes. par contre en ressource c'est pas çà...
mieux vaut éviter les variant autant que possible.
ps : pas de mal ^^
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 20127 3 mai 2006 à 21:02
Et moi, je viens de prendre conscience du pourquoi tout le monde s'évertue à utiliser des mid$, left$, right$... là où jusque là je trouvais que ça cassait la lisibilité
Comme quoi, avant de passer au .Net, il en reste(ait?) encore sous le coude de VB6!
PS : idem, il n'y a pas longtemps, j'apprenais (par toi me semble-t-il) l'avantage cruel du VB6 US!
à+
rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
chaudier37
Messages postés209Date d'inscriptionjeudi 5 août 2004StatutMembreDernière intervention15 juillet 2009 29 mai 2008 à 23:07
bonjour
je viens de voir que vous avez une solution pour un tableau...
j'ai le même problème. je ne me souviens plus du cours...
Private Sub CommandButton1_Click()
Dim MonTaBleau(1 To 7) As Integer
MonTaBleau(1) = lundi
MonTaBleau(2) = mardi
MonTaBleau(3) = mercredi
MonTaBleau(4) = jeudi
MonTaBleau(5) = vendredi
MonTaBleau(6) = samedi
MonTaBleau(7) = dimanche
Dim a As Variant
a = InputBox("entrez le jour") & MonTaBleau(MonTaBleau, a)
MsgBox "c'est " & MonTaBleau(a)
End Sub
quelle est la syntaxe exacte pour avoir avec un chiffre dimanche ou mercredi ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 29 mai 2008 à 23:45
salut,
pour cet exemple çà sera juste...
MsgBox WeekdayName(3, False, vbMonday)
sinon un tableau en général, il n'y a pas de solution mirable, il faut boucler (for I = L to U) sur chaque item.
si item = "ta chaine" alors quitter la boucle, I vaut la valeur recherchée