Új hozzászólás Aktív témák
-
T_bee
aktív tag
na. már rájöttem erre is
DE.
van egy progi, ami bekér két számot text1 és text2 vezérlőben, a és b változóba.
Private Sub Command1_Click()
If i = False And j = False Then
c = a
c = c + ''*''
c = c + b
o = a * b
index = a * b
List1.AddItem = c
q = q + o
Text3.Text = q
End If
End Sub
és ha a lista egyik elemét törlöm akkor hogy lehet annak az értékét( tehát az elem c változójának értékét) törölni egy másik Q változóból?''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/
-
blemidon
tag
A listboxban 5*6 stb formátumban vannak az elemek.
A következő függvény egy ilyen stringet alakít vissza az eredménnyé:
Private Function ListItemFromText(s As String) As Integer
Dim x As Integer
Dim s1 As String, s2 As String
s1 = Left(s, InStr(s, ''*'') - 1)
s2 = Right(s, InStr(s, ''*'') - 1)
ListItemFromText = Val(s1) * Val(s2)
End Function
Meghyvod az épp törölni kívánt listelemmel, és visszaadja hogy mennyi annak a számértéke, ezt már ki tdod vonni a q-ból. -
blemidon
tag
Ez nem csak arra jó. Ha jobban megnézed, ez 1 eljárás, ami a listboxod bármelyik elemének értékét adja vissza számként. Ha törölsz 1 elemet, akkor tudod hogy melyik volt az (az éppen kijelölt elemet a List1.Text függvénnyel kérdezheted le. Amit már írtam régebben hogy a kijelölt elem indexe, ugyanott lekérdezhető az értéke is ezzel) Mivel az éppen kijelöltet fogod törölni, ezt az értéket átadod ennek a függvénynek, és visszakapod a számértékét integerben.
Private Sub List1_Click()
MsgBox List1.ListIndex
MsgBox ListItemFromText(List1.Text)
End Sub
Itt simán q-ból kivonod a ListItemFromText(List1.Text)-et, és kész. Az épp az az elem ami ki van jelölve, tehát az aktuális törlendő. -
blemidon
tag
ListBox, ComboBox és MS FlexGrid első indexe 0, tehát az első elemet 0-s indexszel tedd be, ne egyessel. Nem tudsz kapásból pl 5. helyre tenni, ha nincs előtte annyi elem.
Linuxon ezek nem fognak menni, miven windowsos programok. Nem tudom, de sztem biztos van már linuxra vmilyen VB compiler, de azt sztem nem a Microsoft írta -
T_bee
aktív tag
hoppá... most olvasom és rájöttem hogy ez nem a kivonnó eljárás...
Private Sub Command4_Click()
If List1.Text <> '''' Then
If mag >= 10 And szele >= 10 Then
s1 = Left(List1.Text, InStr(List1.Text, ''x'') - 1)
s2 = Right(List1.Text, InStr(List1.Text, ''x'') - 1)
listitem = Val(s1) * Val(s2)
List1.RemoveItem List1.ListIndex
ossz = ossz - listitem
mem.Text = ossz
i = i - 1
ElseIf mag >= 10 And szele <= 10 Then
s1 = Left(List1.Text, InStr(List1.Text, ''x'') - 1)
s2 = Right(List1.Text, InStr(List1.Text, ''x'') - 2)
listitem = Val(s1) * Val(s2)
List1.RemoveItem List1.ListIndex
ossz = ossz - listitem
mem.Text = ossz
i = i - 1
ElseIf mag <= 10 And szele >= 10 Then
s1 = Left(List1.Text, InStr(List1.Text, ''x'') - 1)
s2 = Right(List1.Text, InStr(List1.Text, ''x''))
listitem = Val(s1) * Val(s2)
List1.RemoveItem List1.ListIndex
ossz = ossz - listitem
mem.Text = ossz
i = i - 1
End If
Else
d = MsgBox(''Nincs kijelölt adat!'', vbInformation, ''Hiba'')
End If
End Sub
na ez lenne az, ha valaki rájön hogy mi benne a hiba annak megköszönném.''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/
-
Victorius
tag
Új hozzászólás Aktív témák
- Xbox Series X|S
- Samsung Univerzum: Az S23-at is megbabonázta a Galaxy AI
- Milyen okostelefont vegyek?
- Házimozi belépő szinten
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Kínában túl sok az EV, fokozódik az árháború
- A Samsung hazánkban is piacra dob idén egy friss Micro LED tévét
- Gitáros topic
- Politika
- Milyen egeret válasszak?
- További aktív témák...