Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Работа со строкой и списком Добавлено: 16.02.10 19:32  

Автор вопроса:  V1RR | Web-сайт: V1RR.us | ICQ: 636580 
Дело срочное - кусок курсача)
Допустим есть список Combo1, текстовое поле txt1 и кнопка cmd1.
Нужно удалить те строки списка, которые содержат знаки операций (/,*,-,+) и вывести в txt1 количество удаленных строк по нажатию кнопки :)
Помогите пож :)

Ответить

  Ответы Всего ответов: 27  

Номер ответа: 1
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #1 Добавлено: 16.02.10 21:19
перечисляй все значеия Combo1 в цикле а внутри этого цикла делай 2 цикл с перечислением всех символов значения и если 1 из символов значения совпадает тогда удаляй этот символ

или ты просил исходник? )

Ответить

Номер ответа: 2
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #2 Добавлено: 16.02.10 21:24
кстати заместо 2 цикла можно использовать функию Replace

Replace(expression, find, replace[, start[, count[, compare]]])
MyString = Replace("строка", "что искать", "на что заменять";)

Ответить

Номер ответа: 3
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #3 Добавлено: 16.02.10 21:28
 Just тебе сколько лет?

Ответить

Номер ответа: 4
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #4 Добавлено: 16.02.10 21:29
21

Ответить

Номер ответа: 5
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #5 Добавлено: 16.02.10 21:30
а что, ответ сильно детский? )

Ответить

Номер ответа: 6
Автор ответа:
 V1RR



ICQ: 636580 

Вопросов: 8
Ответов: 29
 Web-сайт: V1RR.us
 Профиль | | #6
Добавлено: 16.02.10 22:32
Just, реплейсом не выйдет, так как мне надо удалять полностью строку в списке...
Мне надо не символы удалять из строки в списке, а всю строку, если в ней есть символ искомый.

Ответить

Номер ответа: 7
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #7 Добавлено: 16.02.10 22:57
можно и реплэйсом! просто если символ найдет тогда удалить всю строку...

типа этого:
  1.     
  2. if len(MyString) <> len(OldMyString) then MyString = vbNullString



еще можно сплитом
  1.  
  2. arr = Split("C:\path1\path2\path3\FileName", "\")
  3. MsgBox arr(0)


принцип такой же
если значение появилось значит удалить строку

Ответить

Номер ответа: 8
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #8 Добавлено: 16.02.10 23:01
если значение появилось значит удалить строку

точнее если значение = строке

Ответить

Номер ответа: 9
Автор ответа:
 V1RR



ICQ: 636580 

Вопросов: 8
Ответов: 29
 Web-сайт: V1RR.us
 Профиль | | #9
Добавлено: 16.02.10 23:08
точнее если значение = строке

как раз нет. искомый символ может быть и в середине строки списка. надо учитывать, что в строке может быть последовательность разных символов напр "абвг+1234". Т.е. если а данной строке содержится символ - то удалить строку (но не если в строке только 1 искомый символ).
Набросайте чуть кода уже голова хреново под ночь думает с этой курсовой.. :(

Ответить

Номер ответа: 10
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #10 Добавлено: 16.02.10 23:41
2 V1RR
лентяй! )

  1.  
  2. Private Sub Form_Load()
  3. Combo1.AddItem "текст1текст"
  4. Combo1.AddItem "текст2текст"
  5. Combo1.AddItem "текст3текст"
  6. Combo1.AddItem "текст4текст"
  7. Combo1.AddItem "текст5текст"
  8. End Sub
  9.  
  10. Private Sub Command1_Click()
  11. For iCount = 0 To Combo1.ListCount - 1
  12.     sTempText = Combo1.List(iCount)
  13.     
  14.     'sRet = Split(sTempText, "2")
  15.     'If Len(sRet(0)) <> Len((Combo1.List(iCount))) Then Combo1.List(iCount) = vbNullString: lDelCount=lDelCount+1
  16.     
  17.     sRet = Replace(sTempText, "2", vbNullString)
  18.     If Len(sRet) <> Len((Combo1.List(iCount))) Then Combo1.List(iCount) = vbNullString: lDelCount = lDelCount + 1
  19. Next iCount
  20. txt1.Text = lDelCount
  21. End Sub

Ответить

Номер ответа: 11
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #11 Добавлено: 16.02.10 23:46
V1RR, а на кого ты учишься?
будет забавно если на программиста...
тогда получится менеджер кодит для программиста ))

Ответить

Номер ответа: 12
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #12
Добавлено: 17.02.10 02:12
Just, Just, что ты делаешь! InStr - поиск по строке
Поиск сплитом это совсем жестоко))

Ответить

Номер ответа: 13
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #13 Добавлено: 17.02.10 08:34
а что, ответ сильно детский? )

Ответ не детский просто я спрашивал чтоб знать откуда такая октивность

Ответить

Номер ответа: 14
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #14 Добавлено: 17.02.10 10:34
Winand
ну извиняйте! кодим как умеем!
Я же написал, я менеджер! )

кстати сплит я привел в качестве примера, чтоб показать принцип, что чем угодно можно сделать, лиж бы искал символ

p.s. до этого я ни разу в жизни не работал ни с комбо ни с поиском в строке и за 20 мин написал код в 2-х вариантах (большую часть времени потратил на изучение комбо), а в самом первом сообщении придумал алгоритм секунд за 5

Ответить

Номер ответа: 15
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #15 Добавлено: 17.02.10 10:43
Winand

кстати помойму реплейсом удобнее...
прогнать через замену всех символов а потом уже сравнить изменилось ли что с оригиналом

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам