Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
Довольно часто сталкиваюсь с необходимостью назначать и считывать значения переменных соот ветсвии с ниже приведёнными примерами. И понимаю, что либо я не знаю азов языка либо он имеет существенные ограничения. Кароче подскажите, как реализовать на VB подобные схемы Для примера 2 примера)) Пример 1: Есть некая база данных, хранящая необходимые значения нужно сделать следующее - присвоить куче переменных с именами Val1 Val2 Val3 Val4 Val5 значение соответсвующих полей в базе данных Например это можно бы сделать так... sDim = Split("Val1 Val2 Val3 Val4 Val5 и так далее") strSQL = "SELECT * FROm BAzaNAme " set tmp = con.EXECUTE(strSQL) for i=0 to Ubound(sDim) sDim(i) = tmp( sDim(i)).value NEXT tmp.close НО!!!! sDim(i) должно быть не значением элемента массива, а переменной с именем sDim(i), тоесть если бы я написал при обращении к базе следующее strSQL = "SELECT * FROm BAzaNAme " set tmp = con.EXECUTE(strSQL) Val1 = tmp("Val1").value Val2 = tmp("Val2").value Val3 = tmp("Val3").value Val4 = tmp("Val4").value tmp.close Пример2: Dim Val1, Val2, Val3, Val4, Val5....и так далее Dim strDIM sDim= split("Val1 Val2 Val3 Val4 Val5...и так далее") далее идёт тело программы , в результате: Val1= TRUE Val2 = TRUE Val3= TRUE Val4 =FALSE Val5 = ..... м так далее Надо, чтобы можно было проверять значения переменных таким образом For fi=1 to ubound(sDim) if Val&Fi then тут одно делаем Else а тут другое End if NEXT Синтаксис Val&Fi естественно не верный. МОЖНО ЛИ ЭТОТ КАК ТО РЕАЛИЗОВАТЬ НА VB и как это будет выглядеть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 04:57 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
может так ? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 10:29 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
Опс)) Спасибо за столь оперативный ответ)) Я наверно забыл сказать в самом начале, что у меня VBScript и старый ASP и я вот ка раз щас думаю переходить на NET и думаю, неадо ли мне осваивать всякие там С# или остатся на VB)) в VBScript вроде как есть поддержка и типов и классов, но я чегото так никогда их не использовал, потому как всё и так получалось)) А щас захотелось удобств)))) Щас буду пытатся запустить ваш код, адаптировав под свой ASP сервер)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 11:22 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
не типов нету в VB)) Это запустить не смогу)) но и так видно что несколько не то)) Поясню чего нужно на словах)) надо, чтоб можно было назначить куче переменных с названиями, такими же как у столбцов в базе данных, значения из нужной строки полученной в ходе запроса. И делать это не руками, а циклом Когда каждый день пишешь обработки всякой байды с кучей свойств, то назначение руками типа asd=tmp("asd") немного надоедает. К тому же база в разработке, и прихдится часто менять название столбцов и потом отлавливать, всё ли правильно переименовалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 11:53 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
wlastasв VBScript вроде как есть поддержка и типов и классов, но ...В VBS нет поддержки ни типов ни классов. wlastasне типов нету в VB)) Это запустить не смогу)) но и так видно что несколько не то)) Поясню чего нужно на словах)) надо, чтоб можно было назначить куче переменных с названиями, такими же как у столбцов в базе данных, значения из нужной строки полученной в ходе запроса. И делать это не руками, а циклом В VB есть поддержка типов и классов. П.э. код, который привел marvan будет работать в VB и не будет в VBS. Назначать переменные вам придется явно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 12:59 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
В каком языке программирования можно задать названия переменным также просто как в моём неработающем примере?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 13:06 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
типов нет, а массивы есть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 13:12 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
marvanтипов нет, а массивы есть ? Массивы есть. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 13:21 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
раз массивы есть, то в моём примере можно обойтись и без типов: Dim fVal(5) Dim fNam(5) и далее везде вместо b(i).fVal использовать fVal(i) b(i).fNam использовать fNam(i) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 13:34 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
я имел в виду не VB а VB Sript, когда писал что нету Типов, в VBsript есть массивы)) Естесвенно)) Я юзаю VB скрирпт в нем нету типов, но есть классы, тоесть можно делать свои конструкции и вызывать чтото типа MyClass.Svoistvo1, но это тутта не подходит. Про VBScript я упоминул тока потому, что тока в нем мог попробовать ваш код, а вообще то я хочу понять можноли осуществить такое назначение на VB, так как перевожу свое приложения на .NET Я страшный лентяй и хочу написать функцию, которая бы считывала в базе нужную строку и в цикле создавала переменные с такими же именами, как названия у столбиков. тоесть чтоб просто писать: f_query "BazaName", "FieldName", FieldValue ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 13:37 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
marvanраз массивы есть, то в моём примере можно обойтись и без типов: Dim fVal(5) Dim fNam(5) и далее везде вместо b(i).fVal использовать fVal(i) b(i).fNam использовать fNam(i) это не катит, так как нужно удобоваримое представление переменных - то есть нормальные имена у них должныбыть а не fVal(56) , так как с ними осуществляется куча операций, и каждый раз лазить в референс помотреть, какой там номер был присвоен значению из нужного столбца абсолютный не реал)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 13:46 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
wlastas ИМХО, вы не сможете сделать то, что вы хотите. Это ведет к генерированию кода, т.е. можно свой AddIn написать к тому IDE, в котором вы работаете, пусть он создает вам код с нужными именами переменных. Хотя может что-то и в Runtime получится, через CallByName например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 13:58 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov Хотя может что-то и в Runtime получится, через CallByName например. ой а че это такое и где про это можно прочитать про CallByName ?? ЗЫ а на С# можно таким образом назначать имена переменным, точнее написать такую функцию, которая это будет делать? я про f_query "BazaName", "FieldName", FieldValue из 2 постов выше...)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 16:16 |
|
||
|
Назначение и считывание значений переменных в цикле...
|
|||
|---|---|---|---|
|
#18+
wlastas ой а че это такое и где про это можно прочитать про CallByName ?? В MSDN вестимо. Нажать F1, ввести в строку Index CallByName и прочитать. wlastas ЗЫ а на С# можно таким образом назначать имена переменным, точнее написать такую функцию, которая это будет делать? я про f_query "BazaName", "FieldName", FieldValue из 2 постов выше...)) Нет. Но в C# можно сделать то, что вам предложил marvan в своем первом посте в этом треде. И что нельзя сделать в VBS. PS: Мой вам совет - бросьте эту вашу затею. Либо обходитесь массивами, либо явно руками пропишите присвоение переменных, либо преходите на ASP.Net и напишите под него код по принципу, предложенному marvan ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 16:35 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32725750&tid=2168796]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 415ms |

| 0 / 0 |
