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

Вниз

Воод чисел с разделителями тысяч   Найти похожие ветки 

 
JIuSS   (2007-03-20 09:37) [0]

Доброго всем дня!
Подскажите пожалуйста, есть ли такой компонент, который при вводе чисел выполнял бы их форматирование на лету? Конкретно необходимо, что число отображалось с разделителями тысяч. Т.е. пользователь вводит 12345, а в эдите отображается 12"345


 
DimaBr   (2007-03-20 09:41) [1]

Под Delphi написано всё что возможно и половина невозможного.

Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.


 
JIuSS   (2007-03-20 09:46) [2]


> DimaBr   (20.03.07 09:41) [1]
> Под Delphi написано всё что возможно и половина невозможного.
>

Пробовал найти что-нить - никакого результата. как написать свой эдит, в голову не приходит (в плане вывода числа)


 
DimaBr   (2007-03-20 10:15) [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;


 
GrayFace ©   (2007-03-23 22:45) [4]

http://www.grayface.nm.ru/RSPak.rar
RSSpinEdit.pas


 
TUser ©   (2007-03-24 08:05) [5]

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.



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

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

Наверх




Память: 0.48 MB
Время: 0.058 c
2-1177586261
allucard
2007-04-26 15:17
2007.05.20
Как напечатать форму, не открывая её полностью?


2-1177530314
Aibolit
2007-04-25 23:45
2007.05.20
как вычесть две даты и получить разницу в днях


2-1177656093
Atb
2007-04-27 10:41
2007.05.20
Проблема с типами


2-1177686183
..::KraN::..
2007-04-27 19:03
2007.05.20
Неправильное отображение страницы в TWebBrowser


3-1172843106
kilya
2007-03-02 16:45
2007.05.20
security.fdb . модификация