Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В TEdit - одни цифры и ОДНА запятая? [D7, WinXP]


Страницы:   1 2 3

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;


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо