Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Проверка переменной


Автор: Flotskiy 18.5.2006, 06:22
Доброе утро всем!

Подскажите на такой вопрос:
в TextBox'е сделали такую  запись 
"12/06 или 123"
Как при сохранении произвести проверку
Код

Private Sub Data1_Validate(Action As Integer, Save As Integer)
    If Text1.Text не имеет на конце слэш (/) и две цифры THEN
        Text1.Text = Text1.Text & "/" & Right(Year(Date), 2)
    End If
End Sub



С уважением
 

Автор: boevik 18.5.2006, 07:16
Text1.Text не имеет на конце слэш (/) и две цифры  эквивалент
Код

not(mid(Text1.Text ,len(Text1.Text-2),1) = "/" and isNumeric(right(Text1.Text, 2)))
 

Автор: Тутанхамец 18.5.2006, 07:21
Оператор Like.

Код

If Text1.Text like "##/## или ###" THEN
        Text1.Text = Text1.Text & "/" & Right(Year(Date), 2)


Но маску я, скорее всего, задал неправильно, т.к. не вполне понял, какая строка тебе нужна.  

Автор: Flotskiy 18.5.2006, 08:43
boevik 
Код

IF not(mid(Text1.Text ,len(Text1.Text[B]-[color=red][/color][/B]2),1) = "/" and isNumeric(right(Text1.Text, 2))) Then

 В данной строке выделяет "-" и выдает:
Код

Compile error:
Variable required-can't assign to this expression

Что исправить?
 

Автор: boevik 18.5.2006, 08:46
Ну забыл закрыть скобочку, я же не компилятор.
ПО идее, должно выглядеть так:
Код

not(mid(Text1.Text ,len(Text1.Text)-2,1) = "/" and isNumeric(right(Text1.Text, 2)))
 

Автор: Flotskiy 18.5.2006, 08:54
Благодарю всех!
В отделе кадров работает моя прога на выдаче удостоверений, куда надо вставлять регистрационный номер данного документа.
Кто пишет "22" - то все норме, при сохранении автоматом добавляется "/06" (две последние цифры тек. года и получается "22/06"
 а кто "22/06" то получается "22/06/06". Ошибка

Вот так работает:
Код

    If Text1.Text Like "*#/##" Then
        Text1.Text = Text1.Text
    Else
        Text1.Text = Text1.Text & "/" & Right(Year(Date), 2)


Всего доброго   

Автор: Тутанхамец 18.5.2006, 09:34
Работает-то оно работает, но строчка 

Код

        Text1.Text = Text1.Text


чересчур, на мой взгляд, симметрична smile 


Тогда уж:
Код

  If not (Text1.Text Like "*#/##") Then
        Text1.Text = Text1.Text & "/" & Right(Year(Date), 2)



Впрочем, это уже нюансы... smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)