begin process at 2012 02 14 00:44:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Probleme avec listbox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec listbox

lundi 15 décembre 2003 à 13:08:15 | Probleme avec listbox

Tetris42

Salut voici mon probleme.

Je rentre des element ds une listbox a chaque element rentre correspond deux valeurs. je stock ces valeurs ds un tableau a a deux dimensions.
mon probleme c'est quand j enleve un element de ma listbox , j'aimerai que les valeurs correspondantes dans le tableau soit efface mais je ne sais pas comment faire
voici mon code
Picture 1 > ajoute ds la liste
Picture2 > retire de la liste

----------------------------------------------------------------------

Private Sub cmdCalculate_Click()

Dim A, B, C, D, R, S, KV, result, L1, L2
Dim T750
Dim LTGrade

If txtHOT.Text = "" Then
MsgBox "Please Choose a Highest Operating Temperature!", 0, "Alert Box"
Exit Sub
End If
If txtLSUT.Text = "" Then
MsgBox "Please Choose a Lowest Start-Up Temperature!", 0, "Alert Box"
Exit Sub
End If

Mini_SUV = 10000
Max_MinOV = 0
For i = 1 To Items
If Val(SUV_Array(i)) < Mini_SUV Then
Mini_SUV = Val(SUV_Array(i))
End If
If Val(MinOV_Array(i)) > Max_MinOV Then
Max_MinOV = Val(MinOV_Array(i))
End If
Next

txtSUV.Text = Mini_SUV
txtMinOV.Text = Max_MinOV
txtSUT.Text = txtLSUT.Text
txtMaxOT.Text = txtHOT.Text

R = Val(TestVirg(txtSUT.Text))
S = Val(TestVirg(txtMaxOT.Text))
C = Val(TestVirg(txtSUV.Text))
D = Val(TestVirg(txtMinOV.Text))


B = (Log(Log(D)) - Log(Log(C))) / (Log((273.15 + S) / (273.15 + R)))
A = Log(Log(D)) - B * Log(S + 273.15)
result = Exp(Exp(A + B * Log(273.15 + 40)))
L1 = Int(result * 100 + 0.5) / 100

B = (Log(Log(D)) - Log(Log(C))) / (Log((273.15 + S) / (273.15 + R)))
A = Log(Log(D)) - B * Log(S + 273.15)
result = Exp(Exp(A + B * Log(273.15 + 100)))
L2 = Int(result * 100 + 0.5) / 100


KV = 860
B = (Log(Log(D)) - Log(Log(C))) / (Log((273.15 + S) / (273.15 + R)))
A = Log(Log(D)) - B * Log(S + 273.15)
result = Exp((Log(Log(KV)) - A) / B) - 273.15
T750 = Int(result * 10 + 0.5) / 10

LTGrade = Int(T750 + 0.5)
If LTGrade <= -50 Then
LT = "5"
ElseIf LTGrade >= -49 And LTGrade <= -42 Then
LT = "7"
ElseIf LTGrade >= -41 And LTGrade <= -33 Then
LT = "10"
ElseIf LTGrade >= -32 And LTGrade <= -23 Then
LT = "15"
ElseIf LTGrade >= -22 And LTGrade <= -15 Then
LT = "22"
ElseIf LTGrade >= -14 And LTGrade <= -8 Then
LT = "32"
ElseIf LTGrade >= -7 And LTGrade <= -2 Then
LT = "46"
ElseIf LTGrade >= -1 And LTGrade <= 4 Then
LT = "68"
ElseIf LTGrade >= 5 And LTGrade <= 10 Then
LT = "100"
ElseIf LTGrade >= 11 And LTGrade <= 16 Then
LT = "150"
Else
LT = "Not defined"
End If

If L2 >= 5.03 And L2 <= 5.69 Then
L3 = "32"
ElseIf L2 >= 5.69 And L2 <= 7.15 Then
L3 = "46"
ElseIf L2 >= 7.15 And L2 <= 9.27 Then
L3 = "68"
ElseIf L2 >= 9.27 And L2 <= 12.17 Then
L3 = "100"
ElseIf L2 >= 12.17 And L2 <= 16.51 Then
L3 = "150"
ElseIf L2 >= 16.51 And L2 <= 22.4 Then
L3 = "220"
Else
L3 = "Not defined"
End If

