Форум: "Основная";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];
ВнизFormat vs Mask Найти похожие ветки
← →
Far (2003-06-28 23:06) [0]Боюсь показаться неучем, но не подскажите ли красивый способ разрешить пользователю ввод в Edit только двух знаков после запятой. Маска не помогает, так как символы все равно вводятся и только потом не отображаются. А мне нужно именно сделать ввод невозможным.
← →
[BAD]Angel (2003-06-28 23:08) [1]Есть такое свойство: MaxLength
← →
Far (2003-06-28 23:11) [2]to [BAD]Angel ©
Но я не хочу ограничивать длину всей строки, а только символов после запятой.
← →
[BAD]Angel (2003-06-28 23:14) [3]тогда предупреди юзверя, что все символы превышающие X после запятой будут игнорироваться и обрезай строку до нужного размера
← →
Song (2003-06-28 23:17) [4]TMaskEdit или анализируй едит на TEdit.onChange
← →
Тих (2003-06-28 23:22) [5]Писал контролчик для ввода сумм... привожу кусочек, могу на мыло выслать.
procedure TDigitEdit.WMChar(var Message: TWMChar);
begin
if (Char(Message.CharCode) = ".") then
Message.CharCode := cardinal(",");
if not (Char(Message.CharCode) in ["0".."9", ","])
then if not (Message.CharCode in [VK_BACK, VK_TAB, VK_CLEAR, VK_RETURN, VK_SPACE]) then
begin
Beep();
Message.Result := 1;
exit;
end;
inherited;
end;
procedure TDigitEdit.WMKillFocus(var Message: TWMSetFocus);
begin
try
if (Trim(Text) = "") then
SetValue(0);
FValue:=StrToFloat(Text);
Text := Format("%0.2f", [FValue]);
inherited;
except
ShowMessage("Неверное значение (не является денежным форматом)");
SetFocus;
Message.Result := 1;
end;
end;
← →
Far (2003-06-28 23:35) [6]to Тих
Идею понял, у самого очень похоже получилось. Но думал, что есть более изящный способ.
← →
Тих (2003-06-28 23:38) [7]ИМХО - вполне нормальный способ ) Delphi умеет далеко не всё. Для каждого проекта приходится кучу контролов доусовершенствовать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c