Автор | Сообщение |
|
| постоянный участник
|
Пост N: 236
Зарегистрирован: 27.07.08
|
|
Отправлено: 08.04.14 21:08. Заголовок: Ведущие нули в текстовом поле
Вроде бы уже давно собрана моя программа и работает нормально. Но тут пришло новое указание - в связи с переделкой формата номера счетов хранить так, чтобы их длина была, как минимум, 10 и при вводе автоматически добавлять нули слева до 10 знаков. Так, номер счёта 123456 должен превратиться в 0000123456 (добавить 4 нуля). Счёт 87654321 выглядит, как 0087654321.
|
|
|
Ответов - 5
[только новые]
|
|
|
| |
Пост N: 3960
Зарегистрирован: 17.05.05
|
|
Отправлено: 08.04.14 21:13. Заголовок: и в чем проблема ?..
и в чем проблема ? PADL(chet,10,"0")
|
|
|
|
| |
Пост N: 3961
Зарегистрирован: 17.05.05
|
|
Отправлено: 08.04.14 21:16. Заголовок: тему перенес GUI тут..
тему перенес GUI тут не при чем
|
|
|
|
| постоянный участник
|
Пост N: 237
Зарегистрирован: 27.07.08
|
|
Отправлено: 08.04.14 21:25. Заголовок: Я знаю про PADL. Но ..
Я знаю про PADL. Но это несколько другое. Нужно, чтобы при вводе было 123456, потом нажимаешь на ENTER - и сохраняется 0000123456. А при редактировании чтобы эти нули не удалялись при случайном нажатии Delete.
|
|
|
|
| |
Пост 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
|
|
|
|
| постоянный участник
|
Пост 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")) //Преобразование после ввода.
|
|
|
|