powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / if s[i] in ['0'..'9',',','.'] then
11 сообщений из 11, страница 1 из 1
if s[i] in ['0'..'9',',','.'] then
    #33433747
tunder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как вот такой код написать на Visual Basic Script

код на Делфи...

i = 0;
repeat
if s in ['0'..'9',',','.'] then
begin
..............
end
else .... ERROR
inc(i);
until (i >= Length(s));

т.е. строка может содеражать только 0-9, "," , "."

спасибо.
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33433830
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim s As String
Dim b As Boolean

s = "1"
b = s Like "[0-9]"
If b Then
    MsgBox "Digit"
Else
    MsgBox "Error"
End If
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33433837
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще есть такая ф-я для этого:
IsNumeric()
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33433856
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Public Function DelphiToVB( _
  strValue As String) As Boolean
    Dim intI As Integer
    
    DelphiToVB = True
    
    For intI =  1  To Len(strValue)
        If (Mid(strValue, intI,  1 ) Like "[0-9]" Or _
          Mid(strValue, intI,  1 ) = "," Or Mid(strValue, intI,  1 ) = ".") Then
            '...
        Else
            DelphiToVB = False
            Exit Function
        End If
    Next
End Function
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33433873
tunder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim s As String
Dim b As Boolean

s = "1"
b = s Like "[0-9]"
If b Then
    MsgBox "Digit"
Else
    MsgBox "Error"
End If


мне не Numreic нужен, проверка на строку 100,43,67,34,002
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33433936
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim s As String
Dim b As Boolean
Dim i As Integer
Dim sInput As String

sInput = "100,43,67,34,002"
s = ""
For i =  1  To Len(sInput)
    s = Mid$(sInput, i,  1 )
    b = s Like "[0-9,.]"
    If b Then
        'work here
    Else
        MsgBox "Error"
        Exit For
    End If
Next
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33434031
tunder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim s As String
Dim b As Boolean
Dim i As Integer
Dim sInput As String

sInput = "100,43,67,34,002"
s = ""
For i =  1  To Len(sInput)
    s = Mid$(sInput, i,  1 )
    b = s Like "[0-9,.]"
    If b Then
        'work here
    Else
        MsgBox "Error"
        Exit For
    End If
Next


Like я не вижу в Help VB Script
ошибка идет при выполенении Sun or Function not defined
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33434045
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это написано на VB, если нужно для VBS, то тогда придется заюзать регулярные выражения, сейчас на поиски названия библиотеки у меня времени нет, сам поищи , что то типа regexp
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33434064
tunder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_Oneэто написано на VB, если нужно для VBS, то тогда придется заюзать регулярные выражения, сейчас на поиски названия библиотеки у меня времени нет, сам поищи , что то типа regexp

спасибо. всем!
временно срочно решил проблему условиями

s = ""
For i = 1 To Len(InputProdID)
s = Mid(InputProdID, i, 1)
if (s=",") or (s="0") or (s="1") or (s="2") or (s="3") or (s="4")_
or (s="5") or (s="6") or (s="7") or (s="8") or (s="9") then
Else
MsgBox "Error"
Exit For
End If
Next
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33434882
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tunder Konst_Oneэто написано на VB, если нужно для VBS, то тогда придется заюзать регулярные выражения, сейчас на поиски названия библиотеки у меня времени нет, сам поищи , что то типа regexp

спасибо. всем!
временно срочно решил проблему условиями

s = ""
For i = 1 To Len(InputProdID)
s = Mid(InputProdID, i, 1)
if (s=",") or (s="0") or (s="1") or (s="2") or (s="3") or (s="4")_
or (s="5") or (s="6") or (s="7") or (s="8") or (s="9") then
Else
MsgBox "Error"
Exit For
End If
Next

if instr(",0123456789",s)=0 then msgbox "error"
...
Рейтинг: 0 / 0
if s[i] in ['0'..'9',',','.'] then
    #33436247
tunder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MX -- ALEX tunder Konst_Oneэто написано на VB, если нужно для VBS, то тогда придется заюзать регулярные выражения, сейчас на поиски названия библиотеки у меня времени нет, сам поищи , что то типа regexp

спасибо. всем!
временно срочно решил проблему условиями

s = ""
For i = 1 To Len(InputProdID)
s = Mid(InputProdID, i, 1)
if (s=",") or (s="0") or (s="1") or (s="2") or (s="3") or (s="4")_
or (s="5") or (s="6") or (s="7") or (s="8") or (s="9") then
Else
MsgBox "Error"
Exit For
End If
Next

if instr(",0123456789",s)=0 then msgbox "error"
да, вот это граммотно и красиво....
спасибо.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / if s[i] in ['0'..'9',',','.'] then
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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