Показать полную графическую версию : [решено] VBS - Разделение строки
Ragnazar
08-09-2012, 10:28
Как разделить полученую в результате InputBox строку?
Например пользователь ввел login@site.ru
Как вывести yandex.ru (или другой сайт который после @) в отдельную переменную?
(Что-бы не спрашивать у пользователя лишний раз будет "smtp." & SiteVar)
Dim arrValues
arrValues = Split("login@site.ru", "@")
WScript.Echo arrValues(1)
Возможно и просто:
WScript.Echo Split("login@site.ru", "@")(1)
Ragnazar
09-09-2012, 12:28
Что не так?
Dim Server
Dim From
From = InputBox("Ваша почта:", "SaVlad @-mail v2", "User@site.ru")
Server = Split("" & From, "@")
WScript.echo("" & Server)
Ошибка
Строка 6 Символ 1
Несоответствие типа
Так-же и с MsgBox
1. «"" & …» — лишнее.
2. При «WScript.Echo» скобки не нужны.
3. Ошибка
Строка 6 Символ 1
Несоответствие типа »
Метод «.Echo» не может осуществлять вывод данных агрегатного типа, … которым у Вас является «Server»:
From = InputBox("Ваша почта:", "SaVlad @-mail v2", "User@site.ru")
Server = Split(From, "@")
WScript.Echo TypeName(Server)
в данном случае — массив:
Variant()
. Но можно вывести отдельно взятый элемент массива.
Посему правильным написанием будет являться:
Dim Server
Dim From
From = InputBox("Ваша почта:", "SaVlad @-mail v2", "User@site.ru")
Server = Split(From, "@")
WScript.Echo Server(1)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC