![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Воод чисел с разделителями тысяч [D7, WinXP]
JIuSS © (2007-03-20 09:37:00)Доброго всем дня!
Подскажите пожалуйста, есть ли такой компонент, который при вводе чисел выполнял бы их форматирование на лету? Конкретно необходимо, что число отображалось с разделителями тысяч. Т.е. пользователь вводит 12345, а в эдите отображается 12'345
TUser (2007-03-24 08:05:00) [1]
unit uMyIntToStr;
interface
function MyIntToStr (I: integer): string;
implementation
uses SysUtils;
function MyIntToStr (I: integer): string;
var J, K: integer;
N: boolean;
_i: integer;
begin
_i := I;
result := '';
N := I < 0;
if N then I := -I;
K := 1; J := I div 10;
while J > 0 do begin
inc (K);
J := J div 10;
end;
J := K + (K div 3);
if K mod 3 = 0 then dec (J);
if N then inc (J);
SetLength (result, J);
K := 0;
repeat
inc (K);
if K mod 4 = 0 then
result[J] := ' '
else begin
result[J] := chr(ord('0') + (I mod 10));
I := I div 10;
end;
dec (J);
until I <= 0;
if N then result[1] := '-';
if StringReplace (result, ' ', '', [rfReplaceAll]) <> inttostr (_i) then begin
writeln;
writeln ('"', result, '" != "', _i, '"');
halt;
end;
end;
end.
GrayFace (2007-03-23 22:45:00) [2]http://www.grayface.nm.ru/RSPak.rar
RSSpinEdit.pas
DimaBr (2007-03-20 10:15:00) [3]
var Flag: boolean;
procedure TForm1.Edit1Change(Sender: TObject);
var S: string;
x,F,i: integer;
begin
if Flag then Exit;
Flag := true;
s := StringReplace(Edit1.Text,' ','',[rfReplaceAll]);
x := Length(S);
i := X-2;
while I > 0 do begin
Insert(' ',s,i);
Dec(i,4);
end;
Edit1.Text := S;
Flag := false;
Edit1.SelStart := Length(Edit1.Text);
end;
JIuSS (2007-03-20 09:46:00) [4]
> DimaBr (20.03.07 09:41) [1]
> Под Delphi написано всё что возможно и половина невозможного.
>
Пробовал найти что-нить - никакого результата. как написать свой эдит, в голову не приходит (в плане вывода числа)
DimaBr (2007-03-20 09:41:00) [5]Под Delphi написано всё что возможно и половина невозможного.
Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.