|
|
|
кол-во элементов в массиве
|
|||
|---|---|---|---|
|
#18+
Проходящий X-men2А можно ли какой-либо переменной присвоить(поставить в соответсвие) адрес этого массива? Но только не через varptr, а как бы просто указатель, который передавал бы не адрес а сам массив. Я вот никак сам не разберусь, может при помощи Set? Да вроде все просто: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. AndrFВообще-то это дело в байтовый массив просится, насколько я понимаю, если это Hex-коды. Или вообще в Long, если это число: CLng(&H000EC000) или CLng("&H" & "000EC000"). Ну короче, я и сам не совсем разобрался что требуется, но вот только в Delphi ссылка создается с помощью символа @. Т.е. допустим Z - массив, @Z - ссылка на массив, но если смотреть на это в debuger(e) то передается не адрес, а сам массив, но это опять же в Delphi, а вот в Basic как?..... Согласен. Скорее всего можно простыми битовыми операциями решить задачу. но автор хочет так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 08:56 |
|
||
|
кол-во элементов в массиве
|
|||
|---|---|---|---|
|
#18+
Х-men2 Проходящий[quot X-men2]А можно ли какой-либо переменной присвоить(поставить в соответсвие) адрес этого массива? Но только не через varptr, а как бы просто указатель, который передавал бы не адрес а сам массив. Я вот никак сам не разберусь, может при помощи Set? Да вроде все просто: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. AndrFВообще-то это дело в байтовый массив просится, насколько я понимаю, если это Hex-коды. Или вообще в Long, если это число: CLng(&H000EC000) или CLng("&H" & "000EC000"). Ну короче, я и сам не совсем разобрался что требуется, но вот только в Delphi ссылка создается с помощью символа @. Т.е. допустим Z - массив, @Z - ссылка на массив, но если смотреть на это в debuger(e) то передается не адрес, а сам массив, но это опять же в Delphi, а вот в Basic как?..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 09:33 |
|
||
|
кол-во элементов в массиве
|
|||
|---|---|---|---|
|
#18+
Х-men2Ну короче, я и сам не совсем разобрался что требуется, но вот только в Delphi ссылка создается с помощью символа @. Т.е. допустим Z - массив, @Z - ссылка на массив, но если смотреть на это в debuger(e) то передается не адрес, а сам массив, но это опять же в Delphi, а вот в Basic как?..... F1 и делее ищем ByRef . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 11:00 |
|
||
|
кол-во элементов в массиве
|
|||
|---|---|---|---|
|
#18+
Держи пример - передача массива по ссылке и по значению: Public Sub Main() Dim m() As String, i As Long ReDim m(2) For i = 0 To UBound(m) m(i) = "Тест " & i Next i Debug.Print "ByVal Before --------" MyProcByVal m Debug.Print "ByVal After --------" For i = 0 To UBound(m) Debug.Print m(i) Next i Debug.Print "ByRef Before --------" MyProcByRef m Debug.Print "ByRef After --------" For i = 0 To UBound(m) Debug.Print m(i) Next i End Sub Private Sub MyProcByVal(ByVal m As Variant) Dim i As Long For i = 0 To UBound(m) Debug.Print m(i) Next i m(1) = "Тестик ByVal" End Sub Private Sub MyProcByRef(ByRef m() As String) Dim i As Long For i = 0 To UBound(m) Debug.Print m(i) Next i m(1) = "Тестик ByRef 1" End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 12:13 |
|
||
|
кол-во элементов в массиве
|
|||
|---|---|---|---|
|
#18+
M.. спасиб. Будем разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 14:35 |
|
||
|
кол-во элементов в массиве
|
|||
|---|---|---|---|
|
#18+
AndrF Х-men2Ну короче, я и сам не совсем разобрался что требуется, но вот только в Delphi ссылка создается с помощью символа @. Т.е. допустим Z - массив, @Z - ссылка на массив, но если смотреть на это в debuger(e) то передается не адрес, а сам массив, но это опять же в Delphi, а вот в Basic как?..... F1 и делее ищем ByRef . Нет, с этим беда, Basic не лицензионный(естественно), MSDNa нет... А в инете никак не нарою внятных примеров использования директивы ByRef/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 11:51 |
|
||
|
кол-во элементов в массиве
|
|||
|---|---|---|---|
|
#18+
Парень заморочился. Это Basic, тут усе просто и иногда тупо. По умолчанию все параметры передаются ByRef, т.е. получив параметр в процедуре, ты его меняешь и он меняется во всей проге, ежели написать ByVal, тогда передаешь значение и скока ты его не меняй в процедуре, в основной проге он не измениться. С массивами не морочься, объви его Public и ковыряйся скока хочешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2007, 04:36 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34336650&tid=2164451]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 391ms |

| 0 / 0 |
