Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Есть ли у элементов в Лист Боксе имена?

408
04 октября 2005 года
Lei fang
265 / / 01.10.2005
Всем приветик!

Тут такая проблема у меня возникла. Есть у меня два Лист Бокса. Один это список товаров, а другой - корзина. Каждому товару присвоена цена. После того, как пользователь выберет все товары, у него должна быть возможность узнать, какова сумма заказа. Я объявил переменную sum, и во время того, как пользователь переносит товар в корзину, к этой переменной приплюсовывается цена переносимого товара (я это определяю по индексу товара в Лист Боксе). С этим все нормально, проблема в том, что если пользователь захочет удалить товар из корзины, то нужно каким-то образом отнять цену этого товара от sum (здесь-то индекс и не прокатит, так как товары добавляются в произвольном порядке).
Может Вы знаете какой-нибудь алгоритм, по которому можно сравнивать товар в корзине с товарами в списке, и, в случае совпадения, отнимать от sum цену товара из списка товаров.
А может можно каким-то образом узнать название элемента в Лист Боксе (вместо индексов использовать названия)?

Вот отрывок кода:
(General)
Dim X As String
Dim id As Integer
Dim idx As Integer
Dim z As Integer
Dim sum As Integer

Private Sub Command2_Click() (Эта функция удаляет товары из корзины)
Dim n As Integer
For n = List2.ListCount - 1 To 0 Step -1
If List2.Selected(n) = True Then
If n = 0 Then sum = sum - 15
If n = 1 Then sum = sum - 20
If n = 2 Then sum = sum - 20
If n = 3 Then sum = sum - 25
If n = 4 Then sum = sum - 35
If n = 5 Then sum = sum - 50
If n = 6 Then sum = sum - 35
If n = 7 Then sum = sum - 20
If n = 8 Then sum = sum - 15
List2.RemoveItem (n)
z = z - 1
End If
Next
If z = 0 Then
Command2.Enabled = False
Command5.Enabled = False
Text1.Enabled = False
Text2.Enabled = False
Command4.Enabled = False
End If
End Sub

Private Sub Command3_Click() (эта функция переносит товар из списка в корзину)
Dim n As Integer
For n = 0 To List3.ListCount - 1
If List3.Selected(n) = True Then
List2.AddItem List3.List(n)
If n = 0 Then sum = sum + 15
If n = 1 Then sum = sum + 20
If n = 2 Then sum = sum + 20
If n = 3 Then sum = sum + 25
If n = 4 Then sum = sum + 35
If n = 5 Then sum = sum + 50
If n = 6 Then sum = sum + 35
If n = 7 Then sum = sum + 20
If n = 8 Then sum = sum + 15
List3.Selected(n) = False
z = z + 1
End If
Next
If z > 0 Then
Command2.Enabled = True
Command5.Enabled = True
Text1.Enabled = True
Text2.Enabled = True
If Text1.Text <> "" And Text2.Text <> "" Then Command4.Enabled = True
End If
End Sub

Если Вам удобно работать с полным кодом, то его можно взять здесь, а здесь полная версия этой лабы (с картинками (она нужна, если Вам не хочется исправлять ошибки в коде, связанные с отсутствием картинок)). (это самораспоковывающиеся архивы)
Всем зарание спасибо.
405
05 октября 2005 года
Dmitrii
554 / / 16.12.2004
Цитата:
Originally posted by Lei fang
А может можно каким-то образом узнать название элемента в Лист Боксе (вместо индексов использовать названия)?


Воспользуйтесь свойством [COLOR=blue]Text[/COLOR].

408
05 октября 2005 года
Lei fang
265 / / 01.10.2005
Спасибо, Dmitrii. Разобрался я с удалением товаров, теперь все правильно подсчитывается.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог