On-line: Andrey, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 236
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 08.04.14 21:08. Заголовок: Ведущие нули в текстовом поле


Вроде бы уже давно собрана моя программа и работает нормально. Но тут пришло новое указание - в связи с переделкой формата номера счетов хранить так, чтобы их длина была, как минимум, 10 и при вводе автоматически добавлять нули слева до 10 знаков. Так, номер счёта 123456 должен превратиться в 0000123456 (добавить 4 нуля). Счёт 87654321 выглядит, как 0087654321.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 5 [только новые]


администратор




Пост N: 3960
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.04.14 21:13. Заголовок: и в чем проблема ?..


и в чем проблема ?

PADL(chet,10,"0")

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3961
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.04.14 21:16. Заголовок: тему перенес GUI тут..


тему перенес GUI тут не при чем

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 237
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 08.04.14 21:25. Заголовок: Я знаю про PADL. Но ..


Я знаю про PADL. Но это несколько другое. Нужно, чтобы при вводе было 123456, потом нажимаешь на ENTER - и сохраняется 0000123456. А при редактировании чтобы эти нули не удалялись при случайном нажатии Delete.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 24
Зарегистрирован: 20.04.07
ссылка на сообщение  Отправлено: 09.04.14 01:58. Заголовок: Например, можно сделать так


Например, можно сделать так:

Ииспользовать для редактирования такого поля временную переменную

Номер счета храним в сивольном поле "NUM_SCHET", "C", 10, 0

При редактировании этого поля делаем так:

IF FIELDPOS("NUM_SCHET") != 0

nTemp := VAL(FIELDGET(FIELDPOS("NUM_SCHET")))

// Вводим новый номер или редактирум старый без ведущих нулей.

@ 10, 10 SAY "Номер счета: " GET nTemp PICTURE "@B 9999999999"
READ

REPLACE NUM_SCHET WITH PADL(nTemp, 10, "0")

ENDIF

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 238
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 09.04.14 11:40. Заголовок: Ну, я уже и сам разо..


Ну, я уже и сам разобрался. Делается это с помощью элемента TEXTBOX библиотеки MiniGUI
А именно

 
@380,100 TEXTBOX txtAccount;
VALUE cAccount INPUTMASK '9999999999'; //Десять цифр
ON ENTER IIF(LEN(ALLTRIM(wndEdit.txtAccount.Value))<10,wndEdit.txtAccount.Value:=;
PADL(ALLTRIM(wndEdit.txtAccount.Value),10,"0")) //Преобразование после ввода.


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет