Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизВвод числа. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.028 c