Главная страница
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.049 c
8-1157620564
ScoPal
2006-09-07 13:16
2007.05.20
Play List


2-1173078223
MZ
2007-03-05 10:03
2007.05.20
dbGridEh и CheckBox


1-1174916951
Dismember
2007-03-26 17:49
2007.05.20
Поддержка горячих мультимедиа клавиш


2-1177419557
bagos
2007-04-24 16:59
2007.05.20
закраска ячеек в гриде


2-1177742824
Gloomer
2007-04-28 10:47
2007.05.20
ODBC и база dBase3