powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать запись в TextBox по маске в VB6
17 сообщений из 17, страница 1 из 1
Как сделать запись в TextBox по маске в VB6
    #38586986
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сделать запись в TextBox по маске (00.00.0000)в VB6.
Так, чтобы во время записи текста он автоматически вставлял разделительные знаки.
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38586990
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использую вот такую штуку для ввода телефонных номеров - сделайте по аналогии
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587142
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Спасибо за пример. Что то не получается у меня вводить дату в формате дд.мм.гггг в TextBox или в Label.
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587146
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8в Label.метки не предназначены для ввода текста
vasiliw8что то не получаетсячто-то делаешь не так

в моем коде есть что-то непонятное?
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587192
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Спасибо. Вроде бы все понятно но не совсем.
Не обижайся, я не программист и пользуюсь VB6 редко, чтобы создать программы для себя. Если не трудно, покажи как вводить в TextBox дату в формате дд.мм.гггг.
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587198
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что будет дальше? еще что-то за тебя написать, еще что-то.... лучше сам, я ж уже и удочку дал.

Последние четыре строки программы вставляют в форматируемый телефонный номер четыре символа. Надо всего лишь переделать их на две строки, чтобы вставлялось два символа (точки) в твою дату.
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587240
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
У меня не получается сделать два символа перед первой точкой, все время вылезают три символа.
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587254
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отсюда мне не очень видно твой экран... (
Покажи, что получилось
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587268
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Option Explicit
Private NonUserChanged As Boolean

Private Sub fdCellularPhone1_Change()

PhoneChange fdCellularPhone1

End Sub
Private Sub PhoneChange(Field As TextBox)

Dim l As Integer
If NonUserChanged Then Exit Sub
l = Field.SelStart
NonUserChanged = True
Field.Text = FormatAsPhone(Field.Text, l)
NonUserChanged = False
Field.SelStart = l

End Sub

Public Function FormatAsPhone(ByVal Str As String, Optional ByRef Cursor As Integer = 0) As String

Dim i As Integer, k As String
k = ""
For i = 1 To Len(Str)
  If Mid$(Str, i, 1) Like "[0-9]" Then
    k = k + Mid$(Str, i, 1)
  Else
    Cursor = Cursor - 1
  End If
Next

i = Len(k)
If i > 0 Then FormatAsPhone = Mid$(k, 1, 3): Cursor = Cursor + 1
If i > 3 Then FormatAsPhone = FormatAsPhone + "." + Mid$(k, 4, 3): Cursor = Cursor + 2
If i > 6 Then FormatAsPhone = FormatAsPhone + "." + Mid$(k, 7, 4): Cursor = Cursor + 1


В таком положении запись в получается xx.xxx.xxxx, а надо xx.xx.xxxx
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587271
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Ошибка.
Должно быть так:
В таком положении запись в получается xxx.xxx.xxxx, а надо xx.xx.xxxx
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587291
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
If i > 0 Then FormatAsPhone = Mid$(k, 1, 3): Cursor = Cursor + 1
If i > 3 Then FormatAsPhone = FormatAsPhone + "." + Mid$(k, 4, 3): Cursor = Cursor + 2
If i > 6 Then FormatAsPhone = FormatAsPhone + "." + Mid$(k, 7, 4): Cursor = Cursor + 1
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587302
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Так ничего не изменилось в коде, этот код такой же каким был.
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587305
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Что означают выделенные цифры?
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587306
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8ничего не изменилосьа должно измениться
в тех местах, которые я выделил красным
ты берешь три цифры, а потом удивляешься, что у тебя на выходе получаются три цифры. неужели ты думаешь, что если в телефоне заменить скобки и тире на точки, то он волшебным образом превратится в дату.
я не издеваюсь, я просто хочу, чтобы была включена голова, если ты пишешь программы для себя, и даже хочешь использовать маскированный ввод, то уж такую элементарную функцию как Mid$ стоит освоить.
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587314
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Большое спасибо! Включил, разобрался и получилось.
Теперь это выглядит так:
Код: vbnet
1.
2.
3.
If i > 0 Then FormatAsPhone = Mid$(k, 1, 2): Cursor = Cursor + 1
If i > 1 Then FormatAsPhone = FormatAsPhone + "." + Mid$(k, 3, 2): Cursor = Cursor + 1
If i > 3 Then FormatAsPhone = FormatAsPhone + "." + Mid$(k, 5, 4): Cursor = Cursor + 1
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587392
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8, в такой последовательности строк, если и = 9, тогда что во все ветки войдёт?
...
Рейтинг: 0 / 0
Как сделать запись в TextBox по маске в VB6
    #38587494
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа,
Если и=9 будет дополнительная строка, то изменится маска, а если одна из текущих, то запись в TextBox остановится перед выполнением строки начинающейся с и=9 (я так думаю), но ты можешь проверить, в ветке есть весь код, и как мне советовали включайся и разбирайся.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать запись в TextBox по маске в VB6
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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