powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ошибка вызова Left в VBScript под ASP
5 сообщений из 5, страница 1 из 1
Ошибка вызова Left в VBScript под ASP
    #32647066
Гэст
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Возникла небольшая проблема с VBScript под ASP.

Кусок кода

Dim fso, f, fc, wat_i
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(Server.MapPath("dc_protocols"))
Set fc = f.Files
For each fn in fc
wat_i = InStr(1, fn.name, "_")
if Left(fn.name, wat_i - 1) = Global_ShortName then ' это и есть [line 300]
Response.Write("<tr><td>")
Response.Write("<a href=" & chr(34) & "dc_protocols/" & fn.name & _
chr(34) & ">" & Right(fn.name, Len(fn.name) - wat_i) & "</a><br>")
Response.Write("</td></tr>")
end if
Next

заставляет IIS ругаться в стиле

Error Type:
Ошибка выполнения Microsoft VBScript (0x800A0005)
Недопустимый вызов или аргумент процедуры: 'Left'
/dzo.asp, line 300.

Синтаксис Left'а вроде бы стандартный, без изысков. В чем дело, не пойму. Может
быть, кто-то сталкивался?
...
Рейтинг: 0 / 0
Ошибка вызова Left в VBScript под ASP
    #32647128
Flexo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверь wat_i на NULL и на 0
...
Рейтинг: 0 / 0
Ошибка вызова Left в VBScript под ASP
    #32647350
Гэст
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного изменил тело цикла. Странно то, что на страницу выдаются ненулевые значения wat_i, а условие (wat_i <> 0) and (wat_i <> Null) все равно возвращает "ложь".

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
For each fn in fc
   wat_i =  InStr( 1 , fn.name, "_")
   Response.write(CStr(wat_i)&"_")
   if (wat_i <>  0 ) and (wat_i <> Null) then
      wat_str =  Left(fn.name, wat_i -  1 )
      if Global_ShortName =  wat_str then
         Response.Write("<tr><td>") 
         Response.Write("<a href=" & chr( 34 ) & "dc_protocols/" & fn.name & chr( 34 ) & ">" & Right(fn.name, Len(fn.name) - wat_i) & "</a><br>")
         Response.Write("</td></tr>")  
      end if
   end if
Next	   
...
Рейтинг: 0 / 0
Ошибка вызова Left в VBScript под ASP
    #32647384
Гэст
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В этой редакции все работает, как надо. Но почему, например, не работала предыдущая?..

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
		   For each fn in fc
		   		wat_i =  InStr( 1 , fn.name, "_")
'				Response.write(CStr(wat_i)&"_")
				if (CStr(wat_i) <> "0") and (CStr(wat_i) <> "") then
					wat_str =  Left(fn.name, wat_i - 1)
		   			if Global_ShortName =  wat_str then
				   		Response.Write("<tr><td>") 
						Response.Write("<a href=" & chr(34) & "dc_protocols/" & fn.name & chr(34) & ">" & fso.GetBaseName(Right(fn.name, Len(fn.name) - wat_i)) & "</a><br>")
						Response.Write("</td></tr>")  
					end if' fn.name)
				end if
		   Next	   
...
Рейтинг: 0 / 0
Ошибка вызова Left в VBScript под ASP
    #32647427
Фотография timda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(CStr(wat_i) <> "")

wat_i - если будет NULL - будет ексепшн,
но здесь вроде оно не может им быть

я иногда делаю так CStr(wat_i & "")

$-)

timda.ru
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ошибка вызова Left в VBScript под ASP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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