Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Type mismatch. Как корректно объявить массивы? / 9 сообщений из 9, страница 1 из 1
19.12.2015, 17:31
    #39132357
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch. Как корректно объявить массивы?
Силы на исходе. не понять как правильно объявить массив.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Dim i As Integer
Dim j, pos, k As Integer
Dim p As Integer
Dim txt
Dim code
Dim stok As String
Dim lt As Integer

1 Private Sub Кнопка5_Click()
2   Dim tmp
3   txt = text1.Value
4    lt = Len(txt)
5     'MsgBox (lt)
6    txt = LCase(txt)
7    MsgBox (txt)
8    k = CInt(Int((10 * Rnd()) + 1))
9    'MsgBox (k)
    
10    For i = 1 To lt
11    p = Abs(k - code)
12    tmp = Mid(txt, i, 1)
13    code = InStr(p, bl, tmp)
14    MsgBox (CStr(code))
15    Next i
16    stok = ""
17    For i = 1 To lt
18        stok = stok & CStr(code(i))
19        Next
20      MsgBox (stok)
21    End Sub



Ставлю code as long, вылезает Expected array в 18 строке.
14ю использую просто для просмотра(убедиться что работает)

Помогите, пожалуйста!застряла на этом месте и дальше никак((((
...
Рейтинг: 0 / 0
19.12.2015, 17:59
    #39132362
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch. Как корректно объявить массивы?
XyrmaСилы на исходе. не понять как правильно объявить массив.

Помогите, пожалуйста!застряла на этом месте и дальше никак((((
Хотя бы так
1. http://www.taurion.ru/access/13/6
2. http://www.on-line-teaching.com/vba/lsn0120.html
Тут всего много
3. https://yandex.ru/search/?lr=213&text=access vba объявление массива

Пожалуйста, пользуйтесь возможностями оформления сообщений.
Невозможно же читать.
...
Рейтинг: 0 / 0
19.12.2015, 18:02
    #39132363
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch. Как корректно объявить массивы?
__Michelle,

так я не могу понять что тут не так..(((
...
Рейтинг: 0 / 0
19.12.2015, 18:15
    #39132366
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch. Как корректно объявить массивы?
Xyrma__Michelle,

так я не могу понять что тут не так..(((
За минуту уже ознакомились с материалом по ссылкам?

Попробуйте увидеть разницу между правилом и Вашим описанием http://www.taurion.ru/access/13/6 ЭТО ПЕРВАЯ ССЫЛКА. СМОТРЕЛИ? РЕКОМЕНДУЮ - ТАМ И ПРИМЕР ЕСТЬ...Вот синтаксис оператора объявления массива:
Код: vbnet
1.
Dim <имяМассива> (<размер1>, <размер2>, ...) As <типДанных>

где указанные в скобках величины <размер1>, <размер2> и т.д. задают размеры массива — количество индексов и максимально допустимое значение для каждого. конкретного индекса. При этом индексирование элементов массива по умолчанию начинается с нуля.
Видите, кстати, как Ваш код в первом сообщении оформили тегами (модераторам спасибо скажите)?
...
Рейтинг: 0 / 0
19.12.2015, 18:27
    #39132369
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch. Как корректно объявить массивы?
__Michelle,

Спасибо.В дальнейшем обязательно буду пользоваться)

Я все эти материалы изучала до этого. И не только эти. и книги, и форумы, и сайты.

Если code объявить
Код: vbnet
1.
Dim code as long


то как я уже говорила, вылезает другая ошибка.
Код: vbnet
1.
Expected array


Если задаю ему размер
Код: vbnet
1.
Dim code (1 to 1000) as long


то в 11 строке вылезает
Код: vbnet
1.
Type mismatch


и....все(
...
Рейтинг: 0 / 0
19.12.2015, 18:48
    #39132373
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch. Как корректно объявить массивы?
Xyrma,

Попробуйте без явного указания типа
Код: vbnet
1.
Dim code (1 to 1000)

Будет возникать ошибка?
...
Рейтинг: 0 / 0
19.12.2015, 18:55
    #39132375
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch. Как корректно объявить массивы?
__Michelle,

да. там же
Код: vbnet
1.
p = Abs(k - code)
...
Рейтинг: 0 / 0
19.12.2015, 19:07
    #39132377
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch. Как корректно объявить массивы?
Xyrma__Michelle,

да. там же
Код: vbnet
1.
p = Abs(k - code)

Но ведь, для начала, надо указать конкретный элемент массива...
Код: vbnet
1.
p = Abs(k - code(i))
...
Рейтинг: 0 / 0
19.12.2015, 19:18
    #39132385
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch. Как корректно объявить массивы?
__Michelle,

СПАСИБО Вам огромное!!!!

Пришлось исправить и здесь
code(i + 1) = InStr(p, bl, tmp)
MsgBox (CStr(code(i)))[/SRC]

Вот только теперь строка
Код: vbnet
1.
 p = Abs(k - code(i))


не выполняет свою функцию.
Поиск опять начинается с первого символа.
Если ставлю
Код: vbnet
1.
code(i+1)

то не показывает позицию первого символа...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Type mismatch. Как корректно объявить массивы? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]