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

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

Последние четыре строки программы вставляют в форматируемый телефонный номер четыре символа. Надо всего лишь переделать их на две строки, чтобы вставлялось два символа (точки) в твою дату.
...
Рейтинг: 0 / 0
15.03.2014, 19:57
    #38587240
vasiliw8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
Shocker.Pro,
У меня не получается сделать два символа перед первой точкой, все время вылезают три символа.
...
Рейтинг: 0 / 0
15.03.2014, 20:30
    #38587254
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
Отсюда мне не очень видно твой экран... (
Покажи, что получилось
...
Рейтинг: 0 / 0
15.03.2014, 20:56
    #38587268
vasiliw8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
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
15.03.2014, 20:58
    #38587271
vasiliw8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
Shocker.Pro,
Ошибка.
Должно быть так:
В таком положении запись в получается xxx.xxx.xxxx, а надо xx.xx.xxxx
...
Рейтинг: 0 / 0
15.03.2014, 21:33
    #38587291
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
Код: 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
15.03.2014, 21:55
    #38587302
vasiliw8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
Shocker.Pro,
Так ничего не изменилось в коде, этот код такой же каким был.
...
Рейтинг: 0 / 0
15.03.2014, 22:03
    #38587305
vasiliw8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
Shocker.Pro,
Что означают выделенные цифры?
...
Рейтинг: 0 / 0
15.03.2014, 22:03
    #38587306
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
vasiliw8ничего не изменилосьа должно измениться
в тех местах, которые я выделил красным
ты берешь три цифры, а потом удивляешься, что у тебя на выходе получаются три цифры. неужели ты думаешь, что если в телефоне заменить скобки и тире на точки, то он волшебным образом превратится в дату.
я не издеваюсь, я просто хочу, чтобы была включена голова, если ты пишешь программы для себя, и даже хочешь использовать маскированный ввод, то уж такую элементарную функцию как Mid$ стоит освоить.
...
Рейтинг: 0 / 0
15.03.2014, 22:29
    #38587314
vasiliw8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
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
16.03.2014, 08:22
    #38587392
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
vasiliw8, в такой последовательности строк, если и = 9, тогда что во все ветки войдёт?
...
Рейтинг: 0 / 0
16.03.2014, 14:34
    #38587494
vasiliw8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запись в TextBox по маске в VB6
катастрофа,
Если и=9 будет дополнительная строка, то изменится маска, а если одна из текущих, то запись в TextBox остановится перед выполнением строки начинающейся с и=9 (я так думаю), но ты можешь проверить, в ветке есть весь код, и как мне советовали включайся и разбирайся.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать запись в TextBox по маске в VB6 / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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