![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В TEdit - одни цифры и ОДНА запятая? [D7, WinXP]
tolstiak © (2005-01-17 16:09:00)Доброго всем, уважаемые!
С первой частью вопроса я справился :)), т.е. в TEdit одни цифры получаються..... но мне необходимо что бы (как в стандартном калькуляторе) блокировалось повторное нажатие "." или ","... как это сделать?
SergP (2005-01-20 20:54:00) [1]А вообще-то для таких вещей ИМХО существует MaskEdit
tolstiak (2005-01-20 11:32:00) [2]>Style ©
хм... Windows Forms Applications в 8-ке точно можно создавать...
ну да ладно... фигня это все... продавать или выпускать для массового потребления свою программу я не собираюсь... так это скорее для собственного потребления... облегчить учесть иженера-конструктора... :)))
Style (2005-01-19 19:16:00) [3]Под 8-кой я не проверял... 5,6,7 должно работать.
Иерархия в юнитах. Похоже, что у тебя проект .NET -> я в нем ничего не понимаю :( руки пока не доходили и даже желания пока нет или .NET ;)
Скорее всего там можно создавть и Win32 приложения, но не знаю, возможно ли там устанавливать Win32 компоненты??
Может ты чего не так делаешь??
tolstiak (2005-01-19 18:15:00) [4]>Style ©
все как ты написал так я и сделал
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
а тут дает: [Fatal Error] TNMKNumericEdit.pas(6): File not found:'System.Drawing.dcuil'
Может все дело в несовпадении версий у меня: Delphi 8.0 for the Microsoft .NET Framework
Style (2005-01-19 16:51:00) [5]Если ты про мой, то просто добавь в исходник процедуру Register.
Естественно сначала ее объявление перед implementation
procedure Register;
....
implementation
....
procedure Register;
begin
RegisterComponents('NMK Controls', [TNMKNumericEdit]);
end;
Затем жми Component->Install component и указывай файл...
tolstiak (2005-01-19 16:27:00) [6]М-де уж... а еще не подскажите как все эти компоненты подключить? что-то... никак.. :(((
прошу прошения [25]
tolstiak (2005-01-19 13:11:00) [7]Всем!!!большое спасибо за участие!!!!! не дали погибнуть "чайнику"
Style (2005-01-19 13:05:00) [8]Вот мой компонентик.
http://www.hch.ru/Components/NMKLIB/Source/Controls/NMKNumericEdit.pas
ghg (2005-01-19 12:46:00) [9]это что написано в шапке того что есть у меня
///////////////////////////////////////////////
//
// FVG Components Library.
// Components: TFloatEdit
// Requires: none
//
// (C) Damage, Inc. 2001.
// (C) Filippov V. DamageInc@e-mail.ru.
//
// Have a nice DamagIng!
///////////////////////////////////////////////
Developerr (2005-01-19 12:32:00) [10]
> tolstiak
Этот компонент есть в библиотеке RxLibrary и в Jedi JCL/JVCL
Rx Library yужно поискать в интенете, а на Jedi ссылка вот:
http://jvcl.sourceforge.net
tolstiak (2005-01-19 12:12:00) [11]>ghg ©
Большое спасибо!!!
ghg (2005-01-19 11:57:00) [12]ушло
tolstiak (2005-01-19 11:37:00) [13]>ghg ©
если не трудно намыль. буду благодарен.
>Anatoly Podgoretsky ©
"...не позволили тебе самому найти решение."ну почему ж... частично решение есть [20] (правда не совсем устраивает).
>Vit@ly ©
кстати неполенился- ввел код как в [26]... точек (".") сколько угодно можно ввести на "," нереагирует (#0)... вот так.
ghg (2005-01-19 10:12:00) [14]есть готовый компонент который учитывает все выше упомянутые ситуации (и вставку из буфера тоже)
раньше он лежал здесь в кладовке, если надо то могу послать
KADAN (2005-01-19 08:42:00) [15]а вставка??? shift+ins еще не отменяли.
Vit@ly (2005-01-18 21:03:00) [16]2 tolstiak (18.01.05 18:48) [28]
только что делать с таким форматом числа напр:"12,,,,,369" или "12,36626,366"
а ты не поленись и попробуй ввести такое с [26]
Сомневаюсь, что у тебя (или юзера) это получится
Anatoly Podgoretsky (2005-01-18 19:19:00) [17]tolstiak (18.01.05 12:13) [15]
Дык моя задача не дать юзарю не правильно осуществить ввод числа... в этом то и дело...
Дык твоя задача этим и будет решена, кстати ниже (HSolo © (18.01.05 16:46) [26]) тебе дали ее решение, не позволили тебе самому найти решение.
tolstiak (2005-01-18 18:48:00) [18]>Vit@ly ©
Разобраться разберется вот только что делать с таким форматом числа напр:"12,,,,,369" или "12,36626,366", а хотелось бы так: "12,3665" и больше "," быть не должно...
Vit@ly (2005-01-18 18:13:00) [19]procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
If ActiveControl is TEdit then
if not(Key in ['0'..'9', #8, DecimalSeparator]) then Key := #0;
end;
А DecimalSeparator сам разберется, что в текущих настройках, точка или запятая:)
HSolo (2005-01-18 16:46:00) [20]Зачем глобальные флажки-то? Просто проверяйте, есть ли уже в Вашем edit-е DecimalSeparator, и если есть - то не давайте его вводить, примерно так:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (key = DecimalSeparator) then
begin
if (Pos(DecimalSeparator, (Sender as TEdit).Text) > 0) then
key := #0;
end
else
if not (Key in ['0'..'9', #8]) then
key := #0;
end;