Официальный сайт студ.городка НГТУ
Программирование и БД » Вопрос по Visual Basic 6 

#1  08.05.09 18:25

Вопрос по Visual Basic 6

Имеется форма, на ней TextBox (поле ввода) и CommandButton (кнопка). Необходимо по нажатию кнопки, содержимое TextBox занести в массив, а сам TextBox очистить для следующего ввода. ТАк вводить пока в TextBox не введен пробел.

Offline

#2  08.05.09 20:49

Re: Вопрос по Visual Basic 6

где вопрос та?)

Offline

#3  08.05.09 20:51

Re: Вопрос по Visual Basic 6

Muxa написал(а):

где вопрос та?)

Что писать в обработчике кнопки, в модуле уже объявлен строковый динамический массив.
Нужно сформировать массив из введенных слов, чтобы потом с ним работать.

Исправлено A.Tom (08.05.09 20:59)

Offline

#4  09.05.09 00:46

Re: Вопрос по Visual Basic 6

могу тока на VB.NET

Код: vb:

Dim array As New List(Of String)
Sub CommandButton_Click Handles CommandButton.Click
   array.AddRange(TextBox.Text.Split(' '))
   TextBox.Text = String.Empty
End Sub

Offline

#5  09.05.09 01:00

Re: Вопрос по Visual Basic 6

Пока спасибо, попробую на VB6 перенести

Offline

#6  09.05.09 07:14

Re: Вопрос по Visual Basic 6

ничё не понял из первого поста, равно как и из третьего, точнее как-то понял, но терзают сомнения.
если нужно сформировать массив из слов, введённых в текстбокс, а слова разделены пробелом(как я понял, тут хз)то:

Код: VB:

Dim cout As Integer ' глобальный, считает количество элементов в массиве
GSTR() - строковый массив, который заполняем
 
' код в commandbutton_click()
Dim s, e As Integer ' s - начало очередного слова,  e - позиция пробела в конце слова
Dim tmp As String
tmp = TextBox.Text ' сливаем текст из бокса в переменную
s = 1
e = InStr(s, tmp, " ")' ищем пробел
 
Do While e <> 0 ' выходим, как кончатся пробелы
GSTR(cout) = Mid(tmp, s, e - s) ' выдираем кусок от пробела до пробела
cout = cout + 1
s = e + 1
e = InStr(s, tmp, " ") 
Loop
 
GSTR(cout) = Mid(tmp, s, Len(tmp) - s + 1) ' добавляем последнее слово
cout = cout + 1
TextBox.Text = "" ' очистили текстбокс

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

Исправлено dorido (09.05.09 07:15)

Offline

#7  09.05.09 12:02

Re: Вопрос по Visual Basic 6

Нет, тут дело немного не так: вводится в TextBox слово и нажимается кнопка, слово заносится в массив, содержимое TextBox очищается для нового ввода. Если введено слово и после него стоит пробел, то по нажатию кнопки форма закрывается и прорамма переходит к другим формам, для работы которых необходим этот массив из слов

Offline

#8  09.05.09 13:57

Re: Вопрос по Visual Basic 6

Код: vb:

Dim cout As Integer ' глоб. считает количество слов.
'GSTR() - строковый массив, который заполняем
'
'код в button_click()
Dim tmp As String
 
tmp=TextBox.Text
 
TextBox.Text="" ' очистили текстбокс
GSTR(cout)=Trim(tmp) ' добавляем слово в массив, трим уберает пробелы с краёв
cout=cout+1
If Right(tmp,1)=" " Then Unload Form ' если последний символ - пробел, то, например, выгружаем форму

Исправлено dorido (09.05.09 20:17)

Offline

Программирование и БД » Вопрос по Visual Basic 6 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.046 сек.
Выполнено 14 запросов.