If LT <> "Not defined" And L3 <> "Not defined" And Val(LT) > Val(L3) Then
LT = L3
End If

txtGrade.Text = LT + "L" + " - " + L3

End Sub

Private Sub Picture1_Click()
Items = Items + 1

listBox.AddItem (lstManufacturer.Text & " : " & lstEquipment.Text)

i = 0
While gCurrentRecord1 <= gLastRecord1 And i = 0
If lstManufacturer.Text = NFPATable(1, gCurrentRecord1) And lstEquipment.Text = NFPATable(2, gCurrentRecord1) Then
i = gCurrentRecord1
End If
gCurrentRecord1 = gCurrentRecord1 + 1
Wend

gCurrentRecord1 = 1
SUV_Array(Items) = NFPATable(5, i)
MinOV_Array(Items) = NFPATable(3, i)
MsgBox ("minOV= " & NFPATable(3, i))
MsgBox ("SUV= " & NFPATable(5, i))

End Sub

Private Sub Picture2_Click()

listBox.RemoveItem listBox.ListIndex

End Sub

Tetris
lundi 15 décembre 2003 à 13:16:38 | Re : Probleme avec listbox

radada

Ben je pense que le mieux est de, quand tu enlève un élément de ta listbox, tu récupère l'index, et tu parcours ton tableau de cet index jusqu'à la fin en faisant remonter les valeurs d'un cran, genre


For i = (index + 1) to TabFin
tab[i-1][0] = tab[i][0]
tab[i-1][1] = tab[i][1]
next i
TabFin = TabFin - 1
lundi 15 décembre 2003 à 14:19:17 | Re : Probleme avec listbox

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Ou sinon, moins optimisé mais sûrement plus facile à faire :

Tu vide ton tableau, tu enlève l'élément de la listbox, puis tu reconstruit ton tableau.

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
lundi 15 décembre 2003 à 14:21:31 | Re : Probleme avec listbox

radada

C'est clair, c + facile : ))
lundi 15 décembre 2003 à 14:42:11 | Re : Probleme avec listbox

Tetris42


Private Sub Picture1_Click()
Items = Items + 1

listBox.AddItem (lstManufacturer.Text & " : " & lstEquipment.Text)

i = 0
While gCurrentRecord1 <= gLastRecord1 And i = 0
If lstManufacturer.Text = NFPATable(1, gCurrentRecord1) And lstEquipment.Text = NFPATable(2, gCurrentRecord1) Then
i = gCurrentRecord1
End If
gCurrentRecord1 = gCurrentRecord1 + 1
Wend

gCurrentRecord1 = 1
SUV_Array(Items) = NFPATable(5, i) ' <- c est ici ke je stock ma premiere valeur
MinOV_Array(Items) = NFPATable(3, i)' <- c est ici ke je stock ma deuxieme valeur
End Sub

Private Sub Picture2_Click()
listBox.RemoveItem listBox.ListIndex
Items = Items - 1
End Sub


ca marche juste si la personne selectionne le dernier element de la listbox. je pensais recuperer l index de l element selectionne mais deja j y arrive pas. et il faudrait apres redecaler tt mon tableau a chaque element enlever.


Tetris
lundi 15 décembre 2003 à 14:47:55 | Re : Probleme avec listbox

radada

normalement, je crois que tu dois faire :


Private Sub Picture2_Click()
RemoveIndex = listBox.index
listBox.RemoveItem listBox.ListIndex

for i=RemoveIndex to Items
tab[i-1][0] = tab[i][0]
tab[i-1][1] = tab[i][1]
next i
Items = items - 1
End Sub
lundi 15 décembre 2003 à 14:59:33 | Re : Probleme avec listbox

lataupeben

utilise une listview et tu affiche pas la 2eme colone
lundi 15 décembre 2003 à 15:02:40 | Re : Probleme avec listbox

Tetris42

hum ca marche pas ...

le removeItem il aime pas du tt
il me met

