Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

Ввод числа.   Найти похожие ветки 

 
Dmitriy   (2004-01-27 14:52) [0]

Неподскажите как ввести число в поле (например Эдит) в формате:
1
12
123
1 234
12 345
123 456
1 234 567 и.т.д
Просто всё утро ковыряюсь и всё никак... :(


 
SPIRIT ©   (2004-01-27 14:55) [1]

TMaskEdit


 
Dmitriy   (2004-01-27 14:58) [2]

неустраивает.... т.к. он позволяет тыкать мышой в любое место строки, а этого не должно быть...
Или я просто неразобрался с ним.... Пытался с час, но ничего путного не смог наваять :(


 
Dmitriy   (2004-01-27 15:01) [3]

Если MaskEdit это может, то не подскажети маску?


 
SPIRIT ©   (2004-01-27 15:04) [4]

000\ 000\ 000;1;_


 
Dmitriy   (2004-01-27 15:06) [5]

Эта не подходит, я уже пробовал... она вводит 123 45 например,
а мне надо 12 345.. :(


 
Dmitriy   (2004-01-27 15:07) [6]

Хотелось бы чтоб на экране это отображалось непосредственно во время ввода....


 
SPIRIT ©   (2004-01-27 15:11) [7]

ну тогда тебе надо над обычным эдитом извращаться ...


 
Dmitriy   (2004-01-27 15:13) [8]

Вот в том и проблема, я с ним любовью уже битых 3-4 часа занимаюсь и всё никак... Поэтому и полез сюда... Мож кто поможет...:(


 
Романов Р.В. ©   (2004-01-27 15:16) [9]

Двигайся в этом направлении

procedure TForm1.Edit1Change(Sender: TObject);
var
d: TNotifyEvent;
function A(s: string): string;
begin
Result := S;
while Pos(ThousandSeparator, Result) > 0 do
delete(Result, Pos(ThousandSeparator, Result), 1)
end;
begin
d := Edit1.OnChange;
Edit1.OnChange := nil;
Edit1.Text := formatfloat("#,##0", StrToIntdef(A(Edit1.Text), 0));
Edit1.OnChange := d;
end;


 
SPIRIT ©   (2004-01-27 15:19) [10]

ты объясни сначала.. зачем такая супер модная вещь нужна ? может оно того и не стоит ???
а так вроде не сложно... вытаскиваешь текст эдита, и с конца в начало посимвольно (кроме пробелов) пробегаешься в новую строчку записываешь три символа и пробел.. опять три символа и пробел ... и т.д и т.п. ... вешаеншь на OnChange и все..


 
Dmitriy   (2004-01-27 15:32) [11]

Романов Р.В.

Работает только с 4-м символом потом неочень:) После ввода четвёртого курсор переноситься в начало строки и пишется ДО введённого ранее... Буду думать...

SPIRIT

Нужно это для одной бугалтерской базы данных, а так как всё солидно то приходиться голову ломать... Если учитывать, что прогаю я ещё плохенько:)


 
SPIRIT ©   (2004-01-27 15:34) [12]

procedure TForm1.Edit1Change(Sender: TObject);
var str,st:string;
i,g:integer;
begin
g:=0;
st:="";
str:=edit1.Text;
for i:=length(str) downto 1 do
begin
if g=3 then
begin
st:=st+" ";
g:=0;
end ;
if str[i]<>" " then
begin
g:=g+1;
st:=st+str[i];
end;

end;
edit2.Text:=st;
end;

тут выводиться в другой эдит... и перевернуть строку еще надо .. ну я думаю ты справишься... работает хоть с 1000 символов :))
все рабочий день закончился .. я убегаю


 
Dmitriy   (2004-01-27 15:40) [13]

SPIRIT

Спасибо щас попробую


 
Dmitriy   (2004-01-27 15:52) [14]

ЗАРАБОТАЛО!!!! Всем спасибо за помощ! Премного благодарен... Если возникнут ещё вопросы обязательно обращусь!



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

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
1-16452
td
2004-01-27 21:12
2004.02.06
как перебрать объекты на форме


14-16698
Fants
2004-01-16 11:08
2004.02.06
Перенос Delphi c одного Win2000 на другой win2000


4-16789
mRodion
2003-12-02 10:24
2004.02.06
Сделать элемент TlistView в фокусе


4-16795
A.M.D.F.
2003-11-29 18:14
2004.02.06
Недра NTFS


3-16046
Talla2k
2004-01-13 01:25
2004.02.06
Alter table(в Oracle)