Страница: 1 |
Вопрос: задание значений массива табличным способом | Добавлено: 03.08.04 11:19 |
Автор вопроса: ![]() |
Народ, как в VB6 можно задать массив, табличным способом, например как в С int[n]={1,2,...}, я посмотрел MSDN для VB.NET там так:
Private a As Integer() = { 0, 2, 4, 6, 8 }, но в VB6 это не работает,или в в VB6 только так а(1)=...; а(2)=... ? |
Ответы | Всего ответов: 12 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 03.08.04 11:24 |
да, инициализация массива т.о. не предусмотрена в VB6, так что остается один спооб... |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 6 Ответов: 35 |
Профиль | Цитата | #2 | Добавлено: 03.08.04 11:28 |
sne, спасибо за ответ, очень жаль, что так нельзя, а то у меня много табличных данных, набивать долго, да и нечитабельно будет |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 03.08.04 16:02 |
Variant - можно
dim a() a()=array(1,2,3,4,5,4,3,2,1) |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 6 Ответов: 35 |
Профиль | Цитата | #4 | Добавлено: 04.08.04 09:34 |
Sharp, спасибо, но у меня один массив стринговый, придется последовательно вбивать |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 05.08.04 01:19 |
for i=0 to ubound(b)
b(i)=cstr(a(i)) next ![]() |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 05.08.04 01:32 |
медленно и не оправдано... |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 05.08.04 01:37 |
Переработал код Sharp'а
![]() a() = Array(1, 2, 3, 4, 5, 4, 3, 2, 1) ReDim b(UBound ![]() For i = 0 To UBound ![]() b(i) = a(i) Next Erase a У VB по умолчанию тип Variant. По этому все операции адаптированы под него. Не хочешь придерживаться правил - шевели извилиной. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 6 Ответов: 35 |
Профиль | Цитата | #8 | Добавлено: 05.08.04 09:45 |
Ребята, дело в том, что мне не число надо перевести в строку и обратно, а сделать преобразование текстового шестнадцатеричного например "00","01",... "0А",... в настоящий эквивалент шестнадцатеричного, 0х00, 0х01,... 0х0А,... и я решил сделать преобразование через таблицу, хотя может я и не прав может, как-то еще можно, но я не нашел иного способа, если знаете, подскажите.
А вообще ситуация у меня такая: VB собирает данные и заносит в базу, далее передает данные(через файл) проге на С, та считает и выдает коэффициенты(опять же через файл), но!!! Файл текстовый и в шестнадцатеричной системе числа тяжело передавать нормальным образом, нужен двоичный, я вот даже думаю сегодня этим заняться(для этого спрошу на форуме отдельной темой). Если у кого есть какие-либо идеи по обмену между прогами и работе с двоичными файлами-пишите, народ вы грамотный можете толковое посоветовать. |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 10 Ответов: 387 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 05.08.04 11:54 |
ну тогда делай так .. и забудь про таблицу...
Dim test as byte test = val("&H" & "0A" ![]() будет тебе перменная test содержать число 10 +) вместо "0А" подставляй своё значение строковой переменной.... |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 6 Ответов: 35 |
Профиль | Цитата | #10 | Добавлено: 05.08.04 12:14 |
Fallout, спасибо, а я считал, что ф-ция Val приводит к типу double, ну и решил, что это не будет работать... |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 05.08.04 14:49 |
В VB с типами совсем хорошо жить... несоответствия возникают только при критических ошибках ![]() Что несомненно ускоряет создание программы ![]() |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 05.08.04 16:06 |
А если любишь извращения, то можно так:
a(asc("1" ![]() ... a(asc("F" ![]() А потом просто for i=len(h) to 1 step -1 res=res+a(asc(mid(h,i,1)))*16^(len(h)-i) next Правда, VBшный способ быстрее раз в 7... |
Страница: 1 |
|