Object is not an array a cette ligne -> RemoveIndex = listBox.Index





Private Sub Picture1_Click()

Items = Items + 1
listBox.AddItem (lstManufacturer.Text & " : " & lstEquipment.Text)
i = 0
While gCurrentRecord1 <= gLastRecord1 And i = 0
If lstManufacturer.Text = NFPATable(1, gCurrentRecord1) And lstEquipment.Text = NFPATable(2, gCurrentRecord1) Then
i = gCurrentRecord1
End If
gCurrentRecord1 = gCurrentRecord1 + 1
Wend

gCurrentRecord1 = 1
SUV_Array(Items) = NFPATable(5, i)
MinOV_Array(Items) = NFPATable(3, i)
MsgBox ("minOV= " & NFPATable(3, i))
MsgBox ("SUV= " & NFPATable(5, i))

End Sub

Private Sub Picture2_Click()

Dim RemoveIndex As Double
RemoveIndex = listBox.Index
listBox.RemoveItem listBox.ListIndex
For i = RemoveIndex To Items
SUV_Array(i - 1) = SUV_Array(Items)
MinOV_Array(i - 1) = MinOV_Array(Items)
Next i
Items = Items - 1

End Sub



Tetris
lundi 15 décembre 2003 à 15:33:32 | Re : Probleme avec listbox

radada


Parce qu'il faut faire comme ça..



Dim i As Integer

Private Sub List1_Click()
i = List1.ListIndex
End Sub


Ton I -> Index de l'élément sélectionné. Ensuite, tu peux faire ce que tu veux...
lundi 15 décembre 2003 à 15:35:44 | Re : Probleme avec listbox

radada

List1, c'est ton listBox d'où tu supprime un champs, et i est son index. Maintenant, tu a tout ce qu'il faut. Et pour supprimer c'est listBox.RemoveItem(i)

1 2

Cette discussion est classée dans : text, and, log, l2, ltgrade


Répondre à ce message

Sujets en rapport avec ce message

Requete Access [ par tahbre ] hello hello tout le monde!Alors moi j'ai un PROBLEME avec une requête, je veux effectuer une sélection dans ma base access à partir de contrôles dbcom Problème SQL [ par Evangelion ] J'exécute la requête SQL suivante avec un objet ADODC.Command. cmdContacts.CommandText = "SELECT * FROM Suivi WHERE Nom = '" & datcboNom.Text & "' AND convertisseur [ par romualdino ] Bonjour, je fait un convertisseur decimale binaire mais lorsque je met par exeple le chiffre (10244) en base 10 il devrait me donner (2804)en base 16 Fonction FILTRE en Visual Basic 6 [ par kimou75 ] bonjour.j'ai créé un filtre, afin d'obtenir la requete qui corespond à ce que l'utilisateur a rentré dans le textbox.Mais aparament ca ne marche pas t Text Area et couleur [ par bandw ] Bonjour, Vu que la derniere fois j'ai eu une réponse ( et une bonne en plus :) )je reviens poser une question.. Peut etre qu'un jour c'est moi qui rep Text Area et couleur [ par bandw ] Bonjour, Vu que la derniere fois j'ai eu une réponse ( et une bonne en plus :) )je reviens poser une question.. Peut etre qu'un jour c'est moi qui rep Text Area et couleur [ par bandw ] Bonjour, Vu que la derniere fois j'ai eu une réponse ( et une bonne en plus :) )je reviens poser une question.. Peut etre qu'un jour c'est moi qui rep problème avec une connection vers BD acces [ par NBGlandeur ] quand j'essaye d'executer mon programme, il s'arrete sur la ligne sensée ouvrir mon recordset, et me balance:runtime error .........syntax error in FR Clarté de Script [ par szteam ] Boonjour voiladans mon script je suis amené a répéter la meme procédur plusieur fois de suit est elle est longue et brouille le script (on ne s'y retr NURMITES [ par Ophidian ] tout simplement sublime quoique un peu simple jusqu'a present...juste pour me marrer, on peut remplacer "Log$ = Log$ + Chr$(10) + Chr$(13) + text$"par


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,342 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales