Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.09.05;
Скачать: [xml.tar.bz2];

Вниз

Как зафиксировать данные в поле Edit   Найти похожие ветки 

 
user_online   (2010-06-09 13:40) [0]

Добрый день. Скажите если ли уже готовая функция , которая мне поможет зафиксировать данные в Edit. При это нужно чтобы первые 2 символа всегда были фиксированы, остальные можно удалять, но эти первые 2 символа удалить нельзя. Спасибо
например AB1212, при этом AB удалить нельзя.


 
Медвежонок Пятачок ©   (2010-06-09 13:46) [1]

бифопост. если буков нету, дописывать.


 
user_online   (2010-06-09 13:48) [2]

при этом буквы могут повторяться...
ABAB7658


 
Медвежонок Пятачок ©   (2010-06-09 13:50) [3]

и чего?


 
12 ©   (2010-06-09 13:52) [4]

procedure TForm1.Edit1Change(Sender: TObject);
begin
  if pos("12", edit1.Text) <> 1 then
  edit1.Text := "12" + edit1.Text;
  edit1.SelStart := length(edit1.Text);


 
Leonid Troyanovsky ©   (2010-06-09 13:57) [5]


> user_online   (09.06.10 13:40)  

> мне поможет зафиксировать данные в Edit. При это нужно чтобы
> первые 2 символа всегда были фиксированы, остальные можно
> удалять, но эти первые 2 символа удалить нельзя.

TEditMask.

--
Regards, LVT.


 
user_online   (2010-06-09 14:13) [6]

спасибо за помощь..
я ещё так думала
procedure TForm1.Edit1Change(Sender: TObject);
begin
if (Length(Trim(Edit1.Text)) <=2)
then
Edit1.Text := "GG";
Edit1.SelStart :=length(edit1.Text);
end;


 
Медвежонок Пятачок ©   (2010-06-09 14:17) [7]

я ещё так думала

в эдите "GG12345"
стираем "GG"
Длина больше двух.
И мудрый обработчик ни сном ни духом.


 
Медвежонок Пятачок ©   (2010-06-09 14:37) [8]

Edit1.Text := "GG";

Тебя не наводит ни на какие мысли процесс зачисления денег на счет сотового в уличном терминале?

номер телефона начинается с "+7", но юзера никто не заставляет вводить эти символы. тем не менее деньги попадают куда надо.


 
KilkennyCat ©   (2010-06-09 19:49) [9]

неполное тз. как я понял, буквы низзя, цифры можно...
но в духе обсуждения, решение простейшее:

1. при получении фокуса определяем позицию, где кончаются буквы.
2. переводим каретку на эту позицию
3. если SelStart равен или меньше этой позиции, запрещаем кнопку удаление влево.
4. если SelStart меньше этой позиции, запрещаем вообще все, в том числе вставка из буфера.
5. разумеется, все это не в  onChange...


 
KilkennyCat ©   (2010-06-09 19:52) [10]

можно даже не запрещать, можно просто всегда Selstart держать равным или больше.

но проще всего, рядом с этим едитом слева впихнуть лабел, которая будет отображать нередактируемую часть.


 
Leonid Troyanovsky ©   (2010-06-09 20:45) [11]


> KilkennyCat ©   (09.06.10 19:52) [10]

> но проще всего, рядом с этим едитом слева впихнуть лабел,
>  которая будет отображать нередактируемую часть.

Diese L&#246;sung ist akzeptabel.

--
Regards, LVT.


 
Amoeba_   (2010-06-10 11:57) [12]


> рядом с этим едитом слева впихнуть лабел

И для пущей внятности обрамить его "вдавленным" Bevel"ом.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.09.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
15-1276150830
gog
2010-06-10 10:20
2010.09.05
Поблема инстоляции/запуска


2-1275568305
madmech
2010-06-03 16:31
2010.09.05
Подвисает программа после после использования колеса мыши


15-1272040004
Amoeba_
2010-04-23 20:26
2010.09.05
Антивирус McAfee парализовал десятки тысяч компьютеров


2-1276153349
Sergey2
2010-06-10 11:02
2010.09.05
длина запроса в AdoQuery.sql.text


2-1276082458
Delphist2
2010-06-09 15:20
2010.09.05
workbooks в excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский